我训练了一个目标检测模型用来垃圾分类,以及装换为了paddlelite需要的模型格式(.nb),接着我打算部署模型,进行图片的预测,来试试模型怎么样,结果出现了一些问题。
我的部署代码如下:
import paddlelite.lite as lite
from paddlelite.lite import *
import numpy as np
from PIL import Image
# 定义模型文件路径和输入数据
model_file = "ssd_model_v1.nb" # naive_buffer格式的模型文件路径
img_file = r"dataset/JPEGImages/8441ac602d747bd05daaef78b0ed407cbb5dccd2d0a0e065473554358ec8c0a5.jpeg" # 准备输入数据
config = MobileConfig()
config.set_model_from_file(model_file)
# 创建predictor
predictor = create_paddle_predictor(config)
# 加载图像并调整大小
image = Image.open(img_file)
image = image.resize((640, 480))
image = image.convert("RGB")
# 将图像转换为NumPy数组
input_data = np.array(image)
input_data = input_data.transpose((2, 0, 1))
input_data = np.expand_dims(input_data, axis=0).astype("float32")
print(input_data.shape)
# print(input_data.shape,np.ones((1,3,480,640)).shape)
# 获取输入tensor并设置数据
input_tensor = predictor.get_input(0)
# input_tensor.from_numpy(np.ones((1, 3, 480, 640)).astype("float32"))
input_tensor.from_numpy(input_data)
# 进行推理
predictor.run()
output_tensor = predictor.get_output(0)
print(output_tensor)
output_data = output_tensor.numpy()
print(output_data)
输出内容如下:
[[-1.]]
我想问问,输出[[-1.]],是什么问题,根据这个输出我也画不来标注框。
哒佬帮忙解决一下问题,如果有需要更详细的代码内容,评论区提我发给你
你把截图发给我看一下