我已将我的模型转换为 tensorflow-lite,但在编译时出现以下错误:
这是我的代码:
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)
最佳答案
您需要将数据类型从 np.float32 更改为 np.uint8:
input_data = np.array(np.random.random_sample(input_shape), dtype=np.uint8)
您可以随时查看
print(interpreter.get_input_details())
需要哪个数据类型
关于Python tensorflow 精简版错误 :Cannot set tensor: Got tensor of type 1 but expected type 3 for input 88,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52530724/