我们在转换预应变张量流模型时遇到问题,我们将该模型作为以下文件
snapshot_140.ckpt.index
snapshot_140.ckpt.meta
snapshot_140.ckpt.data-00000-of-00001
当我们使用转换后的tflie文件进行预测时,所有的预测在加载正常的张量流模型时都给出了正确的回归预测
我们得到了上面的这些文件,从ckpt文件到张量流.pb图的转换是通过tensorflow.python.tools.freeze_graph工具进行的
然后TFlite_converter转换为 tflite 的工具
.pb在制作成tensorflow模型时效果良好。但tflite模型生成所有nan输出
一个(潜在的解决方案)来自这个问题:https://github.com/tensorflow/tensorflow/issues/22803?fbclid=IwAR0x25CEZjHAQ0dUFBVWa1V3lVcCVIpT4q7lbUUGS9T59w2aXqnUVtNCBHI#issuecomment-474249701
那幺,如果只给ckpt文件设置batch_ norm is_?
如果这真的是问题的解决方案
或者,我们应该如何修复tensorflow lite模型,以获得与tensorflow模型相同的输出
该代码用于获得tensorflow lite模型,该模型给出了nans
import tensorflow as tf
with tf.Session(config=tf.ConfigProto(allow_soft_placement=True,
log_device_placement=True)) as sess:
saver = tf.train.import_meta_graph('snapshot_140.ckpt.meta')
saver.restore(sess, "snapshot_140.ckpt")
inp = tf.get_default_graph().get_tensor_by_name("tower_0/Placeholder:0")
out = tf.get_default_graph().get_tensor_by_name("tower_0/out/BiasAdd:0")
print(out)
converter = tf.contrib.lite.TFLiteConverter.from_session(sess, [inp], [out])
tflite_model = converter.convert()
open("converted_model.tflite", "wb").write(tflite_model)
基本上,如果无法访问代码/架构,我甚至不知道如何运行推理!如果你不能运行推理,那么检查点有什么好处:)…我是这样解决的..我确实可以访问完整代码(EAST文本检测)和
如果此解决方法没有帮助,请道歉
在使用进行实验时,我在将转换为时遇到了一个问题。 这是我的设置: 如果有人能解释转换失败的原因,那就太好了。
TensorFlow-Lite Android演示与它提供的原始模型mobileNet_quant_v1_224.tflite一起工作。参见:https://github.com/tensorflow/tensorflow/tree/master/tensorflow/contrib/lite 他们还在这里提供了其他预训练的lite模型:https://github.com/tensorflow/
我目前正在尝试将RNN模型转换为TF lite。在多次尝试失败后,我尝试运行此处存储库中给出的示例。由于层定义位置的变化,这也引发了错误。一旦修复了下面的代码 我继续出错 在使用tf.compat.v1.disable\u eager\u execution()禁用渴望执行后,我得到了错误 有人有在TensorFlow 2.0中将RNN(LSTM、GRU、CustomRNN)转换为TFLite的工
我从Tensorflow Hub重新训练了一个mobilenet-v1图像分类模型,并使用toco对其进行转换,以便使用Tensorflow Lite进行推断。 但是,当我使用tflite模型运行推断时,它需要与我使用指定的输入大小不同的输入大小。 我如何在自己的数据上重新训练一个mobilenetv1量化模型? 下面是我尝试的步骤: > 从tensorflow for poets Codelab
(基本)C:\TensorFlow-master>Bazel run--Config=opt\//TensorFlow/contrib/lite/toco:toco--\--input_file=optimized_graph.pb\--output_file=abc.tflite\--input_format=tensorFlow_graphdef\--output_format=tflite\
我在Tensorflow中训练了一个模型,因此可以产生的最大产出值为1.0。然后我将其转换为Tensorflow Lite以安装在android上,现在Tensorflow Lite模型产生的值远大于1.0。我可以做些什么来解决这个问题? 我用的是Tensorflow 2.5 tf模型-