背景:需要运行一个基于 keras的 BERT+BiLSTM+CRF的 NER项目,因此写了这篇小记,记录环境准备的过程和步骤。
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镜像源
- 通过下面这一行代码查看本机 anaconda的 conda镜像源有哪些。
conda config --show channels
- 本机查询结果如下图所示,由图可知,本机没有配置镜像源,为默认的,所以下载东西的时候网速会比较慢。
- 为 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
2.1.2pip镜像源
清华镜像源:https://pypi.tuna.tsinghua.edu.cn/simple
阿里云镜像源:https://mirrors.aliyun.com/pypi/simple/
- pip安装的时候大部分的包都不是很大,因此这里选择在 pip命令后面使用参数
-i
来临时指定镜像源。 - 想要永久有效,可以参考文章:https://blog.csdn.net/anglemanyi/article/details/112647242
2.2先直接安装TensorFlow-GPU
这里安装的 TensorFlow版本为 1.14.0
- 输入以下命令安装 TensorFlow-gpu,可以看到,指定了镜像源之后速度比原来快多了(原来只有几十K)。
pip install tensorflow-gpu==1.14.0 -i https://mirrors.aliyun.com/pypi/simple/
- 安装完成后,进入 Python编辑器,通过如下命令尝试导入 tensorflow,发现报了下图所示的错误。
import tensorflow as tf
- 返回的所有错误信息主要意思就是缺少了 cudart64_100.dll,而且最后也提示我们需要安装 CUDA10.0。
2.3安装CUDA和cuDNN
2.3.1弄清版本要求
TensorFlow、 CUDA以及 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
- 先查看一下版本。我需要安装的是 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下)。
- 查看自己电脑的驱动程序版本:在命令行输入
nvidia-smi
,可以看到本机的显卡驱动程序版本为496.49 ≥ 411.31 496.49\geq411.31 4 9 6 .4 9 ≥4 1 1 .3 1,符合要求。
- 需要注意的的是,①某一个显卡驱动程序版本之下,可以使用多种版本的 CUDA。②虽然通过 TensorFlow官网我们知道 TensorFlow-GPU-1.14.0版本对应的 cudnn版本为7.4,但其实这个不是必须的,但我们必须确保对应的 cuda版本为 10.0,然后看哪一版本的 cudnn支持 CUDA10.0(通过2.3节最开始列出的 cuDNN官网可查询)。根据下图所示内容,我们可以使用 cudnn7.6.5。
; 2.3.2开始安装
CUDA官网:https://developer.nvidia.com/cuda-gpus
cuDNN官网:https://developer.nvidia.com/cudnn
目前知道的有两种安装方式:
- ①通过官网,下载可执行文件然后在本地安装。值得注意的是,用这种方式安装 CUDA的时候,安装的内容非常全面,甚至也包括了显卡驱动程序,然而我们只需要其中的一部分,来支持 TensorFlow的运作,所以就有了第二种方式。
- ②通过在虚拟环境中使用
conda
命令来安装,这样方便快捷,便于管理(前提是需要确保自己电脑上的显卡驱动程序的版本符合要求)。
这里演示的就是采用的②中所述的方法。
- 由 2.3.1的叙述可知我们要安装的是 CUDA10.0.130。在 conda虚拟环境中,直接使用下面的命令即可安装(已经在 2.1.1中配置了 conda的国内镜像源):
conda install cudatoolkit=10.0.130
- CUDA安装完成之后, conda其实是会自动匹配对应的 cuDNN,因此直接输入下面的命令即可。它自动匹配出来的 cuDNN版本为 7.6.5,正是我们在 2.3.1节看到的那样。
conda install cudnn
2.4验证安装
- 分别输入以下命令,得到以下三张图的结果就说明没有问题了。
import tensorflow as tf
print(tf.__version__)
print(tf.test.is_gpu_available())
3、安装keras
安装完 TensorFlow之后便可以开始 keras的安装。
这里将要用到的有 keras、 keras_contrib、 keras_bert.
3.1keras安装
- 通过 keras官网可以知道, keras可以直接通过如下
pip
命令在虚拟环境中进行安装。
pip install keras==2.2.4
3.2keras_contrib安装
- 尝试使用 pip的方式安装,但是多次尝试无法成功。
- 百度之后,发现需要通过 git进行安装。
; 3.2.1安装git
git可以使用图形化安装方式,也可以使用命令行安装方式。此处采用命令行方式在虚拟环境中进行安装。
- 激活虚拟环境,再输入下面的命令,便可成功安装,如下图所示。
conda install git
3.2.2安装keras_contrib
安装好 git,就可以通过
git+网址
的方式进行安装了
但是,需要注意,由于 GitHub访问很慢,因此选择在 gitee上找了一个对应的 keras_contrib
- 如下图所示,直接从 GitHub进行 git安装的话,可能会访问不了
- 因此,这里通过 gitee安装。输入以下命令即可完成安装,如下图所示。
pip install git+https://gitee.com/BenjaminHb/keras-contrib.git
3.3keras_bert安装
- 这个可以通过
pip
直接安装,输入以下命令即可。
pip install keras-bert
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.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)
- 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 出现的一些问题即解决办法

电子测量类期刊筛选

libc and libc++

Python3.7 + Yolo3识别 语音播报

《30天吃掉那只 TensorFlow2.0》 3-1 低阶API示范

安装tensorflow2.5.0

科研训练2——搭建tensorflow环境

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

opencv+opencv_contrib编译安装

Neo4j CQL基础
![[Python] numpy fillna() for Dataframe](https://www.itcode1024.com/wp-content/themes/begin/prune.php?src=https://www.itcode1024.com/wp-content/themes/begin/img/loading.png&w=280&h=210&a=&zc=1)
[Python] numpy fillna() for Dataframe

LSTM实现股票预测

Attention is all you need?

标签平滑(label smoothing)

图像超分综述:超长文一网打尽图像超分的前世今生 (附核心代码)
![[Python]-sklearn模块-机器学习Python入门《Python机器学习手册》-02-加载数据:加载数据集](https://www.itcode1024.com/wp-content/themes/begin/prune.php?src=https://www.itcode1024.com/wp-content/themes/begin/img/loading.png&w=280&h=210&a=&zc=1)