Python 如何在RaspberryPi上运行TFLite模型

Python 如何在RaspberryPi上运行TFLite模型,python,tensorflow,Python,Tensorflow,我在我的电脑上用GPU在客户图像集上训练了型号SSD_InceptionV2_coco。它在我的电脑上工作得很好,所以把它移到我的pi上,它运行正常,但速度非常慢,每秒0.7帧:(因此我阅读了关于TFLite的内容,并使用了名为“export\u TFLite\u ssd\u graph.py”的对象检测文件夹中的脚本) 它创建了一个新的.pb文件,但我在使用常规冻结文件的脚本上运行它,得到以下结果: 回溯(最后一次调用):文件“light_A.I_CT.py”,第81行,在 od_graph_

我在我的电脑上用GPU在客户图像集上训练了型号SSD_InceptionV2_coco。它在我的电脑上工作得很好,所以把它移到我的pi上,它运行正常,但速度非常慢,每秒0.7帧:(因此我阅读了关于TFLite的内容,并使用了名为“export\u TFLite\u ssd\u graph.py”的对象检测文件夹中的脚本) 它创建了一个新的.pb文件,但我在使用常规冻结文件的脚本上运行它,得到以下结果:

回溯(最后一次调用):文件“light_A.I_CT.py”,第81行,在 od_graph_def.ParseFromString(序列化_graph)文件“/home/pi/.local/lib/python3.5/site packages/google/protobuf/message.py”, 第185行,在ParseFromString中 self.MergeFromString(序列化)文件“/home/pi/.local/lib/python3.5/site packages/google/protobuf/internal/python_message.py”, 第1083行,在MergeFromString中 如果self.\u InternalParse(序列化,0,length)!=length:File“/home/pi/.local/lib/python3.5/site packages/google/protobuf/internal/python\u message.py”, 第1120行,在InternalParse中 pos=field\u解码器(缓冲区、新的\u pos、结束、self、field\u dict)文件“/home/pi/.local/lib/python3.5/site packages/google/protobuf/internal/decoder.py”, 第610行,在DecodeRepeatedField中 raise _DecodeError('截断的消息')google.protobuf.message.DecodeError:截断的消息

我使用的代码如下所示:

将Tensorflow模型加载到内存中。detection\u graph=tf.graph(),带有detection\u graph.as\u default():
它非常基本,取自示例,但我不知道我是否需要做其他事情,因为所有TFLite示例都是针对IOS或Android的。

你不能用常规Tensorflow代码构建TFLite模型,你需要构建TFLite。你可能想看看示例。

谢谢你的信息,我做得更进一步了,因为现在我有了更好的代码了解TFLITE,但我对当前示例仍有问题:ImportError:/home/pi/.local/lib/python3.5/site-packages/tensorflow/contrib/lite/python/explorer\u wrapper//u tensorflow\u wrapp\u解释器\u wrapper.so:未定义符号:\u zn6flite12tensor\u utils24neonvectorscalmultiplyepkaifpf
od_graph_def = tf.GraphDef()
with tf.gfile.GFile(PATH_TO_CKPT, 'rb') as fid:
    serialized_graph = fid.read()
    od_graph_def.ParseFromString(serialized_graph)
    tf.import_graph_def(od_graph_def, name='')

sess = tf.Session(graph=detection_graph)