✋🏻手把手搭建深度学习环境

预告:三种套餐组合方式

第一种

  1. Nvidia GPU 驱动(v375)——允许系统获得 GPU 带来的加速。
  2. CUDA(v8.0)——GPU C 语言库。「计算同一设备架构」。
  3. cuDNN(v6.0.21)——基于 CUDA 的深度学习基元库。「CUDA 深度学习库」。
  4. TensorFlow(v1.3)——谷歌开发的深度学习框架,保证TensorFlow<=1.4

第二种

  1. Nvidia GPU 驱动(v384)——允许系统获得 GPU 带来的加速。
  2. CUDA(v9.0)——GPU C 语言库。「计算同一设备架构」。
  3. cuDNN(v7.4.2)——基于 CUDA 的深度学习基元库。「CUDA 深度学习库」。
  4. TensorFlow(v1.12.0)——谷歌开发的深度学习框架,保证TensorFlow>=1.5

第三种

  1. Nvidia GPU 驱动(v418)——允许系统获得 GPU 带来的加速。
  2. CUDA(v10.1)——GPU C 语言库。「计算同一设备架构」。
  3. cuDNN(v7.6.4)——基于 CUDA 的深度学习基元库。「CUDA 深度学习库」。
  4. TensorFlow(v1.14.0)——谷歌开发的深度学习框架

    安装准备

前提机器上面有支持CUDA的Nvidia GPU,查看支持CUDA的GPU列表:

https://developer.nvidia.com/cuda-gpus

1
lspci | grep -i nvidia

我这边服务器使用 NVIDIA显卡的版本信息:

1
Tesla V100 SXM2 16GB

验证系统是否是受支持的Linux版本

1
2
uname -m && cat /etc/redhat-release
# CentOS Linux release 7.6.1810 (Core)

到这里查看受支持的Linux版本:http://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#system-requirements

验证系统是否有GCC编译环境

1
2
gcc -v
# gcc version 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC)

没有的话需要先安装GCC,Centos7的最小化安装一般勾选上开发软件都会自动安装GCC

验证系统是否安装了正确的内核头文件和开发包

1
sudo yum install kernel-devel-$(uname -r) kernel-headers-$(uname -r)

开始安装

禁用nouveau

nouveau是一个第三方开源的Nvidia驱动,一般Linux安装的时候默认会安装这个驱动。 这个驱动会与Nvidia官方的驱动冲突,在安装Nvidia驱动和和CUDA之前应先禁用nouveau

查看系统是否正在使用nouveau

1
lsmod | grep nouveau

如果有显示内容,则进行以下的步骤: Centos7禁用方法

1
#新建一个配置文件sudo vim /etc/modprobe.d/blacklist-nouveau.conf#写入以下内容blacklist nouveauoptions nouveau modeset=0#保存并退出:wq#备份当前的镜像sudo mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak#建立新的镜像sudo dracut /boot/initramfs-$(uname -r).img $(uname -r)#重启sudo reboot#最后输入上面的命令验证lsmod | grep nouveau

安装驱动

GPU 服务器正常工作需安装正确的基础设施软件,对 NVIDIA 系列 GPU 而言,有两个层次的软件包需要安装:

  • 驱动 GPU 工作的硬件驱动程序。
  • 上层应用程序所需要的库。

若把 NVIDIA GPU 用作通用计算,需要安装 Tesla Driver + CUDA:

rpm 包安装

  1. 打开 NVIDIA 驱动下载链接 http://www.nvidia.com/Download/Find.aspx
  2. 选择支持 RPM 包的操作系统,并获取该 RPM 包的下载链接。例如:选择 Linux 64-bit CUDA Toolkit: 10.1, 得到下载链接:https://www.nvidia.cn/Download/driverResults.aspx/152484/cn,按照提示下载并安装驱动。
  3. 使用rpm命令安装 rpm 包。
    1
    rpm -i nvidia-driver-local-repo-rhel7-418.87.01-1.0-1.x86_64.rpm
  1. 使用yum命令清除缓存。
    1
    yum clean all
  1. 使用yum命令安装驱动。
    1
    yum install cuda-drivers
  1. 重启机器
    1
    reboot
  1. 运行nvidia-smi能输出正确信息代表驱动安装成功。

CUDA 安装

CUDA (Compute Unified Device Architecture) 是显卡厂商 NVIDIA 推出的运算平台。 CUDA™ 是一种由 NVIDIA 推出的通用并行计算架构,该架构使 GPU 能够解决复杂的计算问题。 它包含了 CUDA 指令集架构(ISA)以及 GPU 内部的并行计算引擎。 开发人员现在可以使用 C 语言, C++ , FORTRAN 来为 CUDA™ 架构编写程序,所编写出的程序可以在支持 CUDA™ 的处理器上以超高性能运行。

