复现论文代码时遇到的问题:
一、创建环境的命令
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