从几天前说起,开始学习使用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上了吗,这点让我重装了好多。
来源:CSDN
作者:燕双嘤
链接:https://blog.csdn.net/qq_42192693/article/details/104736719