300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > 从0开始建立谷歌云深度学习平台

从0开始建立谷歌云深度学习平台

时间:2021-10-09 06:27:20

相关推荐

从0开始建立谷歌云深度学习平台

对于研究深度学习的朋友来说,GPU服务器是必不可少的,但是对于很多朋友来说可能没有现成的昂贵GPU服务器供使用,因此利用云服务器来训练模型成为另一个选型。谷歌云较其他云服务器(AWS,阿里云等等)的优势在于新注册账号有$300美金的免费使用额度,对于手头并不宽裕的学生党来说这可能是一个大的利好消息。今天我就来分享一下我是如何从头开始搭建基于谷歌云的深度学习平台。

第一步,

注册谷歌账号,登陆谷歌云网站,绑定visa信用卡,领取$300免费使用额度(这一步比较简单,有不清楚的地方google一下~)。PS:1.可能需要翻墙,因为我可以翻墙,没有试过不翻墙是否能完成这一步。2.听说最近好像要先花费$25才能得到免费额度。。。

第二步,

申请GPU配额。谷歌服务器提供三种GPU,分别是K80,P100和V100,大家可以根据需要申请。初学者一般K80就够用了。PS:申请提交之后需要一定的时间审核 。

第三步,

进入谷歌云控制台,选择computer engine,打开VM(Visual Machine),点击创建实例;

Cpu选择4核15G内存,GPU选择K80

系统选择Ubuntu16.04,硬盘选择200G机械硬盘。

防火墙流量选项都勾选上。

完成之后点击创建按钮,等待几分钟之后,完成VM实例的创建。

第四步,

安装深度学习的软件环境。

1.安装anoconda

wgethttp://repo.continuum.io/archive/Anaconda3-5.0.0-Linux-x86_64.sh

bashAnaconda3-5.0.0-Linux-x86_64.sh

PS:可以选择下载安装不同的anaconda版本

为了立刻使用 Anaconda,读取你的启动文件:

source ~/.bashrc

2.安装cuda,cudnn

安装CUDA运行时环境,首先确认一下系统应该至少没有安装除nvidia-common之外的任何nvidia的包:

dpkg -l | grep -i nvidia

否则使用以下命令删除多余的包及配置文件:

sudo apt-get remove --purge name_of_ package

sudo apt-get autoremove

然后我们需要下载CUDA的安装包和cuDNN:

sudo wgethttp://developer./compute/cuda/repos/ubuntu1604/x86_64/cuda-repo-ubuntu1604_8.0.61-1_amd64.deb

sudo wgethttp://developer./compute/redist/cudnn/v6.0/cudnn-8.0-linux-x64-v6.0.tgz

sudo wget/compute/cuda/8.0/Prod2/patches/2/cuda-repo-ubuntu1604-8-0-local-cublas-performance-update_8.0.61-1_amd64-deb

接下来安装驱动和运行时:

sudo dpkg -i cuda-repo-ubuntu1604_8.0.61-1_amd64.deb

sudo dpkg -i cuda-repo-ubuntu1604-8-0-local-cublas-performance-update_8.0.61-1_amd64.deb

sudo apt-get update

查看可用的CUDA运行时版本:

sudo apt-cache policy cuda

安装CUDA8.0

sudo apt-get installcuda=8.0.61-1

添加源并更新到最新驱动:

sudo add-apt-repository ppa:graphics-drivers/ppa

这里记得需要敲回车键确认添加源

sudo apt-get update

sudo apt-get upgrade

sudo reboot

安装cuDNN

tar -xvf cudnn-8.0-linux-x64-v6.0.tgz

sudo cp cuda/include/cudnn.h /usr/local/cuda/include

sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64

sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*

设置环境变量:

sudo vim ~/.bashrc

在文件最后添加下面内容:

exportLD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64"

exportCUDA_HOME=/usr/local/cuda

exportPATH="$CUDA_HOME/bin:$PATH"

生效更改

source~/.bashrc

最后敲nvidia-smi确认驱动安装成功。

3.安装opencv3

condainstall-cPackage repository for menpo :: opencv3

4.安装GPU版TensorFlow,keras,因为我安装的而是cuda8.0,因此需要安装对应的tensorflow和keras版本,大家可以根据自己的需求,更换不同的版本。

