首页 > 解决方案 > 模型转换时如何更改批量大小?

问题描述

2019-04-19 09:53:07.409720: F tensorflow/lite/toco/tooling_util.cc:1449] Check failed: batch == 1 (128 vs. 1)
Fatal Python error: Aborted

Current thread 0x00007f39d5ad9700 (most recent call first):
  File "/home/yuchen/anaconda2/envs/tryTF/lib/python3.6/site-packages/tensorflow/lite/toco/python/toco_from_protos.py", line 33 in execute
  File "/home/yuchen/anaconda2/envs/tryTF/lib/python3.6/site-packages/absl/app.py", line 251 in _run_main
  File "/home/yuchen/anaconda2/envs/tryTF/lib/python3.6/site-packages/absl/app.py", line 300 in run
  File "/home/yuchen/anaconda2/envs/tryTF/lib/python3.6/site-packages/tensorflow/python/platform/app.py", line 40 in run
  File "/home/yuchen/anaconda2/envs/tryTF/lib/python3.6/site-packages/tensorflow/lite/toco/python/toco_from_protos.py", line 59 in main
  File "/home/yuchen/anaconda2/envs/tryTF/bin/toco_from_protos", line 10 in <module>
Aborted (core dumped)

_____________错误信息在上面_______

我尝试将 tf(.pb) 模型转换为 tflite(.tflite) 模型。似乎转换器只会接受 batch_size==1 并且它不能自动将 batch_size 从 128(我的训练批次)更改为 1。

Batch_size 1 和 128 都试过了,但都不起作用。

import tensorflow as tf
convert= tf.lite.TFLiteConverter.from_frozen_graph("frozen.pb",input_arrays=["Placeholder_2"],output_arrays=["l2_normalize"],input_shapes={"Placeholder_2":[128, 100, 129]})
tflite_model=convert.convert()
open("model.tflite","wb").write(tflite_model)

如何将批量大小更改为 1

标签: tensorflow-lite

解决方案


推荐阅读