TensorFlow-GPU的安装及keras的安装

人工智能29

背景:需要运行一个基于 kerasBERT+BiLSTM+CRFNER项目,因此写了这篇小记,记录环境准备的过程和步骤。

1、建立虚拟环境

前提:先安装 Anaconda(这里我使用的是 Anaconda3)
参考链接:https://blog.csdn.net/colleges/article/details/121948153

这里的 Python版本为 Python 3.6.8

2、安装TensorFlow(GPU版本)

2.1配置conda和pip镜像源

2.1.1conda镜像源

  1. 通过下面这一行代码查看本机 anacondaconda镜像源有哪些。
conda config --show channels
  1. 本机查询结果如下图所示,由图可知,本机没有配置镜像源,为默认的,所以下载东西的时候网速会比较慢。

TensorFlow-GPU的安装及keras的安装

  1. conda配置清华镜像源,配置结果如下图所示。
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 --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/

conda config --set show_channel_urls yes

TensorFlow-GPU的安装及keras的安装

2.1.2pip镜像源

清华镜像源:https://pypi.tuna.tsinghua.edu.cn/simple
阿里云镜像源:https://mirrors.aliyun.com/pypi/simple/

  1. pip安装的时候大部分的包都不是很大,因此这里选择在 pip命令后面使用参数 -i来临时指定镜像源。
  2. 想要永久有效,可以参考文章:https://blog.csdn.net/anglemanyi/article/details/112647242

2.2先直接安装TensorFlow-GPU

这里安装的 TensorFlow版本为 1.14.0

  1. 输入以下命令安装 TensorFlow-gpu,可以看到,指定了镜像源之后速度比原来快多了(原来只有几十K)。
pip install tensorflow-gpu==1.14.0 -i https://mirrors.aliyun.com/pypi/simple/

TensorFlow-GPU的安装及keras的安装

  1. 安装完成后,进入 Python编辑器,通过如下命令尝试导入 tensorflow,发现报了下图所示的错误。
import tensorflow as tf

TensorFlow-GPU的安装及keras的安装

  1. 返回的所有错误信息主要意思就是缺少了 cudart64_100.dll,而且最后也提示我们需要安装 CUDA10.0

2.3安装CUDA和cuDNN

2.3.1弄清版本要求

TensorFlowCUDA以及 cuDNN的版本对应关系:https://www.tensorflow.org/install/source_windows
CUDA Toolkit与显卡驱动程序版本对应关系:http://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html
cuDNN官网:https://developer.nvidia.com/cudnn

  1. 先查看一下版本。我需要安装的是 TensorFlow-gpu-1.14.0,当前的 Python版本为 3.6.8,通过上面列出的第一条链接可知符合要求;所需要的 CUDA版本确实为 CUDA10,对应的 cuDNN版本为 cuDNN7.4。通过上述第二条链接,可以知道 CUDA10.0.130要求显卡驱动程序版本≥ 411.31 \geq411.31 ≥4 1 1 .3 1(Windows下)。

TensorFlow-GPU的安装及keras的安装

TensorFlow-GPU的安装及keras的安装

  1. 查看自己电脑的驱动程序版本:在命令行输入 nvidia-smi,可以看到本机的显卡驱动程序版本为496.49 ≥ 411.31 496.49\geq411.31 4 9 6 .4 9 ≥4 1 1 .3 1,符合要求。

TensorFlow-GPU的安装及keras的安装

  1. 需要注意的的是,①某一个显卡驱动程序版本之下,可以使用多种版本的 CUDA。②虽然通过 TensorFlow官网我们知道 TensorFlow-GPU-1.14.0版本对应的 cudnn版本为7.4,但其实这个不是必须的,但我们必须确保对应的 cuda版本为 10.0,然后看哪一版本的 cudnn支持 CUDA10.0(通过2.3节最开始列出的 cuDNN官网可查询)。根据下图所示内容,我们可以使用 cudnn7.6.5

TensorFlow-GPU的安装及keras的安装

; 2.3.2开始安装

CUDA官网:https://developer.nvidia.com/cuda-gpus
cuDNN官网:https://developer.nvidia.com/cudnn
目前知道的有两种安装方式:

  • ①通过官网,下载可执行文件然后在本地安装。值得注意的是,用这种方式安装 CUDA的时候,安装的内容非常全面,甚至也包括了显卡驱动程序,然而我们只需要其中的一部分,来支持 TensorFlow的运作,所以就有了第二种方式。
  • ②通过在虚拟环境中使用 conda命令来安装,这样方便快捷,便于管理(前提是需要确保自己电脑上的显卡驱动程序的版本符合要求)。

这里演示的就是采用的②中所述的方法。

  1. 2.3.1的叙述可知我们要安装的是 CUDA10.0.130。在 conda虚拟环境中,直接使用下面的命令即可安装(已经在 2.1.1中配置了 conda的国内镜像源):
conda install cudatoolkit=10.0.130
  1. CUDA安装完成之后, conda其实是会自动匹配对应的 cuDNN,因此直接输入下面的命令即可。它自动匹配出来的 cuDNN版本为 7.6.5,正是我们在 2.3.1节看到的那样。
conda install cudnn

TensorFlow-GPU的安装及keras的安装

2.4验证安装

  1. 分别输入以下命令,得到以下三张图的结果就说明没有问题了。

import tensorflow as tf

print(tf.__version__)

print(tf.test.is_gpu_available())

TensorFlow-GPU的安装及keras的安装

TensorFlow-GPU的安装及keras的安装