最快捷的安装方法:conda install cudatoolkit=10.0

采用 NVIDIA 显卡的GPU 云服务器,需要安装 CUDA 开发运行环境:

  1. 先查看官方给的CUDA和显卡驱动Driver的匹配兼容性,进行CUDA Toolkit的版本选择 (9.0~10.1 应该均可)
  2. 选择操作系统和安装包。以 CentOS 7 64 位的CUDA驱动下载为例,下载 Base 以及 Patch 补丁
  3. 在 CUDA 安装包所在目录下运行如下命令(run_file)
    下载10.0版本的CUDA
    1
    2
    3
    wget -c https://developer.nvidia.com/compute/cuda/10.0/Prod/local_installers/cuda_10.0.130_410.48_linux
    wget https://developer.download.nvidia.com/compute/cuda/10.2/Prod/local_installers/cuda_10.2.89_440.33.01_linux.run
    sudo sh cuda_10.2.89_440.33.01_linux.run

下载10.1版本的CUDA
安装

  • 安装具体细节:之前已经安装过显卡驱动程序,因此在提问是否安装显卡驱动时选择no,其他默认(NVIDIA Accelerated Graphics Driver)
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    (是否同意条款,必须同意才能继续安装)
    accept/decline/quit: accept

    (这里不要安装驱动,因为已经安装最新的驱动了,否则可能会安装旧版本的显卡驱动,导致重复登录的情况)
    Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 410.48?
    (y)es/(n)o/(q)uit: n

    Install the CUDA 10.0 Toolkit?(是否安装CUDA 10 ,这里必须要安装)
    (y)es/(n)o/(q)uit: y

    Enter Toolkit Location(安装路径,使用默认,直接回车就行)
    [ default is /usr/local/cuda-10.0 ]:

    Do you want to install a symbolic link at /usr/local/cuda?(同意创建软链接)
    (y)es/(n)o/(q)uit: y

    Install the CUDA 10.0 Samples?(不用安装测试,本身就有了)
    (y)es/(n)o/(q)uit: n

    Installing the CUDA Toolkit in /usr/local/cuda-10.0 ...(开始安装)

    ===========
    = Summary =
    ===========

    Driver: Not Selected
    Toolkit: Installed in /usr/local/cuda-10.1/
    Samples: Installed in /home/lhadmin/, but missing recommended libraries

    Please make sure that
    - PATH includes /usr/local/cuda-10.1/bin
    - LD_LIBRARY_PATH includes /usr/local/cuda-10.1/lib64, or, add /usr/local/cuda-10.1/lib64 to /etc/ld.so.conf and run ldconfig as root

    To uninstall the CUDA Toolkit, run cuda-uninstaller in /usr/local/cuda-10.1/bin

    Please see CUDA_Installation_Guide_Linux.pdf in /usr/local/cuda-10.1/doc/pdf for detailed information on setting up CUDA.
  1. 添加CUDA环境变量
    在 ~/.bashrc 里再设置一下cuda的环境变量:
    1
    2
    3
    4
    5
    vi ~/.bashrc
    export PATH=/usr/local/cuda-10.1/bin${PATH:+:${PATH}}
    export LD_LIBRARY_PATH=/usr/local/cuda-10.1/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
    export CUDA_HOME=/usr/local/cuda-10.1
    source ~/.bashrc

在 /etc/profile 里也设置一下cuda的安装路径及相应的库文件:(这个似乎可以不改)
配置LD路径(这个似乎也可以不改):

  1. 查看cuda版本:
    1
    2
    nvcc -V
    cat /usr/local/cuda/version.txt

_卸载CUDA_

To uninstall the CUDA Toolkit, run cuda-uninstaller in /usr/local/cuda-10.1/bin

1
2
sudo /usr/local/cuda-10.1/bin/cuda-uninstaller
sudo rm -rf /usr/local/cuda-10.1/

CuDNN 安装

  1. 最快捷的方法(有一定概率安装成功仍找不到cudnn,以及和你安装的cuda版本不对应的情况…)
1
conda install cudnn=7.6.5
  1. 传统安装方法

