我有一个模型,best.pt,我想运行.它将图像作为输入,并输出字符串.

我已经安装了ultralyticstorchtorchvision.

我的代码很简单:

import torch
from PIL import Image

# Load the pre-trained model
model = torch.load('best.pt')
# Load the input image
input_image = Image.open('input_image.jpg')
# Pass the image through the model
output = model(input_image)
# Print the output
print(output)

结果如下:

Traceback (most recent call last):
  File "/Users/fares/project/model/main.py", line 5, in <module>
    model = torch.load('best.pt')
            ^^^^^^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/torch/serialization.py", line 1026, in load
    return _load(opened_zipfile,
           ^^^^^^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/torch/serialization.py", line 1438, in _load
    result = unpickler.load()
             ^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/torch/serialization.py", line 1431, in find_class
    return super().find_class(mod_name, name)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ModuleNotFoundError: No module named 'ultralytics.yolo'

我做错了什么?

推荐答案

看起来权重文件best.pt是使用超催化包训练的. 试一下以下内容.

from ultralytics import YOLO

model = YOLO('best.pt')
input_image = Image.open('input_image.jpg')
output = model(input_image)
print(output)

Python相关问答推荐

Python在tuple上操作不会通过整个单词匹配

将DF中的名称与另一DF拆分并匹配并返回匹配的公司

为什么符号没有按顺序添加?

我想一列Panadas的Rashrame,这是一个URL,我保存为CSV,可以直接点击

如何更新pandas DataFrame上列标题的de值?

基于形状而非距离的两个numpy数组相似性

未调用自定义JSON编码器

numpy.unique如何消除重复列?

从旋转的DF查询非NaN值

使用类型提示进行类型转换

提取数组每行的非零元素

如何在Airflow执行日期中保留日期并将时间转换为00:00

Django.core.exceptions.SynchronousOnlyOperation您不能从异步上下文中调用它-请使用线程或SYNC_TO_ASYNC

将字节序列解码为Unicode字符串

按条件计算将记录拆分成两条记录

遍历列表列表,然后创建数据帧

如果列包含空值,则PANAS查询不起作用

对于数组中的所有元素,Pandas SELECT行都具有值

为什么在不先将包作为模块导入的情况下相对导入不起作用

正则表达式反向查找