Bootstrap

pip/conda环境配置(win / linux)

目录

在配置前需要做的工作

开始创建虚拟环境

安装包的5种方法以及区别:

镜像源/网络问题:

版本对应关系(下文扫一眼即可):

cuda toolkit下载地址(新):

tensorflow

​编辑

keras:

​编辑

torch:

一些常用包的安装

apex: 下载地址

pycocotools:

配置失败的可能原因:

linux:

其他:

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是所有方法都不能用的情况下再去用。

  1. pip install 名字
  2. conda install 名字
  3. pip install -r 路径/requirements.txt
  4. API软件包编译安装方式,这个方法需要先提前安装make,许多包可以用这个方式安装,同时这个方法在linux中使用方便,例如安装cocoapi可以安装make的方法(我使用的是第二个链接):WINDOWS下安装make工具的方法 - EDA88电子技术博客在windows系统下安装make编译功能_卓沅best的博客-CSDN博客_windows make编译
  5. 下载whl编译:通常我们下包,下的就是whl文件,pip和conda也不过就是下载的工具,那么直接去找whl来编译也是可以的,一般github上有

 比如github这里提供了一个网址,我们点进去

 点击想要的版本号就可以下载,下载之后

pip install 文件路径/***.whl

镜像源/网络问题:

镜像源问题_坠金的博客-CSDN博客

版本对应关系(下文扫一眼即可):

环境依赖(非常重要)

如果你运算在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博客

CUDA Toolkit 旧版下载地址

注意如果是安装旧版 最新的patch也要下载

安装后输入nvcc --version 有显示就说明安装成功
如果没有显示,那么注意是否添加路径

此电脑-属性-高级系统设置-环境变量

可以看到我的电脑红色的是cuda9的路径,如果我想切换到11.1,可以把9的删掉,目前只有这种笨方法,有更好的方法欢迎留言

cuddn下载地址,里面写了和cuda的对应关系

下载并解压文件夹,将解压后的文件夹下的文件拷贝到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:

和python的对应关系

安装完之后,一般numpy也安装好了,但是避免出问题,可以看一眼numpy的版本,如果不匹配,conda install numpy

keras:

安装keras之前一定要装tensorflow

tensorflow决定keras安装什么版本

更早版本的

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' 

Start Locally | PyTorch

第一个建议选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地址

报错

环境问题常见报错-CSDN博客

悦读

道可道,非常道;名可名,非常名。 无名,天地之始,有名,万物之母。 故常无欲,以观其妙,常有欲,以观其徼。 此两者,同出而异名,同谓之玄,玄之又玄,众妙之门。

;