文章目录

  • 前言
  • 一、查看windows的CUDA版本
  • 二、使用步骤
  • 1.各个GPU版本tensorflow对应的CUDA版本
  • 2.安装对应的版本的CUDA,我这里选择安装cuda11.0的
  • 2.安装对应的版本的CUDNN,我这里下载的是v8.0.5
  • 3.在Anaconda里安装tensorflow
  • (1)打开anaconda自带的Anaconda Prompt
  • (2)创建新的环境,我命名为“tf2.4”,python选择3.7版本的
  • (3)激活新的环境
  • (4)在新的环境安装tensorflow
  • (5)测试tensorflow有没有安装成功
  • (6)安装keras


前言

给工作站配置本地训练模型的环境,我这里要配置的是win10:anaconda+cuda11.0+cudnn8.0.5+tensorflow2.4.0+keras2.4.3


一、查看windows的CUDA版本

(1)找到这个NVIDIA控制面板:

CUDA两块gpu怎么调用 cuda对应gpu_python


NVIDIA控制面板,点击左下角系统信息:

CUDA两块gpu怎么调用 cuda对应gpu_CUDA两块gpu怎么调用_02


点击组件:就显示CUDA的信息了,我这里是11.7版本,表示最高支持11.7的cuda。也就是cuda可以安装比11.7低的版本,但是不能比它高,向下兼容,不需要和11.7保持一致。

CUDA两块gpu怎么调用 cuda对应gpu_tensorflow_03

二、使用步骤

1.各个GPU版本tensorflow对应的CUDA版本

GPU版本的地址:https://tensorflow.google.cn/install/source_windows?hl=en#gpu

Cpu版本的地址:https://tensorflow.google.cn/install/source_windows?hl=en#cpu

CUDA两块gpu怎么调用 cuda对应gpu_CUDA两块gpu怎么调用_04

2.安装对应的版本的CUDA,我这里选择安装cuda11.0的

各个版本的cuda:https://developer.nvidia.com/cuda-toolkit-archive

不翻墙的话网页打开特别慢,我就是慢慢等的,找到自己要的版本:11.0

我下载好传到资源里了:

CUDA两块gpu怎么调用 cuda对应gpu_python_05


点进去下载:

CUDA两块gpu怎么调用 cuda对应gpu_python_06

2.安装对应的版本的CUDNN,我这里下载的是v8.0.5

官网链接:https://developer.nvidia.com/rdp/cudnn-download

我下载好传到资源里了:

CUDA两块gpu怎么调用 cuda对应gpu_keras_07


具体cuda和cudnn安装与后面的配置环境可以参考博客:


3.在Anaconda里安装tensorflow

anaconda安装见:

(1)打开anaconda自带的Anaconda Prompt

CUDA两块gpu怎么调用 cuda对应gpu_windows_08

(2)创建新的环境,我命名为“tf2.4”,python选择3.7版本的

conda create --name tf2.4 python=3.7

在下载的过程中,可能会比较慢,如果新创建的环境和目前的环境中python版本一样,就没必要加上后面的‘python=3.7’了,这样会快点。

我这里报了个错误:

> WARNING: A newer version of conda exists. <

current version: 4.8.2

latest version: 4.14.0

我直接按y确定继续,就成功了。有的可能不成功,网上搜了一下,可能是网络原因,一直按照给的提示,输入命令尝试,附上两种解决方式:



CUDA两块gpu怎么调用 cuda对应gpu_windows_09


CUDA两块gpu怎么调用 cuda对应gpu_keras_10

(3)激活新的环境

conda activate tf2.4
//要退出当前环境,可以输入
//deactivate

CUDA两块gpu怎么调用 cuda对应gpu_python_11

(4)在新的环境安装tensorflow

conda install tensorflow-gpu==2.4.0 -i https://pypi.tuna.tsinghua.edu.cn/simple

其中-i 参数指明了下载源,这里依然使用了清华的镜像节点,以获得较快的下载速度。

CUDA两块gpu怎么调用 cuda对应gpu_CUDA两块gpu怎么调用_12


CUDA两块gpu怎么调用 cuda对应gpu_tensorflow_13

(5)测试tensorflow有没有安装成功

#在创建的环境中输入  python

我这里报了个错,安装的是Anaconda中自带的python版本,python处于conda环境中,使用python需要激活,错误警告如下图所示:

Python 3.7.6 (default, Jan  8 2020, 20:23:39) [MSC v.1916 64 bit (AMD64)] :: Anaconda, Inc. on win32

Warning:
This Python interpreter is in a conda environment, but the environment has
not been activated.  Libraries may fail to load.  To activate this environment
please see https://conda.io/activation

CUDA两块gpu怎么调用 cuda对应gpu_python_14


解决方案:

1、可以参考下面两个博客,试着永久解决python环境的报错:



2、非一次性解决(我的工作站管理员权限被禁了,懒得找IT弄):

conda info --envs #查看当前环境的路径

CUDA两块gpu怎么调用 cuda对应gpu_windows_15


激活当前环境的路径:(这种方法只能在本此终端里运行无Warning报错,重新打开cmd输入python依旧会出现Warning报错。)

conda activete D:\Anaconda3\envs\tf2.4

不过我这里又报了个其他错误:

Type "help", "copyright", "credits" or "license" for more information.
Failed calling sys.__interactivehook__
Traceback (most recent call last):
  File "D:\Anaconda3\lib\site.py", line 439, in register_readline
    readline.read_history_file(history)
  File "D:\Anaconda3\lib\site-packages\pyreadline\rlmain.py", line 165, in read_history_file
    self.mode._history.read_history_file(filename)
  File "D:\Anaconda3\lib\site-packages\pyreadline\lineeditor\history.py", line 82, in read_history_file
    for line in open(filename, 'r'):
UnicodeDecodeError: 'gbk' codec can't decode byte 0xa9 in position 380: illegal multibyte sequence

CUDA两块gpu怎么调用 cuda对应gpu_keras_16


网上查阅资料后发现这是win10下特有的问题,解决方案如下:

打开报错的倒数第三行的history.py文件,定位到82行,源代码如下:

try:
            for line in open(filename, 'r'):
                self.add_history(lineobj.ReadLineTextBuffer(ensure_unicode(line.rstrip())))

在82行处添加代码:encoding=‘utf-8’

try:
            for line in open(filename, 'r',encoding='utf-8'):
                self.add_history(lineobj.ReadLineTextBuffer(ensure_unicode(line.rstrip())))

重新执行python,成功:

CUDA两块gpu怎么调用 cuda对应gpu_python_17


继续在窗口中输入:

import tensorflow as tf

CUDA两块gpu怎么调用 cuda对应gpu_keras_18

接着输入,最后返回true,说明成功

tf.test.is_gpu_available()

CUDA两块gpu怎么调用 cuda对应gpu_python_19


也可以打印下版本号,能打印出来说明安装成功:

print(tf.__version__)

CUDA两块gpu怎么调用 cuda对应gpu_keras_20


退出python命令行:

exit()

(6)安装keras

直接在当前环境命令行安装就行:我这里装的是2.4.3版本

pip install keras==2.4.3

依次运行下面几行,验证有没有装报错,安装成功:

python
from keras import backend as K
import tensorflow as tf
tf_session = tf.compat.v1.Session(graph=tf.compat.v1.get_default_graph())