可以根据你想要的cudnn版本号对其中的cuda版本(如10.0)和cudnn版本(v7.6.5)进行修改,然后就可以下载cudnn了。

  • 下载完毕后解压
    1
    2
    cd ~/Downloads/
    tar -zxvf cudnn-*.tgz
  • 然后将cuDNN中的bin、include、lib文件覆盖cuda安装目录下即可
    1
    2
    3
    4
    5
    cd /software/
    sudo cp cuda/include/cudnn.h /usr/local/cuda/include/
    sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/
    sudo chmod a+r /usr/local/cuda/include/cudnn.h
    sudo chmod a+r /usr/local/cuda/lib64/libcudnn*
  • 验证
    1
    2
    3
    4
    5
    6
    cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
    #or
    git clone https://github.com/wilhelmguo/cudnn_samples_v7.git
    cd cudnn_samples_v7/mnistCUDNN
    make
    ./mnistCUDNN
  • 可能遇到ibcudnn.so.5 is not a symbolic link错误
    1
    ls -lha /usr/local/cuda/lib64/libcudnn*

If libcudnn.so and libcudnn.so.5 are not symlinks then this is the reason why you got this error.
If so, this is what you need to do:
PS: 最好参照本文最后一节 错误解决 进行软链接

配置Pip国内镜像

  • 临时使用:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple tensorflow-gpu
  • 永久修改,一劳永逸:
    Linux下,修改 ~/.pip/pip.conf (没有就创建一个文件夹及文件。文件夹要加“.”,表示是隐藏文件夹)
    内容如下:

    • 阿里源(非常快)

      1
      2
      3
      4
      5
      [global]
      index-url = https://mirrors.aliyun.com/pypi/simple/

      [install]
      trusted-host=mirrors.aliyun.com
    • 清华源(贼鸡儿的快)

      1
      2
      3
      4
      5
      [global]
      index-url = https://pypi.tuna.tsinghua.edu.cn/simple

      [install]
      trusted-host = https://pypi.tuna.tsinghua.edu.cn

PS: windows下,直接在user目录中创建一个pip目录,如:C:\Users\xx\pip,新建文件pip.ini。内容同上。

安装 Anaconda3

1
2
3
yum -y install wget
sudo wget -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-2022.10-Linux-x86_64.sh
bash Anaconda3-2022.10-Linux-x86_64.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
$ Do you accept the license terms? [yes|no]
$ [no] >>>
$ Please answer 'yes' or 'no':
$ >>> yes
$ ...
$ Anaconda3 will now be installed into this location:
$ /root/anaconda3
$ /home/ningshixian/anaconda3
$
$ - Press ENTER to confirm the location
$ - Press CTRL-C to abort the installation
$ - Or specify a different location below
$
$ [/root/anaconda3] >>> 更改要输入绝对路径
$ ...
$ Do you wish the installer to initialize Anaconda3
$ by running conda init? [yes|no]
$ [no] >>> no
$ ...

安装成功之后,配置环境变量

1
2
vi ~/.bashrc				# 每次启动新shell时运行的命令
vi ~/.bash_profile # 只运行一次,如定义环境变量PATH

在文件最后加入如下语句(路径需要根据自己的安装位置更改)

1
export PATH="/home/ningshixian/anaconda3/bin:$PATH"

按住shift键+:键,输入wq,保存文件并退出;最后使用如下命令刷新环境变量即可:

1
source ~/.bashrc

检查是否成功

1
2
which conda
which pip

anaconda安装完成后需要更换为清华源以提高相关包的下载速度,在终端依次执行这些命令:

1
2
3
4
5
6
7
8
9
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
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 --append channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/fastai/
conda config --append channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
conda config --append channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/

# 搜索时显示通道地址
conda config --set show_channel_urls yes

Conda 虚拟环境

创建

1
2
3
conda create --name gptenv python=3.9

python -m pip install -i https://mirrors.aliyun.com/pypi/simple/ -U setuptools

_安装好后,使用activate激活某个环境_

1
2
3
activate python34 # for Windows

source activate python34 # for Linux & Mac

退出虚拟环境

1
2
3
deactivate python34 # for Windows

source deactivate python34 # for Linux & Mac

查看所有已安装虚拟环境

1
conda env list

复制别人的虚拟环境

1
conda create -n BBB --clone AAA

_删除一个已有的环境_

1
conda remove -name myenv --all

Poetry 虚拟环境(推荐使用)

Poetry 是后期之秀,支持多种虚拟环境管理,提供依赖关系校验,和依赖的 poetry.lock 文件,也有自动管理依赖的操作。同时可以用于 Python 工程打包和发布。

它允许您声明您的项目所依赖的库,它将为您管理(安装/更新)它们。Poetry 提供了一个锁定文件以确保可重复安装,并可以构建您的项目以供分发。 poetry 通过配置文件 pyproject.toml 来完成依赖管理、环境配置、基本信息配置等功能,相当于把 Python 项目中的 Pipfile、setup.py、setup.cfg、requirements.txt、MANIFEST.in 融合到一起。

