复现论文代码时遇到的问题与解决办法

复现论文代码时遇到的问题:

一、创建环境的命令
1.查看已经安装的环境

conda env list     

2.创建环境

conda create -n test01 python=3.6

3.查看python版本

python --version

4.删除环境

conda remove -n test01 --all

二、训练时的报错
1.ModuleNotFoundError: No module named ‘cv2’

pip install opencv-python  
pip install opencv-contrib-python 

最新版本的opencv只支持python3.7以上,如果是3.6版本:

pip install -i https://pypi.douban.com/simple/ pip install opencv-python==4.3.0.38
pip install -i https://pypi.douban.com/simple/ pip install opencv-contrib-python==4.3.0.38

2.ModuleNotFoundError: No module named ‘skimage‘

pip install scikit-image

3.AttributeError: module ‘PIL.Image’ has no attribute ‘ANTIALIAS’
在pillow的10.0.0版本中,ANTIALIAS方法被删除了。
解决办法:
(方案一)第一行换成第二行

image = image.resize((int(image.size[0] * (64 / image.size[1])), 64), Image.ANTIALIAS).convert('L')
image = image.resize((int(image.size[0] * (64 / image.size[1])), 64), Image.LANCZOS).convert('L') 

(方案二)降级Pillow的版本,比如使用9.5.0版本

pip uninstall -y Pillow
pip install Pillow==9.5.0

4.TypeError: ‘tuple‘ object is not callable
产生的原因可能是python版本问题,解决办法:将 mono_dataset.py文件中的
(在mono_dataset.py中包含两部分以下代码,都要替换)

transforms.ColorJitter.get_params(
                           self.brightness, self.contrast, self.saturation, self.hue)

替换为

transforms.ColorJitter(
                           self.brightness, self.contrast, self.saturation, self.hue)

5.AttributeError: module ‘torchvision.models.resnet’ has no attribute ‘model_urls’
由于pytorch版本过高,降低torch版本或

loaded = model_zoo.load_url(models.resnet.model_urls['resnet{}'.format(num_layers)])

替换为:

loaded = torch.hub.load_state_dict_from_url(models.ResNet18_Weights.IMAGENET1K_V1.url) in resnet_encoder.py

6.ModuleNotFoundError: No module named ‘torchvision.models.utils’
由于pytorch版本过高,降低torch版本或

from torchvision.models.utils import load_state_dict_from_url

改为:

from torch.hub import load_state_dict_from_url
  • 14
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值