RippleNet算法实现之TensorFlow-GPU-1.4.0与python3.5环境配置及numpy,sklearn配置
WIN10 配置RippleNet算法环境–TensorFlow-GPU-1.4.0配置与python3.5环境配置及numpy,sklearn配置
为了实现知识图谱的推荐的算法----RippleNet算法,本文对环境搭建做了详细的讲解。以下所有内容全部是我自己一边搭建一边总结的,避开了安装过程中产生的各种问题。如有问题,请自行百度或者问我也可以。
附:
RippleNet算法实现的环境,因为RippleNet算法需要TensorFlow-GPU-1.4.0版本,而TensorFlow-GPU-1.4.0版本又需要python3.5环境,所以需要的环境如下:
- python3.5环境(源码给的环境是python3.6.5,但是3.5的也OK)
其实我是忘记是python3.6.5的环境了,一不小心装成了3.5的,如果各位介意,一样的方法,装成3.6.5的就OK。 - TensorFlow-GPU-1.4.0
- 需要Cuda 8.0
- 安装cudnn6.0
- numpy+mkl == 1.16.6(源码给的环境是numpy1.14.5,但是没法运行程序)
- scipy
- sklearn == 0.19.1
第三四个环境配置是因为TensorFlow-gpu所需要的。因为需要TensorFlow-GPU-1.4.0,他是GPU版本的,所以的需要你自己的电脑有英伟达的显卡,我电脑的显卡是GTX1050。另外虽然我配的是python3.5的环境,但是最后证实程序时可以运行的。
1. python3.5环境配置
首先去下载Anaconda3,一定要记得,安装的是自带python3.5版本的Anaconda版本,不要去下载自带高版本的python的Anaconda3,因为在后面安装TensorFlow-GPU-1.4.0的时候会有坑,我踩过的坑。步骤如下:
1.1 下载anaconda3-4.2.0版本(切记)
anaconda3-4.2.0版本,点击此处下载安装包,此安装包默认python3.5环境,截图如下:(如果此处链接没打开,各位可以自己搜一下版本信息,下载相应的版本信息就OK了)
下载好后,打开安装包,一路next就好,安装完成后,开始菜单就会有如下图所示的图标:
用管理员权限,管理员权限,管理员权限!!!打开anaconda prompt。后续的操作记得要用这个anaconda prompt来操作。输入:
python
就会显示配置的Anaconda3信息与python信息,所以一定要用管理员权限打开。
OK,此时python3.5配置成功
2. TensorFlow-GPU-1.4.0配置
继续在anaconda prompt命令行下配置TensorFlow-GPU-1.4.0信息:
2.1首先创建自己的TensorFlow环境
需要创建自己的环境,命令如下:
conda create --name mytf python=3.5
如下图所示:
期间会有让你输入y,如下图:
2.2 下载TensorFlow-GPU-1.4.0
切换到自己的mytf环境下,命令如下:
activate mytf
如图:
下载TensorFlow-GPU-1.4.0:
pip install --upgrade --ignore-installed tensorflow-gpu==1.4.0
等待安装成功即可。
如果想要退出mytf环境,输入:
deactivate
安装成功。
2.3 测试是否安装成功
再验证一下是否环境搭建是否成功,重新用管理员权限打开anaconda prompt:
进入自己刚才配置的环境:
activate mytf
继续输入:
python
ok,TensorFlow-GPU-1.4.0此时已经安装完成,但是现在并不能用,还需要继续配置Cuda 8.0与cudnn6.0这两个东西。
3. Cuda 8.0与cudnn6.0安装与配置
一定要安装Cuda 8.0与cudnn6.0这两个版本的,TensorFlow-GPU-1.4.0需要的就是这两个版本!!!
3.1 Cuda 8.0安装与配置
到官网去下载Cuda 8.0,如下图所示:
安装过程一路默认就ok,最后记得去添加系统环境变量,这个就不用多说了吧,如下:
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\bin
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\bin
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\bin
就这三个就ok了。
测试一下是否安装成功,打开命令行,输入:nccc -V , 输出版本信息则安装成功,如下图:
3.2 cudnn6.0安装与配置
到官网去下载,不过需要先注册,也很简单。
下载完,解压,把解压好的文件,就是bin目录,include,lib里面的文件,放入刚刚cuda对应的目录里:
ok,此时也搞定。
4. 测试tensorflow是否安装成功
- 管理员权限打开anaconda prompt
- 切换自己的mytf环境下,输入:
activate mytf
- 输入python
python
4.输入如下代码:
import tensorflow as tf
hello=tf.constant("hello, tensorflow")
sess=tf.Session()
print(sess.run(hello))
如果输入第一句import tensorflow as tf就报错,那就说明安装的有问题,根据错误类型自己解决吧。按照我的前面的配置流程,应该没有错误的。
输出结果:
b’hello,tensorflow’
如图:
配置完成。
对于ripplenet算法的环境配置远没有结束,还需要numpy 与sklearn。
5. 配置numpy1.16.6与scipy
由于安装sklearn0.19.1需要numpy+mkl版本(numpy+mkl是一个文件)和scipy之后才可以安装,所以numpy的版本需要安装numpy-1.16.6+mkl-cp35-cp35m-win_amd.whl,这个版本省略安装mkl的步骤。注意:安装的顺序不能变,一定是先装numpy+mkl版本,再装scipy。 请继续往下看。大家也可以参考这篇文章。
5.1 卸载numpy
刚才一系列的安装之后,创建的mytf环境里,安装TensorFlow时为我们自动安装numpy,但是版本却不是我们想的1.14.5版,如下图所示:
所以还需要换成我们需要的numpy-1.16.6+mkl-cp35-cp35m-win_amd.whl版本,在自己的myth环境下输入卸载命令,命令如下:
pip uninstall numpy
5.2 安装numpy-1.16.6+mkl-cp35-cp35m-win_amd.whl
这个numpy-1.14.5+mkl-cp35-cp35m-win_amd.whl下载地址。将其放在自己的某一个文件夹下,比如我的存放路径,如图所示:
然后在自己的myth环境下,进入到你存放numpy-1.16.6+mkl-cp35-cp35m-win_amd.whl的目录下安装,安装命令:
pip install numpy-1.14.5+mkl-cp35-cp35m-win_amd64.whl
已经变成了我们想要的版本信息,完美。
5.3 安装scipy
scipy安装1.4.1版本的,同样的,到这个python扩展包网址去下载scipy-1.4.1-cp35-cp35m-win_amd64.whl这个版本文件。下载完之后同样的放到你的那个存放路径下,安装步骤与安装numpy-1.14.5+mkl-cp35-cp35m-win_amd.whl一样,这里不再赘述。
如果上述两个都安装完成,看一下文件夹里的文件,就会多出下面箭头所指的文件:
安装完成。
注意:numpy,scipy,sklearn这三个之间有版本号的要求,具体详细信息请自行百度。
6. sklearn0.19.1安装与配置
如果前面安装了都安装好了,那么下面直接在自己的myth环境下输入命令如下(注意下路径):
pip install scikit-learn==0.19.1
再看一下文件夹,多出了两个文件。
到此所需环境全部完成。
7. pycharm配置环境及运行程序。
首先去git上下载下来代码,地址已经在前面一开始就给出来了。
7.1 配置环境
找到下面这个界面,File | Settings | Project: RippleNet-master | Python Interpreter,然后点击小齿轮并点击“add”
选择自己配置环境下的python.exe,就ok了。
可以看到下面显示的包就是我们自己配置的。如果现实不全的话,就点击2的那个小绿圈。大家可以看一下在 1 位置我显示的是python3.5的环境,但是代码里给的是python3.6.5的环境,
ok,至此环境就配置好了。
7.2 运行程序
现在就到了最激动的时刻了,开始训练。
首先看一下项目的结构,data里存放的就是我们的数据,下图显示的数据文件比各位刚一打开看见的文件的多是因为我已经运行了程序,多出来的文件。src文件下就是我们的主要实现。
看一下我们的main.py文件,第一个是处理movie数据的,第二个是处理book数据的。
按照readme.md文件给的运行程序方法,
首先打开terminal在1位置,在2位置切换到src目录下,我下面这个图是正在训练的过程。
接下来输入python preprocess.py --dataset movie,用来处理movie数据,此时就会发现movie的目录下面多出了两个文件,就是我划红线的地方。
最后输入python main.py --dataset movie,就会开始训练模型,同样movie下面就会又多出两个文件:
此时训练开始,请看下图,这个过程非常的慢,训练一次我的天竟然要半个小时,一度我以为是我环境配置的出问题了,其实不是,是正在训练,只是慢而已,前面我已经说了自己电脑的配置。
最后再看一下gpu运行情况,证明就是在使用gpu做训练。
ok,至此全部搞定。
总结
如果有不对的地方请及时指正,也欢迎大家转载。