安装:

1
2
pip install poetry
poetry --version

使用:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# 初始化项目,创建当前项目的虚拟环境,生成 `pyproject.toml` 文件
poetry init

# 进入当前项目的虚拟环境
poetry shell

# 安装依赖
poetry add tox requests
# 更新指定的依赖
poetry update requests==1.2.1
# 卸载依赖库
poetry remove scrapy

# 部署&安装pyproject.toml文件中的全部依赖
poetry install

# 查看所有依赖
poetry show
# 仅所有开发依赖
poetry show --only dev
# 生成 requirements.txt
poetry export -f requirements.txt --output --without-hashes

# 查找当前项目的虚拟环境
poetry enb list --full-path
# 删除虚拟环境路径,指定对应的解析器版本即可
poetry env remove <python3>

# 构建项目(略)
poetry build

# 发布项目(略)
poetry publish

安装TensorFlow

安装 Keras

1
sudo pip install keras

错误解决

1. so文件找不到的错误

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2019-11-04 21:46:44.297090: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'libcudart.so.10.0'; dlerror: libcudart.so.10.0: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /usr/local/cuda-10.1/lib64:/usr/local/cuda-10.1/lib64

2019-11-04 21:46:44.300375: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcublas.so.10.0

2019-11-04 21:46:44.300532: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'libcufft.so.10.0'; dlerror: libcufft.so.10.0: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /usr/local/cuda-10.1/lib64:/usr/local/cuda-10.1/lib64

2019-11-04 21:46:44.300625: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'libcurand.so.10.0'; dlerror: libcurand.so.10.0: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /usr/local/cuda-10.1/lib64:/usr/local/cuda-10.1/lib64

2019-11-04 21:46:44.300739: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'libcusolver.so.10.0'; dlerror: libcusolver.so.10.0: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /usr/local/cuda-10.1/lib64:/usr/local/cuda-10.1/lib64

2019-11-04 21:46:44.300822: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'libcusparse.so.10.0'; dlerror: libcusparse.so.10.0: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /usr/local/cuda-10.1/lib64:/usr/local/cuda-10.1/lib64

2019-11-04 21:46:44.309809: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudnn.so.7

2019-11-04 21:46:44.309870: W tensorflow/core/common_runtime/gpu/gpu_device.cc:1641] Cannot dlopen some GPU libraries. Please make sure the missing libraries mentioned above are installed properly if you would like to use GPU. Follow the guide at https://www.tensorflow.org/install/gpu for how to download and setup the required libraries for your platform.
Skipping registering GPU devices...

主要错误信息为Could not dlopen library 'libcublas.so.10.0'。造成这样的原因是链接文件不对造成的。这种问题很好解决,下面我罗列一些常发生这样错误的so文件解决办法,首先大家要确定报错的so文件名称是什么,例如上面报错的是libcublas.so.10.0这个文件,那么就找到对应的libcublas库文件,然后在/usr/local/cuda-10.1/lib64/目录下创建一个libbcublas.so.10.0链接文件即可。