pipinstalltensorflow-gpu==1.4

pip install keras==2.1

5.安装unzip

sudo apt-get install unzip

6.pip install imutils

7,查看已经安装的软件包

Conda list

第五步,

上传代码,下载数据集,开始模型训练。这一步,我向大家演示一遍利用我们搭建的谷歌云平台训练kaggle猫狗图像分类模型。

1.我们不需要把数据集下载到本地再重新上传到谷歌云,直接利用下列指令完成数据集直接下载到服务器,简单快捷。

pip install kaggle-cli

kg download -u kaggle账户-p 密码 -c dogs-vs-cats -f train.zip

通过上面两个指令,数据集就已经下载到服务器当前目录下了,ls查看一下吧~PS:下载数据集之前可能需要我们先登录kaggle,进入dogs-vs-cats竞赛,在Rules一栏中点击接受相关规则。

2.因为我是通过浏览器直接ssh到服务器的,因此在右上角就已经提供了上传和下载的功能,利用上传文件功能,将我们的代码上传到服务器吧。PS:大家也可以选择其他的方式上传代码,不会就google一下吧~

3.开始训练,保存模型和结果。我利用了Alexnet跑了一遍,这里我向大家展示一下我的训练结果,Epoch24能达到验证集89%的准确率,训练更多的Epochs还能提高1%-4%左右的准确率。

4.因为模型训练时间较长,ssh连接服务器的时候会因为长时间没有操作而断开,一旦连接断开,运行的训练程序也将被终止。。。

解决此问题有两种方法。

方案一:在客户端设置

方法很简单,只需在客户端电脑上编辑(需要root权限)/etc/ssh/ssh_config,并添加如下一行:

ServerAliveInterval 60

此后该系统里的用户连接SSH时,每60秒会发一个KeepAlive请求,避免被踢。

方案二:在服务器端设置

如果有相应的权限,也可以在服务器端设置,即编辑/etc/ssh/sshd_config,并添加:

ClientAliveInterval 60

需要注意的是在服务器端设置后需要重启该服务器以使连接生效:sudo reboot

重启后每一个连接到此服务器上的客户端都会受其影响。另外应注意启用该功能后,安全性会有一定下降(比如忘记登出时……)

第六步,

最后我们需要做的就是在训练完成之后,保存我们搭建深度学习的平台,下次需要直接就可以启用而不用再重新配置一遍。

进入GCP的磁盘一栏中,将之前创建的服务器磁盘(保存着我们的数据和代码)创建快照,完成之后,在快照一栏中查看是否已经生成快照。

在下次需要训练的时候,重新创建实例,并在启动磁盘中选择之前保存的快照,完成创建。进入服务器之后,你会发现之前所有的数据都还保存着,然后开始你的下一次训练吧~~

结语:以上就是我跟大家分享的“从头开始搭建谷歌云深度学习平台”的所有工作啦,如果大家觉得有帮助的话,可以扫一扫下面的二维码,酌情打赏,请我喝杯☕️~~

业务搭载离不了云服务器,选择合适的平台最重要!

从目前国内云计算市场的格局来看,国内云计算前三强分别是阿里云、腾讯云和华为云,阿里云、腾讯云作为背靠互联网平台的企业,更偏向于B端用户;华为与作为传统的通信巨头,更偏向于G端。

本人从事云计算相关工作至今已有多年,国内主流的云平台都接触过,包括他们的销售及技术团队,对各家的产品也小有了解,并且指导过数百家企业迁移上云,对云平台选择也有一定的发言权!

网上有很多评测,评测数据也五花八门,说谁好的都有,这个两篇博文分析汇总的非常详细,分享给大家,文档地址:

博文1:云服务器哪家好!阿里云、腾讯云、华为云的服务器配置及价格对比?​

博文2:阿里云服务器突发型t6、n4、s6、c5、c6怎么选?和腾讯云服务器标准型s3、sn3ne、s4、s5、sa2相比哪家好?全面解析

如果是高并发,高IO业务场景,需要确定服务器规格,可让业务应用性能发挥到最佳,参考官方文档:

阿里云服务器规格:规格实例族 - 云服务器 ECS

腾讯云服务器规格:规格实例族 - 云服务器CVM

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。