关于配置YOLOV5时出现错误 AttributeError: Can‘t get attribute ‘C3‘ on <module ‘models.common‘ from ‘/root/deep

遇到该问题时,百度了一下,没找到任何解决方案,谷歌了一下也没找到好的方案,于是决心要解决掉它。。。。

在配置yolov5(yolov5)时出现了以下问题:
AttributeError: Can’t get attribute ‘C3’ on <module ‘models.common’ from ‘/root/deepstream_yolov5/yolov5/models/common.py’>
具体:
在这里插入图片描述

解决方案1:
找了各种办法,也翻墙去看了,没有什么具体的解决办法,最后是通过重新在别的文件夹或者路径下重新clone项目在运行来解决的问题,具体为什么,没搞明白。

我用的gen_wts.py如下:

import torch
import struct
from utils.torch_utils import select_device
import pickle

# Initialize
device = select_device('0')
# Load model
model = torch.load('weights/yolov5s.pt', map_location=device)['model'].float()  # load to FP32
model.to(device).eval()

with open('yolov5s.wts', 'w') as f:
    f.write('{}\n'.format(len(model.state_dict().keys())))
    for k, v in model.state_dict().items():
        vr = v.reshape(-1).cpu().numpy()
        f.write('{} {} '.format(k, len(vr)))
        for vv in vr:
            f.write(' ')
            f.write(struct.pack('>f',float(vv)).hex())
        f.write('\n')

解决方案2:

torch.load(‘weights/yolov5s.pt’, map_location=device)[‘model’].float() 改为 torch.load(‘weights/yolov5s.pt’, map_location=device)[‘model’].float(),
同时记得把yolov5/weights目录里面的yolov5s.pt(其他的权重以此类推)拷贝到yolov5目录下,重新运行python3 gen_wts.py即可。
gen_wts.py如下:

import torch
import struct
from utils.torch_utils import select_device
import pickle

# Initialize
device = select_device('0')
# Load model
model = torch.load('yolov5s.pt', map_location=device)['model'].float()  # load to FP32
model.to(device).eval()

with open('yolov5s.wts', 'w') as f:
    f.write('{}\n'.format(len(model.state_dict().keys())))
    for k, v in model.state_dict().items():
        vr = v.reshape(-1).cpu().numpy()
        f.write('{} {} '.format(k, len(vr)))
        for vv in vr:
            f.write(' ')
            f.write(struct.pack('>f',float(vv)).hex())
        f.write('\n')
  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 23
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 23
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值