Python tensorflow lite错误?无法设置张量:获得类型1的张量但预期输入88的类型3

use*_*600 6 python tensorflow tensorflow-lite

我目前在想如何提取张量流精简版并测试我的数据集。但我觉得我遇到了一些python编译错误: 在此处输入图片说明

这是我的代码:

interpreter = tf.contrib.lite.Interpreter(model_path=
    "/mnt/ficusspain/cqli/tensorflow_models/Quantized_Models/mobilenet_v1_0.25_128_quant/mobilenet_v1_0.25_128_quant.tflite")
interpreter.allocate_tensors()

print("can we get here?")

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

print("can we get here")

# Test model on random input data.
input_shape = input_details[0]['shape']
print(input_shape)
print(input_details[0]['index'])
print(output_details[0]['index'])


input_data = np.array(np.random.random_sample(input_shape), dtype=np.float32)
interpreter.set_tensor(input_details[0]['index'], input_data)

interpreter.invoke()
output_data = interpreter.get_tensor(output_details[0]['index'])
print(output_data)
Run Code Online (Sandbox Code Playgroud)

小智 5

您需要将dtype从np.float32更改为np.uint8:

input_data = np.array(np.random.random_sample(input_shape), dtype=np.uint8)
Run Code Online (Sandbox Code Playgroud)

您可以随时与

print(interpreter.get_input_details())
Run Code Online (Sandbox Code Playgroud)

需要哪个dtype