当前位置: 首页 > 知识库问答 >
问题:

TF-lite模型测试失败并出现运行时错误

饶明亮
2023-03-14

我已经为MNIST分类创建了一个TF-lite模型(我使用TF 1.12.0并在Google Colab上运行它),我想使用TensorFlow Lite Python解释器对其进行测试,如

https://github.com/freedomtan/tensorflow/blob/deeplab_tflite_python/tensorflow/contrib/lite/examples/python/label_image.py

但是当我试图调用解释器时,我收到了这个错误-

RuntimeError                              Traceback (most recent call last)
<ipython-input-138-7d35ed1dfe14> in <module>()
----> 1 interpreter.invoke()

/usr/local/lib/python3.6/dist- 
packages/tensorflow/contrib/lite/python/interpreter.py in invoke(self)
251       ValueError: When the underlying interpreter fails raise 
ValueError.
252     """
--> 253     self._ensure_safe()
254     self._interpreter.Invoke()
255 

/usr/local/lib/python3.6/dist- 
packages/tensorflow/contrib/lite/python/interpreter.py in 
_ensure_safe(self)
 97       in the interpreter in the form of a numpy array or slice. Be sure 
 to
 98       only hold the function returned from tensor() if you are using 
 raw
 ---> 99       data access.""")

101   def _get_tensor_details(self, tensor_index):

 RuntimeError: There is at least 1 reference to internal data
  in the interpreter in the form of a numpy array or slice. Be sure to
  only hold the function returned from tensor() if you are using raw
  data access.

这是代码 -

import numpy as np

# Load TFLite model and allocate tensors.
interpreter = 
tf.contrib.lite.Interpreter(model_path="mnist/mnist_custom.tflite")
interpreter.allocate_tensors()

# Get input and output tensors.
input_details = interpreter.get_input_details()
output_details = interpreter.get_output_details()
input_details

[{'dtype':numpy.float32,'索引':3,'名称':'conv2d_1_input','量化':(0.0,0),'形状':数组([1,28,28,1],dtype=int32)}]

test_images[0].shape

(28, 28, 1)

input_data = np.expand_dims(test_images[0], axis=0)
input_data.shape

(1, 28, 28, 1)

interpreter.set_tensor(input_details[0]['index'], input_data)
interpreter.invoke()

问题是我不明白这条消息的意思以及该怎么办。

共有1个答案

卫英悟
2023-03-14

tf.convert_to_tensorinterpreter.set_tensor为我完成了这项工作

tensor_index = interpreter.get_input_details()[0]['index']
input_tensor_z= tf.convert_to_tensor(z, np.float32)
interpreter.set_tensor(tensor_index, input_tensor_z)

我创建了一个end2end示例,从训练一个Keras模型开始,在TensorFlow Lite上为它提供服务

我也在这个帖子里贴出了同样的答案

 类似资料:
  • 问题内容: 我正在使用mocha-phantomjs设置进行单元测试。我有以下package.json脚本来运行测试。 在浏览器中可以正常运行。当我在cmd中运行命令时,测试运行正常,但同时也会出现以下错误 请任何人告诉我如何解决此错误。 问题答案: 当我在cmd中运行命令npm test时,测试运行正常 不,他们不是。您有6个失败的测试。的退出代码等于测试失败的次数。直接运行,看看有什么问题。意

  • 我刚刚添加了测试单元,当我使用运行它时,我得到了错误,测试将失败。但是,当我运行时,一切看起来都很好,我不知道发生了什么黑客。我认为当我使用运行时,无法识别部分文件,并将抛出新的错误。 这是我的代码https://github.com/rohmanhm/unobuilder/tree/test 下面是错误消息。 rohmanhm~/desktop/code/works/unobuilder tes

  • 我们已经为spark编写了单元测试,在本地模式下有4个线程。 当一个接一个地启动时,例如通过intellij或sbt testOnly,每个测试都运行良好。 当用sbt测试启动时,它们会出现如下错误 我们使用的是一个带有多个子项目的sbt项目,其定义如下:

  • 我尝试了这里提到的所有解决方案,但没有一个奏效。 这里奇怪的事情是,我试图运行我的应用程序的Android模拟器的第一次,我得到了同样的错误。我从来没有在那里安装应用程序,但我得到了同样的错误。 你知道是什么导致了这个错误吗?

  • 我正在使用jenkins进行构建,但每次运行构建时都会出现错误并失败? 以下是错误: 致命:hudson/tasks/Mailer$UserProperty java。lang.ClassNotFoundException:哈德逊。任务。詹金斯的Mailer$UserProperty 。util。AntClassLoader。jenkins的findClassInComponents(AntCla

  • 问题内容: 当我尝试在Chrome中运行测试时出现此错误: 初始化方法AutomationUsingSelenium.SmuladorChrome.MyTestInitialize引发异常。OpenQA.Selenium.DriverServiceNotFoundException:OpenQA.Selenium.DriverServiceNotFoundException 原因是什么? 问题答案