注意:使用官方给出的部署文件进行环境的创建时,特别要注意
cuda
版本是否和服务器的版本( 显卡驱动版本)一致(这里的一致是指:显卡驱动以及CUDA
版本不能低于需要安装的CUDA
版本)!否则即使安装了PyTorch
或者时Tensorflow
,也会因为和服务器的硬件设备驱动版本不一致导致运行不成功!
使用以下部署工具部署环境时,最好不要使用官方提供的文件,而是自己新创建一个文件,然后把必须的包写入,然后再进行部署!原因如下:
- 作者提供的一般都是使用命令直接导出的,而导出的文件我们打开看,会发现除了各种版本信息
=...
外,后面还跟着许多奇奇怪怪的字符,这个虽然也是指定相应的版本,但是大概率是和自己的机器相匹配的信息,如果直接安装,后面出现各种奇怪的错误,你都不会发现是版本问题导致的! - 我们要做的,就是手动导入,然后自己指定相关版本信息,这样安装的包就是和自己的机器匹配的,不会安装错误!
生成当前环境的依赖:
pip freeze > requirements.txt
其中 requirements.txt
文件内容如下。
matplotlib==xxx
Pillow==xxx
使用 requirements.yml
完成环境部署:
conda/source activate 虚拟环境
pip install -r requirements.txt
使用以下命令将当前激活的虚拟环境保存:
conda env export > environment.yml
在当前目录下自动生成相关安装依赖关系,具体示例如下。
name: xxx
channels:
- defaults
- custom
- pytorch
- anaconda
- conda-forge
dependencies:
- python=3.x
- pip
- xxx
- pip:
- xxx
- [-f] https://..
例子:
name: GlobalTrack
channels:
- defaults
- pytorch
- conda-forge
dependencies:
- python=3.8
- pytorch=1.8.1
- torchvision=0.9.1
- torchaudio=0.8.1
- cudatoolkit=11.1
- pip
- pip:
- black
- imageio
- mmcv==0.4.3
- numpy
- opencv-python
- opencv-python-headless
- Pillow
- scikit-image
- scikit-learn
- scipy
- Shapely
prefix: ~/anaconda3/envs/GlobalTrack
指定安装版本时,注意
pip
使用双等号,dependencies
中为等号!如果不指定,默认安装最新的版本。
使用 envrionment.yml
完成环境部署:
conda env create -f environment.yml
使用 conda
部署时可以一步到位,简单,但是有以下两个明显的缺点:
conda remove -n GlobalTrack --all
rm -rf ~/anaconda3/envs/GlobalTrack
这是相当麻烦的,令人不快! conda
好像并没有提供直接强行覆盖的功能,因此只能这样操作!
这里需要纠正一点的是,如果我们不需要做 CUDA
编程(相信大部分小伙伴都用不到),那么我们是不需要进行那么复杂的 CUDATOOLKIT cuDNN
的安装配置的,只需要把 NVIDIA
驱动安装好就可以了!然后在安装 PyTorch Tensorflow-GPU
的时候,只要指定的是 GPU
版,以及对应的 CUDA/cudatoolkit
版本(主要是和自己机器的 NVIDIA-DRIVER CUDA
版本匹配——自己机器的不能低于 PyTorch/Tensorflow
要求的最低版本)就会自动下载 这三套件了 pytorch/tensorflow cudatoolkit cudnn
,小伙伴们可以自己仔细看看控制台的安装信息!
友情提示:为什么需要时刻关注控制台的安装信息呢?因为有的时候明明我们指定的是
GPU
版本,如果我们不仔细看,那么可能就会默认变成了CPU
版本,那么后面调用相应的包时肯定是找不到了的啦!这里为什么会改变大概率是版本不匹配(CUDA & PyTorch/Tensorflow
)引起的,可以更换下安装的版本试试!Original: https://blog.csdn.net/qq_40750972/article/details/123868849
Author: blainet
Title: 使用配置文件创建conda环境
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/771774/
转载文章受原作者版权保护。转载请注明原作者出处!