出现该错误消息,表示会使用CPU,它可以识别GPU,但找不到与cuda相关的库文件。(CUDA 10.1或10.0文件内容似乎没有太大不同……参考

解决方法

  1. 要么将cuda降为10.0;
  2. 要么则执行软链接命令

根据配置文件 LD_LIBRARY_PATH=lib_.so.10.1_
将相应的库文件软链接到/usr/local/cuda-10.0/lib64/,使得可以找到*.so.10.0
在路径中找到对应的文件,为找不到的lib*.so.10.0创建符号链接

创建一个CUDA 10.0文件夹(可省略此步)

1
sudo cp -r /usr/local/cuda-10.1 /usr/local/cuda-10.0

针对性软链接

1
2
3
4
5
6
7
8
9
10
# libcudart也可能是这个 sudo ln -s /usr/local/cuda-10.1/lib64/libcudart.so.10.1.243 /usr/local/cuda-10.0/lib64/libcudart.so.10.0

sudo ln -s /usr/local/cuda-10.1/lib64/libcudart.so.10.1.1.243 /usr/local/cuda-10.0/lib64/libcudart.so.10.0
sudo ln -s /usr/local/cuda-10.1/lib64/libcublas.so.10.1.1.243 /usr/local/cuda-10.0/lib64/libcublas.so.10.0
sudo ln -s /usr/local/cuda-10.1/lib64/libcufft.so.10.1.1.243 /usr/local/cuda-10.0/lib64/libcufft.so.10.0
sudo ln -s /usr/local/cuda-10.1/lib64/libcurand.so.10.1.1.243 /usr/local/cuda-10.0/lib64/libcurand.so.10.0
sudo ln -s /usr/local/cuda-10.1/lib64/libcusolver.so.10.2.0.243 /usr/local/cuda-10.0/lib64/libcusolver.so.10.0
sudo ln -s /usr/local/cuda-10.1/lib64/libcusparse.so.10.3.0.243 /usr/local/cuda-10.0/lib64/libcusparse.so.10.0

sudo ln -s /usr/lib64/libcublas.so.10.2.1.243 /usr/local/cuda-10.0/lib64/libcublas.so.10.0

再次修改环境配置

1
2
3
4
5
6
7
vi ~/.bashrc

export PATH=/usr/local/cuda-10.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-10.0/extras/CUPTI/lib64:$LD_LIBRARY_PATH

source ~/.bashrc

PS: 以上 cuda-10.0 应该都可以换成 cuda-10.1

若出现 Error: failed to create symbolic link,可采取强制覆盖方法

1
ln -sf sudo ln -s /usr/local/cuda-10.1/lib64/libcudart.so.10.1.243 /usr/local/cuda-10.0/lib64/libcudart.so.10.0

2. cuda driver的驱动器跟cuda不匹配

Failed to initialize NVML: Driver/library version mismatch

1
在版本不匹配时,适当降低或者更新驱动器版本即可。另外驱动器版本更新之后可能需要重启系统,当然通过如下方法不用重启也可以更新版本。首先尝试删除nvidia相关的kernel mod

sudo rmmod nvidia

1
2

当然这里一般会报个Module nvidia is in use by的错误。不碍事,我们先查看下kernel mod 的依赖情况:

ls mod | grep nvidia
1
2

根据根据结果逐一rmmod即可。

sudo rmmod nvidia_uvm
sudo rmmod nvidia_modeset
1
2

最后再rmmod nvidia即可达到驱动器更新效果。

sudo rmmod nvidia
nvidia-smi
1
2
3
4
```

### 3.多个 cuda 版本之间进行切换

在切换cuda版本时

rm -rf /usr/local/cuda#删除之前创建的软链接
sudo ln -s /usr/local/cuda-8.0/ /usr/local/cuda/
nvcc —version #查看当前 cuda 版本

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2016 NVIDIA Corporation
Built on Mon_Jan_23_12:24:11_CST_2017
Cuda compilation tools, release 8.0, V8.0.62

cuda8.0 切换到 cuda9.0

rm -rf /usr/local/cuda
sudo ln -s /usr/local/cuda-9.0/ /usr/local/cuda/
nvcc —version

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

### 4. tensorflow-gpu运行出错: Could not create cudnn handle

错误信息如下:

> Successfully opened dynamic library libcublas.so.10.0
>
> failed to create **cublas** handle: **CUBLAS**_STATUS_NOT_INITIALIZED
>
> Successfully opened dynamic library libcudnn.so.7
>
> Could not create **cudnn** handle: **CUDNN**_STATUS_NOT_INITIALIZED
>
> Possibly insufficient driver version: 418.87.0


[解决:](https://github.com/pcpLiu/DeepSeqPan/issues/2)


In the end, the problem was that it did not use the system’s Cudnn version but an incompatible version which came with the creation of the Anaconda environment. By overwriting this with the system’s version manually, I could solve the problem.
1
2
3
4
5
6
7
8
9
10
11
12
13

无效解决方案1:也即cudnn的版本错误(按照conda list显示的cuda版本[必须低于](https://webcache.googleusercontent.com/search?q=cache:8vC2brZLV20J:https://www.machunjie.com/message-board+&cd=19&hl=zh-CN&ct=clnk&gl=us)nvcc -V查看的系统版本),导致[对应cublas64_10.dll出错](https://www.geek-share.com/detail/2806021724.html),重新将手动安装的cudnn文件覆盖就行?

无效解决方案2:pytorch构建数据集时调用了gpu导致tensorflow不能占用gpu了?

无效解决方案3:`sudo rm -f ~/.nv`

**有效解决方案:**重新建一个虚拟环境,重新安装依赖包,记得在 ~/.bashrc 里再设置一下对应版本cuda的环境变量,问题解决👍🏻

## 免费的GPU资源

colab地址:


https://colab.research.google.com/notebooks/
1
2
3

kaggle地址:


https://www.kaggle.com/
1
2
3

nvidia官方文档地址:


https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html
```

参考


✋🏻手把手搭建深度学习环境
http://example.com/2019/10/24/2019-10-24-✋🏻手把手搭建深度学习环境/
作者
NSX
发布于
2019年10月24日
许可协议