Tensorflow TF-Lite toco转换器,缺少oneshot迭代器运算

时间:2018-12-24 12:13:43

标签: python tensorflow tfrecord toco

我正在尝试通过TF-Lite toco转换器转换简单模型:

y_train = simple_model() #simple feed forward model
train_it = self.train_data.make_one_shot_iterator()
train_key, train_img, train_lab = train_it.get_next()
converter = tf.contrib.lite.TocoConverter.from_session(sess, [train_img], [y_train])
tflite_model = converter.convert()
open("converted_model.tflite", "wb").write(tflite_model)

但是由于我正在使用尚不支持的oneshot迭代器,它给出了一个错误。我正在从Tensorflow记录中获取数据,并且正在使用Tensorflow 1.9。

  

转换不受支持的操作:OneShotIterator
  2018-12-24 12:56:18.134447:[tensorflow / contrib / lite / toco / import_tensorflow.cc:1366]
  转换不受支持的操作:IteratorGetNext
  2018-12-24 12:56:18.136355:[tensorflow / contrib / lite / toco / graph_transformations / graph_transformations.cc:39]
  删除未使用的操作之前:16个运算符,25个数组(0个已量化)
  2018-12-24 12:56:18.136441:[tensorflow / contrib / lite / toco / graph_transformations / graph_transformations.cc:39]
  在进行一般图形转换之前:16个运算符,25个数组(0个量化)
  2018-12-24 12:56:18.136605:[tensorflow / contrib / lite / toco / graph_transformations / graph_transformations.cc:39]
  通用图形转换通过1:6个运算符后,有13个数组(0个量化)
  2018-12-24 12:56:18.138847:[tensorflow / contrib / lite / toco / graph_transformations / graph_transformations.cc:39]
  常规图形转换通过2次后:5个运算符,11个数组(0个量化)
  2018-12-24 12:56:18.138901:[tensorflow / contrib / lite / toco / graph_transformations / graph_transformations.cc:39]
  常规图形转换通过3后:4个运算符,9个数组(0个量化)
  2018-12-24 12:56:18.138919:[tensorflow / contrib / lite / toco / graph_transformations / graph_transformations.cc:39]
  在去量化图形转换之前:4个运算符,9个数组(0个量化)
  2018-12-24 12:56:18.138942:[tensorflow / contrib / lite / toco / allocate_transient_arrays.cc:329]
  临时数组分配的总大小:0个字节,理论上的最佳值:0个字节。
  2018-12-24 12:56:18.139043:[tensorflow / contrib / lite / toco / tflite / export.cc:330]
  标准TensorFlow Lite运行时不支持模型中的某些运算符。如果您有针对他们的自定义实现,则可以使用--allow_custom_ops或通过在调用allow_custom_ops=True时设置tf.contrib.lite.toco_convert()来禁用此错误。以下是需要自定义实现的运算符的列表:IteratorGetNextOneShotIterator
  中止(核心已弃用)

所以我的问题是:什么是使模型可转换的简单替代方法?另外,由于转换后的模型将仅用于对单个图像进行预测,是否有可能从转换中排除“训练”图像管道?

0 个答案:

没有答案