目录
22.09.29 博主的朋友帮装虚拟环境,转发本博客到朋友圈免费,到明年6月为止,有环境配置问题的请评论私信~
配置的麻烦其实是墙造成,因为墙,所以得用镜像源。如果你在国外,那基本随便安装都能成功
如果你是想要长期做深度学习或者做研究,很多包可能只能在linux中运行,那么建议你根据manjaro安装linux系统,同时根据本文配置环境
如果只是简单的应付相关的内容,那么可以根据环境配置(摆烂版)在windows中简单的安装就行
在配置前需要做的工作
首先需要安装编程软件pycharm和环境管理软件anaconda见之前的博客,链接在下
安装好pycharm,去官网下载conda好,并且配置好conda后
开始创建虚拟环境
进入下载下来的项目文件夹(一定要进入 后面的步骤都建立在此),输入cmd,回车
conda create -n 环境名称 python==3.7.3
如果后面要安装torch之类的,这里可以不输入python==...这一部分,因为很多包自己会指定需要什么python
(不知道安装python几就安装3.7的 兼容比较好)
出现这个说明创造成功,然后输入conda activate 环境名称(这步的作用会在开头体现当前环境 如果重新打开cmd 也可以输入conda activate 环境名称 来激活)
然后如果requirements.txt中有看到(这个txt一般在项目内),需要在安装其他包之前先安装的东西(哪些东西见下文),这时候可以安装了
之后可以无脑安装剩下的东西了,可以在cmd中输入:(这是pip安装)
pip install -r requirement.txt
亦可以输入(这是conda安装 建议这个):
conda install --yes --file requirements.txt
如果项目包含setup.py这个文件(安装依赖模块和作者自己编写的模块),还需要再输入:python setup.py develop
这个时候就安装好大部分的包了。如果还有的没安装上,或者出现版本冲突,可以根据下面的对应关系去重新下载
进入pycharm,点击右下角python intepreter, 选择add
选择conda environment,然后找到刚刚安装的环境(一般是在anaconda下的envs文件夹)
注意:
拿到一个工程的压缩包以后,通常里面会有一个文件requirement.txt,告诉你工程用的哪些包,你需要跟着把包下齐了才能运行。然而这些包的有版本对应关系,如果版本互相对应不上那么就不能用
注意安装顺序:
一般是python创建环境——安装cuda cudnn——pytorch 或 tensorflow 或keras——用pip无脑安装requirements.txt
注意:
python最常用的是3.7,老的项目用的话没指定可以选3.6
安装什么版本的python,cuda,cudnn在requirements里一般没有,可以先看项目需要什么版本的pytorch,tensorflow 和 keras然后根据对应关系下载python cuda cudnn
深度学习常用的包有pytorch,tensorflow 和 keras,如果项目需要,那么一定先看这几个的安装,特别注意显卡和cuda cudnn 以及上述三个东西的对应关系
安装下面几个包的时候,记得每步测试一下能不能用,不是说在conda list里就成功了
安装包的5种方法以及区别:
conda是安装了anaconda或者miniconda以后才可以使用,优点是它会帮你看包的依赖有没有安装并帮你补上,如果不知道用什么,就用conda。conda安装不了就用pip。而whl是所有方法都不能用的情况下再去用。
- pip install 名字
- conda install 名字
- pip install -r 路径/requirements.txt
- API软件包编译安装方式,这个方法需要先提前安装make,许多包可以用这个方式安装,同时这个方法在linux中使用方便,例如安装cocoapi可以安装make的方法(我使用的是第二个链接):WINDOWS下安装make工具的方法 - EDA88电子技术博客在windows系统下安装make编译功能_卓沅best的博客-CSDN博客_windows make编译
- 下载whl编译:通常我们下包,下的就是whl文件,pip和conda也不过就是下载的工具,那么直接去找whl来编译也是可以的,一般github上有
比如github这里提供了一个网址,我们点进去
点击想要的版本号就可以下载,下载之后
pip install 文件路径/***.whl
镜像源/网络问题:
版本对应关系(下文扫一眼即可):
环境依赖(非常重要)
如果你运算在gpu上,那首先要安装geforce的显卡驱动(N卡),然后安装cuda toolkit和cudnn
这一步如果你是用算力较高的显卡,需要特别注意算力和cuda的匹配
参考的检验方法:PyTorch检测cuda - 知乎 (zhihu.com)
import torch
print('CUDA版本:',torch.version.cuda)
print('Pytorch版本:',torch.__version__)
print('显卡是否可用:','可用' if(torch.cuda.is_available()) else '不可用')
print('显卡数量:',torch.cuda.device_count())
print('是否支持BF16数字格式:','支持' if (torch.cuda.is_bf16_supported()) else '不支持')
print('当前显卡型号:',torch.cuda.get_device_name())
print('当前显卡的CUDA算力:',torch.cuda.get_device_capability())
print('当前显卡的总显存:',torch.cuda.get_device_properties(0).total_memory/1024/1024/1024,'GB')
print('是否支持TensorCore:','支持' if (torch.cuda.get_device_properties(0).major >= 7) else '不支持')
print('当前显卡的显存使用率:',torch.cuda.memory_allocated(0)/torch.cuda.get_device_properties(0).total_memory*100,'%')
cuda toolkit下载地址(新):
该工具包对于开发利用 CUDA 在 NVIDIA GPU 上进行并行计算的软件是必需的,CUDA 工具包向后兼容。这意味着针对特定版本的 CUDA 工具包编译的应用程序将继续与更高版本的驱动程序一起使用。但是,这种向后兼容性特定于 CUDA 驱动程序,不一定适用于其他包的版本。比如在 PyTorch 和 CUDA 的上下文中,向后兼容性将取决于 PyTorch 与特定 CUDA 版本的兼容性,而不是 CUDA 驱动程序本身。原理补充:CUDA 兼容性 :: NVIDIA Data Center GPU 驱动程序文档
注意 30系显卡只支持11.以上的版本,因此也限定了能使用的tensorflow版本
在我们的具体使用中,其实真正需要的并不是整个CUDA,而是cudatoolkit
查看显卡匹配的cuda版本:nvidia -smi显示的版本就是能安装的最高版本(因为高版本的cuda兼容低版本的cuda toolkit)
cuda和显卡的对应关系:报错NVIDIA GeForce RTX 4060 Laptop GPU with CUDA capability sm_89 is not compatible with ...-CSDN博客
注意如果是安装旧版 最新的patch也要下载
安装后输入nvcc --version 有显示就说明安装成功
如果没有显示,那么注意是否添加路径
此电脑-属性-高级系统设置-环境变量
可以看到我的电脑红色的是cuda9的路径,如果我想切换到11.1,可以把9的删掉,目前只有这种笨方法,有更好的方法欢迎留言
下载并解压文件夹,将解压后的文件夹下的文件拷贝到cuda安装目录下,与之相对应的文件夹下
tensorflow
tensorflow不太好用,个人推荐pytorch
注意30系显卡只能用2.以上的版本
pip install tensorflow-gpu==1.5.0 -i https://mirrors.aliyun.com/pypi/simple
cuda cuddn决定tensorflow版本,选windows拖到底下
检测有没有安装好:
python
import tensorflow as tf
tf.test.is_gpu_available()
numpy:
安装完之后,一般numpy也安装好了,但是避免出问题,可以看一眼numpy的版本,如果不匹配,conda install numpy
keras:
安装keras之前一定要装tensorflow
更早版本的
List of Available Environments - FloydHub Documentation
测试 import keras
注意protobuf和keras的关系
torch:
对应关系这个链接我还没找到 找到的小伙伴告诉我一下
在安装torch之前一定先把对应版本的cuda和cudnn安装好
这一块弄不好会报错:No CUDA runtime is found, using CUDA_HOME='C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1'
第一个建议选LTS(长期支持版本)
注意到note的命令
conda install pytorch torchvision torchaudio cudatoolkit=11.1 -c pytorch-lts -c conda-forge
直接在pycharm的terminal中输入就可以了
如果是安装之前的版本
注意到这里写了版本对应关系
用anaconda安装torch。新建虚拟环境后,直接在pytorch官网官网链接找到“Install”按钮。这里一键搞定torch,torchvision,cudatoolkit等等,不需要另外安装cuda(笔者在没有单独安装CUDA情况下,成功运行了torch-gpu,很丝滑),并且版本都会自己对于对应好,原因是anaconda都集成在虚拟环境里面了,统一管理各个依赖包。有镜像源的情况下,去掉末尾的“-c pytorch”会更快,因为加上-c pytorch 后就不是从清华源镜像下载,否则经常容易下载超时。不过conda下载超时时间可以设置。
检查是否安装成功:
结束前还要检查一下torch安装的是不是gpu版本 (自己有显卡要跑的话就得gpu版本的)
torch.cuda.is_available()
torch.cuda.get_device_name(0)
如果不是的话:改成选stable版本的
22/07/04 torch.cuda.is_available()=False 在cmd里查显卡没查到 但是重启之后就自己好了,猜测可能是显卡松动了
可以参考:安装PyTorch GPU/CPU 两种方法,各种版本,稳稳的!_哔哩哔哩_bilibili
一些常用包的安装
cv2:
conda install -c conda-forge opencv
apex: 下载地址
下载到项目内解压,然后cmd输入:python setup.py install
修改miniconda3\envs\yolox\Lib\site-packages\apex-0.1-py3.8.egg\apex\amp\_amp_state.py
if TORCH_MAJOR == 1 and TORCH_MINOR < 8:
from torch._six import container_abcs
else:
import collections.abc as container_abcs
pycocotools:
pip install cython
pip install pycocotools
在windows中更简单的方法:pip install pycocotools-windows
如果源不好使,见镜像源问题部分
linux版本匹配问题
稍微简单一点,一般项目里有envs.sh这个文件,直接:bash envs.sh就会自动执行
这个文件可以用记事本打开看内容
如果报错的话就看是第几行的内容执行有问题
注意这几个的安装,可能本身是依赖,或者要依赖其他的,报错的话根据这几个的名字去搜索解决方案:pip / cmake / dlib
cuda
如果在linux中
查看/usr/local/cuda/bin下是否有nvcc可执行程序,如果没有说明cuda没有正常安装,需要重新安装,如果有,进入下一步
再输入nvcc --version看是否显示
如果还错就检查是不是和cuda版本冲突
添加环境变量,打开~/.bashrc ,添加环境变量export PATH="$PATH:/usr/local/cuda/bin"
然后source ./.bashrc
配置失败的可能原因:
1.conda或者pip没有添加正确的源(清华源也没有所有的资源)
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/cloud/pytorch/
conda config --set show_channel_urls yes pip config set global.index-url https://mirrors.ustc.edu.cn/pypi/web/simple
2.被源拒绝访问,以清华源为例:
https://github.com/tuna/issues/issues/1455
其他:
退回上一级目录:cd ..
更新pip:python -m pip install -U pip
查看已经安装的包:pip list
生成requirement.txt
pip freeze > requirements.txt
项目gitclone:
git clone https://ghproxy.com/项目gitclone地址