TensorFlow-GPU的安装及keras的安装

3、安装keras

安装完 TensorFlow之后便可以开始 keras的安装。
这里将要用到的有 keraskeras_contribkeras_bert.

3.1keras安装

  1. 通过 keras官网可以知道, keras可以直接通过如下 pip命令在虚拟环境中进行安装。
pip install keras==2.2.4

TensorFlow-GPU的安装及keras的安装

3.2keras_contrib安装

  1. 尝试使用 pip的方式安装,但是多次尝试无法成功。

TensorFlow-GPU的安装及keras的安装

  1. 百度之后,发现需要通过 git进行安装。

; 3.2.1安装git

git可以使用图形化安装方式,也可以使用命令行安装方式。此处采用命令行方式在虚拟环境中进行安装。

  1. 激活虚拟环境,再输入下面的命令,便可成功安装,如下图所示。
conda install git

TensorFlow-GPU的安装及keras的安装

3.2.2安装keras_contrib

安装好 git,就可以通过 git+网址的方式进行安装了
但是,需要注意,由于 GitHub访问很慢,因此选择在 gitee上找了一个对应的 keras_contrib

  1. 如下图所示,直接从 GitHub进行 git安装的话,可能会访问不了

TensorFlow-GPU的安装及keras的安装

  1. 因此,这里通过 gitee安装。输入以下命令即可完成安装,如下图所示。
pip install git+https://gitee.com/BenjaminHb/keras-contrib.git

TensorFlow-GPU的安装及keras的安装

3.3keras_bert安装

  1. 这个可以通过 pip直接安装,输入以下命令即可。
pip install keras-bert

TensorFlow-GPU的安装及keras的安装

4、参考文章

  • 以上是本文的全部内容,本文撰写过程中的主要参考文章如下:

①【TensorFlow-GPU安装】:

https://blog.csdn.net/m0_49090516/article/details/113576003

②【GPU、CUDA、CUDA Toolkit、cuDNN关系以及下载安装】:

https://blog.csdn.net/qq_42406643/article/details/109545766

③【在anaconda环境中使用conda命令安装cuda、cudnn、tensorflow(-gpu)】:

https://blog.csdn.net/qq_37774098/article/details/109895048

④【tensorflow 安装GPU版本,个人总结,步骤比较详细】:

https://blog.csdn.net/gangeqian2/article/details/79358543

Original: https://blog.csdn.net/colleges/article/details/123595097
Author: 骑着蜗牛环游深度学习世界
Title: TensorFlow-GPU的安装及keras的安装



相关阅读

Title: python: 开始使用tensorflow 出现的一些问题即解决办法

python 用了快一年了, 想试用一下tensorflow, 了解一下深度学习(deep learning), 但是与其他的模块不同, tensorflow用起来并不容易, 或许是刚开始吧。

  1. 版本问题,版本不同, 用法差别很大

所以,有必要首先了解自己用的是版本1.x, 或者是2.x. 可以用以下办法查版本:

a) pip list

b) conda list

c) 在python 程序内: print(tf.version)

我的版本是2.6.2

看教程, 很多给的第一个示范程序是:

l = tf.constant(23,dtype="int32",name="val1")

m = tf.constant(22,dtype="int32",name="val2")

with tf.Session() as val:

new_output=val.run(l*m)

print(new_output)

结果不运行,出错讯息是:

AttributeError "module 'Tensorflow' has no attribute 'session'"

网上查了, 以上的教科程序只适合与tensorflow 版本1.x, 不适合2.x

解决办法:

import tensorflow as tf

tf.compat.v1.disable_eager_execution()

l = tf.constant(23,dtype="int32",name="val1")

m = tf.constant(22,dtype="int32",name="val2")

with tf.compat.v1.Session() as val:

new_output=val.run(l*m)

print(new_output)

  1. interl-CPU优化/GPU问题

运行如下代码,估计其他代码也会出现同样的问题:

import tensorflow.compat.v1 as tf

tf.compat.v1.disable_eager_execution() #not working without it
a1=tf.placeholder(tf.float32)
a2=tf.placeholder(tf.float32)
a3=tf.placeholder(tf.float32)
a_sum=tf.add_n([a1,a2,a3])
sess=tf.compat.v1.Session()
sess.run(tf.global_variables_initializer())
print(sess.run(a_sum,feed_dict={a1:10,a2:20,a3:30}))

出现了警告讯息:

This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN) to use the following CPU instructions in performance-critical operations: AVX AVX2
To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags.

解决方法:

AVX(Advanced Vector Extensions-Intel® AVX) 是intel 优化CPU用于浮点计算的技术,如果有GPU了,其实不用考虑该警告讯息。 不过, 不管怎么说, 如果不愿意看到该警告讯息, 可以加上如下2行代码:

import os

Original: https://blog.csdn.net/m0_60558800/article/details/124764493
Author: 北京维多
Title: python: 开始使用tensorflow 出现的一些问题即解决办法

相关文章
GCN代码阅读 人工智能

GCN代码阅读

y_train: 保留0-140,其余部份设置为0; y_val: 保留141-639,其余部份设置为0; y_test: 保留1708-2707,其余部份设置为0; def sparse_to_tu...
计数项目下的代码行数 人工智能

计数项目下的代码行数

统计目录下的所有源码的总行数 给出工程路径、指定代码类型,计算总共有多少行代码。 以下代码的原理是,递归搜索文件夹下的源码文件,然后统计该文件有多少行,然后累加。 # -*- coding: utf-...