记录一次nanodet-plus的环境配置

在配置nanodet-plus环境时出现了较多的问题

吐槽一句,配置环境就是个耗时间碰运气的东西。。。

首先,展示一下requirements.txt

Cython
matplotlib
numpy
omegaconf>=2.0.1
onnx
onnx-simplifier
opencv-python
pyaml
pycocotools
pytorch-lightning>=1.9.0
tabulate
tensorboard
termcolor

torch>=1.10
torchmetrics
torchvision
tqdm

训练时出现了如下问题
(这里提一下,最好全部采用pip安装库,conda安装会出现较多的版本问题)

问题1: undefined symbol: cublasLtHSHMatmulAlgoInit, version libcublasLt.so.11

问题原因

查找后发现是pytorch和pytorchvision的版本有问题,这也是根据requirements.txt pip 安装pytorch比较常见的版本不一致问题
解决办法
首先先卸载pytorch和pytorchvision

pip uninstall torch
pip uninstall torchvision

根据pytorch官网选择对应的版本,这里由于requirements.txt 中要求torch>=1.10
所以需要选择对应的版本(复制指令即可)

Linux and Windows
# CUDA 10.2
conda install pytorch==1.12.1 torchvision==0.13.1 torchaudio==0.12.1 cudatoolkit=10.2 -c pytorch
# CUDA 11.3
conda install pytorch==1.12.1 torchvision==0.13.1 torchaudio==0.12.1 cudatoolkit=11.3 -c pytorch
# CUDA 11.6
conda install pytorch==1.12.1 torchvision==0.13.1 torchaudio==0.12.1 cudatoolkit=11.6 -c pytorch -c conda-forge
# CPU Only
conda install pytorch==1.12.1 torchvision==0.13.1 torchaudio==0.12.1 cpuonly -c pytorch

这里由于我采用的cuda训练,故我的指令是

pip install torch==1.9.0+cu111 torchvision==0.10.0+cu111 -f https://download.pytorch.org/whl/torch_stable.html

#  torchaudio 用不上,可以不装,装的话会报错还得找版本的对应关系,比如下图,麻烦!不小心装了的话卸载了就行

记录一次nanodet-plus的环境配置_第1张图片
看别人的解决办法中称可以使用conda指令安装(暂时没有试)
这里注意,若是采用conda安装,后面的一些库也需要用conda安装,否则会替换torch的版本

问题2: No module named ‘nanodet’

记录一次nanodet-plus的环境配置_第2张图片

问题原因
忘记develop,这点在requirements.txt 中提到过
记录一次nanodet-plus的环境配置_第3张图片
解决办法

python setup.py develop

问题3:AttributeError: module ‘distutils’ has no attribute ‘version’

问题原因
其原因是setuptools包版本过高。需要降低版本。
解决办法
参考链接
原版本为大于60版本的,替换为56.1.0版本后解决问题。

pip uninstall setuptools
pip uninstall setuptools-56.1.0

# 这里不能使用 conda uninstall setuptools ; 
#不能使用conda的命令,原因是,conda在卸载的时候,会自动分析与其相关的库,然后全部删除,如果y的话,整个环境都需要重新配置。

问题4:TypeError: optimizer_step() got an unexpected keyword argument ‘using_native_amp’

问题原因
查找后发现应该是pytorch_lightning的版本不适配,或者是安装方式不一样

解决办法
首先排除一下安装方式。
若是安装方式不一样,比如pip安装和conda安装。

这里在安装pytorch-lightning时一定注意自己的torch是pip安装还是conda安装,两者要保持一致,不然会导致安装pytorch-lightning时会直接卸载掉你的torch,安装cpu版本的torch。

若是版本不适配
参考链接
一般pytorch-lightning 需要torch≥1.8.0。也查看到requirements.txt 中要求pytorch-lightning>=1.9.0,而 pip list后发现自己的版本是1.85

这里想在pytorch-lightning官网查看一下pytorch-lightning与torch之间的版本对应关系,一直没有找到,要是有看到的兄弟麻烦留言分享一下
具体解决办法

pip uninstall  pytorch-lightning
pip install  pytorch-lightning 1.9.3

or

pip install --upgrade pytorch_lightning

这里的解决办法同样有可能会出现问题,版本过高可能会直接下载并替换掉原来torch的版本。

你可能感兴趣的:(pytorch,深度学习,python)