pytorch常见问题

Pytorch常见问题

1.问题1: SiLU

问题一.Can‘t get attribute ‘SiLU‘ on <module ‘torch.nn.modules.activation

报错信息:

Traceback (most recent call last):
  File "detect_test.py", line 87, in <module>
    conf_thres_base=0.6,
  File "/home/default/Documents/caibaojun/yolov5_demo/yolov5/detect_CH.py", line 56, in __init__
    self.__load(device, model_img_size, model_path)
  File "/home/default/Documents/caibaojun/yolov5_demo/yolov5/detect_CH.py", line 80, in __load
    self.model = torch.load(weight_path, map_location=self.device)['model'].float().fuse().eval()
  File "/usr/local/lib/python3.6/dist-packages/torch/serialization.py", line 579, in load
    return _load(opened_zipfile, map_location, pickle_module, **pickle_load_args)
  File "/usr/local/lib/python3.6/dist-packages/torch/serialization.py", line 837, in _load
    result = unpickler.load()
AttributeError: Can't get attribute 'SiLU' on <module 'torch.nn.modules.activation' from '/usr/local/lib/python3.6/dist-packages/torch/nn/modules/activation.py'>



解决办法:

将SiLU拷贝到~/.local/lib/python3.8/site-packages/torch/nn/modules/activation.py文件中:

ubuntu 18.04 server
python3.8.0
pytorch==1.6.0 torchvision==0.7.0

# /usr/local/lib/python3.6/dist-packages/torch/nn/modules/activation.py  在该文件顶部添加下面代码


class SiLU(Module):  # export-friendly version of nn.SiLU()
    @staticmethod
    def forward(x):
        return x * torch.sigmoid(x)

2.问题2: pytorch导出onnx报错

报错问题:

CoreML: export failure: unexpected number of inputs for node x.2 (_convolution): 13


解决办法:

#1
https://zhuanlan.zhihu.com/p/350278710
    
#2   大致解决办法就是 换成torch1.6
https://github.com/ultralytics/yolov5/issues/1667

3问题:解决setup.py安装不上的问题

sudo apt-get install libprotobuf-dev protobuf-compiler


4 问题: ModuleNotFoundError: No module named ‘_lzma’

借鉴:
https://zhuanlan.zhihu.com/p/404162713

问题:

root@ubuntu:~/doc/yolov5-master# python3 load_Model.py
/usr/local/python3.7.5/lib/python3.7/site-packages/pandas/compat/__init__.py:124: UserWarning: Could not import the lzma module. Your installed Python is incomplete. Attempting to use lzma compression will result in a RuntimeError.
  warnings.warn(msg)
Traceback (most recent call last):
  File "load_Model.py", line 27, in <module>
    from models.common import Conv
  File "/root/doc/yolov5-master/models/common.py", line 24, in <module>
    from utils.datasets import exif_transpose, letterbox
  File "/root/doc/yolov5-master/utils/datasets.py", line 29, in <module>
    from utils.augmentations import Albumentations, augment_hsv, copy_paste, letterbox, mixup, random_perspective
  File "/root/doc/yolov5-master/utils/augmentations.py", line 12, in <module>
    from utils.general import LOGGER, check_version, colorstr, resample_segments, segment2box
  File "/root/doc/yolov5-master/utils/general.py", line 29, in <module>
    import torchvision
  File "/usr/local/python3.7.5/lib/python3.7/site-packages/torchvision/__init__.py", line 7, in <module>
    from torchvision import datasets
  File "/usr/local/python3.7.5/lib/python3.7/site-packages/torchvision/datasets/__init__.py", line 6, in <module>
    from .mnist import MNIST, EMNIST, FashionMNIST, KMNIST, QMNIST
  File "/usr/local/python3.7.5/lib/python3.7/site-packages/torchvision/datasets/mnist.py", line 11, in <module>
    import lzma
  File "/usr/local/python3.7.5/lib/python3.7/lzma.py", line 27, in <module>
    from _lzma import *
ModuleNotFoundError: No module named '_lzma'



解决办法:

第一步

# centos系统执行
yum install xz-devel -y
yum install python-backports-lzma -y
pip install backports.lzma

# ubuntu系统执行
apt-get install liblzma-dev -y
pip install backports.lzma


第二步

根据文章开头错误提示,/usr/local/python3.7.5/lib/python3.7/lzma.py,找到lzma.py位置

修改lzma.py文件

vim /usr/local/python3.7.5/lib/python3.7/lzma.py

第三步

#修改前
from _lzma import *
from _lzma import _encode_filter_properties, _decode_filter_properties

#修改后 
try:
    from _lzma import *
    from _lzma import _encode_filter_properties, _decode_filter_properties
except ImportError:
    from backports.lzma import *
    from backports.lzma import _encode_filter_properties, _decode_filter_properties


重新启动!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值