Closed try-agaaain closed 1 year ago
结合requirements.txt并根据2021年的python库版本我搭建了一个环境,步骤如下:
conda create -n 2021 python=3.9
conda activate 2021
pip install numpy==1.20.3
pip install Pillow==8.2
pip install torch==1.9.1+cu111 torchvision==0.10.1+cu111 torchaudio==0.9.1 -f https://download.pytorch.org/whl/torch_stable.html
pip install scikit-image==0.17.2
pip install tqdm
pip install timm==0.6.12
能够解决库冲突问题,不过当前的代码存在一些小问题,导致无法正常运行:
① 在PMAA\model\pmaa.py
文件中使用get_norm_act_layer(norm_layer, act_layer)
函数时传递了两个参数,而该函数的定义中只能接收一个参数,导致错误:
TypeError: get_norm_act_layer() takes 1 positional argument but 2 were given
将get_norm_act_layer(norm_layer, act_layer)
改为 get_norm_act_layer(norm_layer)
可解决该问题
② 在model\pmaa.py
文件中,out_layer的定义如下:
self.output_layer = nn.Sequential(
nn.Conv2d(hidden_channels, out_channels,
kernel_size=7, padding=int((7-1)//2)),
nn.Tanh()
)
但github中存放的pretrained/pmaa_old.pth中的卷积核大小为1,可以将上面的代码改为nn.Conv2d(hidden_channels, out_channels, kernel_size=1),
以解决问题。
通过上面的修改,可以正常的运行test_old.py
文件。
针对上面的问题我提交了一个PR (:
通过
pip install requiremnets.txt
命令搭建环境时有些包的版本出现了冲突,比如 numpy==1.19.3 和 scipy==1.5.2 是冲突的,我采用的是python3.9版本,尝试过3.8和3.7版本,但也存在冲突问题。