前言
因为好多次都失败了,头绪理不清了,我干脆就从头来一遍了.
1.anaconda
参考链接
总的来说,发现conda install 安装的是CPU版本,配置好清华源(都是坑,清华园找不到就给你安装cpu版本)
conda create -n robot python=3.8
conda activate robot
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/win-64
conda install pytorch torchvision torchaudio cudatoolkit=11.1
2.安装
conda install pytorch torchvision torchaudio cudatoolkit=11.1
在安装时终端记录版本号
cudnn 8.1.1
cuda 11.1
conda 4.8.2
pytorch 1.10.0
cudatoolkit 11.1.74
torchvision 0.11.1
后需要用
跟着安装教程到
import torch
torch.cuda.is_available()
返回flase,伤心+懊恼!
转
完美解决torch.cuda.is_available()一直返回False的玄学方法
尝试手动下载cuda版本
下载源
torch-1.10.0+cu111-cp38-cp38-linux_x86_64
torchvision-0.11.1+cu111-cp38-cp38-linux_x86_64_whl
进入文件夹,打开终端,激活conda 环境
pip install torch-1.10.0+cu111-cp38-cp38-linux_x86_64
pip install torchvision-0.11.1+cu111-cp38-cp38-linux_x86_64_whl
顺序好像也不能反,否则报错
pip install -r requirements.txt
python setup.py develop
pip install mmcv-full -f https://download.openmmlab.com/mmcv/dist/cu111/torch1.10.0/index.html
python tools/train.py configs/underwater/optics.py
3.mmcv 错误
ModuleNotFoundError: No module named ‘mmcv._ext‘
官方github
妈的!(说脏话真不过分说实话!)搜了半天,终于有官方教程了,官方就是好,乱七八糟的文章,真不一定适合自己.
直接照着葫芦画瓢
pip install mmcv-full -f https://download.openmmlab.com/mmcv/dist/cu111/torch1.10.0/index.html
4.程序
1.mmdet/init.py
mmcv_maxium_version = '1.2'
改为
mmcv_maxium_version = '1.6'
本来mmcv这个玩意要跟其它版本对应 1.2以下根本无法兼容最新的其它最新版本,这个是在用lastversion+参数,安装mmcv发现的,安装源中根本没有cuda11.1版本,所以说那个官方github找到时开心极了!!!
2.tools/train.py
--gpus
中写着仅适用非分布式训练,就是说单GPU喽,default最初注释掉的打开注释
设定为1,也就是利用一张显卡
--gpus--ids
选择显卡编号,也写着仅适用非分布式训练.
default默认注释掉,打开注释设为[0],因为设为0时其它文件中有 len(显卡编号),在语法上len([0])是计算数组长度也就是为1,而len(0),是计算int型,不是数组,语法报错.