NLP:win10+pycharm+tensorflow-gpu+bert吐血整理

不羁岁月 提交于 2020-03-08 20:32:54

从几天前说起,开始学习使用bert,首先这里有两种,一种是google开源的原版的bert,一种是pytorch版的,这里主要介绍原版的bert,原版的提供了更大的控制性,如果想省事可以直接用第二种。

 一,python要求

这里需要注意的是tensorflow-gpu目前只支持2.7,3.3-3.6,如果你的python版本不对,自行重装(或者使用下面的虚拟环境)。

 二,安装Anaconda3+tensorflow-gpu

安装这东西,自行随意,我安装是为了更快的安装tensorflow-gpu。 pip install的话是从外网安装,速度慢不说,更容易挂掉,所以用这个,安装过程自行百度。

一,创建一个自定义环境python版本(版本限制如上)

打开Anaconda Prompt,位置在开始的Anaconda文件夹下。

conda create -n learn python=3.6
learn:环境名字,自定义
python=3.6:python版本号

二,安装tensorflow-gpu

这里还要提醒,最新版的bert需要tensorflow-gpu>1.10.0,否则会报如下错误

AttributeError: module 'tensorflow.contrib.tpu' has no attribute 'InputPipelineConfig'

这里不能直接pip,因为会直接装最新的,参考:https://www.tensorflow.org/install/source_windows,翻不了墙的参考:

====接上面创建完环境===
activate learn           激活环境
pip install tensorflow-gpu==1.10.0       安装

安装好还不能直接用,需要安装cuDNN,CUDA

三,安装cuDNN+CUDA

两个的版本参考上面,这里用的是CUDA9+cuDNN7

一,安装CUDA9

地址:https://developer.nvidia.com/cuda-toolkit-archive

之后选择local,其实没大区别一个在线安装,一个离线安装。

安装过程中默认就不说了,如果选择了自定义,三个文件切记不要放一个文件夹中!!!一定要区别出来!!!

 这个是我自定义的文件夹。

二,安装cuDNN7

地址:https://developer.nvidia.com/cudnn,这个需要登录,不过可以用微信,用QQ需要验证邮箱,但是你就是收不到邮件。

一定要注意版本!!!,然后选择window10,就可以了。

下载完是个压缩包这里的9不是cudnn版本,而是cuda的版本,后面的v7才是,里面是:

前方高能!!!

这里的三个文件先不动,之前安装CUDA的三个文件夹如果默认是在

如果自定义就是:这里的文件夹名字我自定义的,自定义一定要区别,Sample,Documentation和最后一个,为了区别。

把压缩包的cuDNN的三个文件夹下(每个文件夹下各一个)放到Toolkit里面的对应的三个文件夹下,切记不是Sample和Documentation,这里是把压缩包的文件,不是文件夹,拷贝到对应目录下。

三,定义环境变量

将下面环境变量变为一行添加到path里面。

E:\GPU\NVIDIA GPU Computing Toolkit\bin\cudart64_90.dll;
E:\GPU\NVIDIA GPU Computing Toolkit\lib\x64;
E:\GPU\NVIDIA GPU Computing Toolkit\include;
E:\GPU\NVIDIA GPU Computing Toolkit\extras\CUPTI\libx64;
E:\GPU\NVIDIA Corporation Samples\bin\win64;
E:\GPU\NVIDIA Corporation Samples\common\lib\x64;
E:\GPU\NVIDIA GPU Computing Toolkit\bin;
E:\GPU\NVIDIA GPU Computing Toolkit\libnvvp;

这时候你会发现还是运行不了tensorflow-gpu,这时候你保存一切,重启电脑,就可以用了。需要NAVIDA重新识别。

四,坑!

运行bert你会发现INFO:tensorflow:Running train on CPU,卧槽,神奇吧,其实没关系的,它意思只是不是在TPU上,而是包括CPU和GPU,你之后会发现:

name: GeForce GTX 960M major: 5 minor: 0 memoryClockRate(GHz): 1.176
pciBusID: 0000:01:00.0
totalMemory: 4.00GiB freeMemory: 3.35GiB

这不就跑到GPU上了吗,这点让我重装了好多。

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!