ValueError:无法设置张量:获得了 FLOAT64 类型的值,但输入 0 的预期类型为 FLOAT32,名称:serving_default_input_1:0

问题描述 投票:0回答:1

我正在尝试测试 tflite 模型,但出现以下错误

我的代码如下所示

import numpy as np
import cv2
import tensorflow as tf

interpreter = tf.lite.Interpreter(model_path="yolov5.tflite")
interpreter.allocate_tensors()

input_details = interpreter.get_input_details()
output_details = interpreter.get_output_details()

image = cv2.imread("WIN_20230422_07_35_48_Pro.jpg")

input_shape = input_details[0]['shape'][1:3]
resized_image = cv2.resize(image, input_shape)

normalized_image = resized_image / 255.

input_data = np.expand_dims(normalized_image, axis=0)

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

interpreter.invoke()

output_data = interpreter.get_tensor(output_details[0]['index'])

print(output_data)

如何将 FLOAT64 转换为 FLOAT32?

python tensorflow-lite yolov5
1个回答
0
投票

试试

input_data = np.float32(input_data)

之前

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

interpreter.invoke()

output_data = interpreter.get_tensor(output_details[0]['index'])

print(output_data)
© www.soinside.com 2019 - 2024. All rights reserved.