TensorFlow-GPU的安装及keras的安装

人工智能26

背景:需要运行一个基于 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 出现的一些问题即解决办法

相关文章
电子测量类期刊筛选 人工智能

电子测量类期刊筛选

抵扣说明: 1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。 2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。 Original: https://blog.cs...
libc and libc++ 人工智能

libc and libc++

C 的标准库函数有哪些?C++的标准库函数有哪些?Coding时要尽量使用之,要注意哪些问题? C standard library The C standard library or libc is...
配置深度学习环境(tensorflow-gpu版) 人工智能

配置深度学习环境(tensorflow-gpu版)

啊哦~你想找的内容离你而去了哦 内容不存在,可能为如下原因导致: ① 内容还在审核中 ② 内容以前存在,但是由于不符合新 的规定而被删除 ③ 内容地址错误 ④ 作者删除了内容。 可以到 建议专区 反馈...
opencv+opencv_contrib编译安装 人工智能

opencv+opencv_contrib编译安装

文章目录 前言 一、安装环境 二、安装环境下载 三、安装步骤 四、配置opencv环境 前言 安装opencv_contrib,主要是需要调用aruco检测,进行手眼标定。 一、安装环境 Window...
Neo4j CQL基础 人工智能

Neo4j CQL基础

图数据库是基于图论实现的一种NoSQL数据库,其数据存储结构和数据查询方式都是以图论为基础的。 ​ 图数据库擅长处理具有大量连接的数据。 neo4j由节点、属性、关系、标签、数据浏览器组成。 一个节点...
LSTM实现股票预测 人工智能

LSTM实现股票预测

LSTM实现股票预测 1、传统RNN的缺点 2、LSTM(长短时记忆网络) * 2.1 原理 2.2 举例 2.3 Tensorflow2描述LSTM层 3、LSTM实现股票预测 * 3.1 数据源 ...
标签平滑(label smoothing) 人工智能

标签平滑(label smoothing)

在常见的多分类问题中,先经过softmax处理后进行交叉熵计算,原理很简单可以将计算loss理解为,为了使得网络对测试集预测的概率分布和其真实分布接近,常用的做法是使用one-hot对真实标签进行编码...