固定链接 滴滴云 GPU 服务器深度学习实践篇—— Tensorflow Object Detect 对象检测

滴滴云 GPU 服务器深度学习实践篇—— Tensorflow Object Detect 对象检测

滴滴云 GPU 服务器深度学习实践篇—— Tensorflow Object Detect 对象检测

注:本文首发于CSDN博客,作者wulala789,滴滴云博客经授权转载。文中内容仅代表其个人看法和体验。 

 

以下为博文内容: 

 

滴滴云的GPU云主机可以用了,冲着3元一小时的价格,我去试了一把。

 

1.好吧,先注册滴滴云,这个简单略过。

 

2.要购买GPU实例,先要实名认证,要上传身份证的正反面,JPG格式,我上传了,在下班时间里居然秒通过。

 

3.开始购买了啦,发现可用地区有且只有广州一区和广州二区,难道滴滴服务器只在广州吗,难道是根据我的地区自动选择的(深圳,不知其他的人是不是有更多选择),没有譬如香港之类的地区,这就造成我们的服务器天然上不了类似Google的网站,不巧的是Tensorflow正好是Google的。

 

操作过程
GPU服务也是有且只有一个P4镜像有两个右上角有GPU的,我们选个Ubuntu吧付费我是按时发费选择最低配置选择带宽1M的话是0.03元每小时(按小时收费哦),开始配置服务器时应该要分配大一点,因为肯定要下载一些环境之类的。

最后再设一下密码(用户名固定为dc2-user):

好吧,最后用微信付款3.03元(1M带宽),申请到如下配置的GPU服务器一个小时的使用时间

可以看出来,收费主要有三项:镜像占有空间(20G内免费,我们现在还没有创建镜像),实例,带宽。

 

注意事项

当创建完实例以后,系统就开始收钱了,如果不想让它收钱要怎么办,你可能认为把实例关机就不收钱了,答案是错的,你得把这个实例删除,删除哦,当你把实例删了以后,发现宽带还在收钱,你还要把宽带也删了,也就是说当你不想付钱时,要手动分别删除两个项目实例和带宽。 

 

你又会说了,我好容易配好的环境训练一次,删了以后,后面再用又要再配环境,那不是晕了,所以你在删除之前先做个镜像,然后删除实例和网络。后面再用的时候,再创建实例的时候选择这个自己的镜像,就可以还原到上次的系统了。

 

好吧,终于建好了实例,有了SSH帐号和密码,我们在Windows上要装个SSH的客户端来登陆,常用的应该是WinSCP+PuTTY吧,要上传下载文件就用WinSCP,要命令行就用PuTTY,在WinSCP里可以打开PuTTY,但要先装好PuTTY,并且做配置关联起来。

 

PuTTY登陆上去以后,可以发现它已经装好的显卡驱动+CUDA(9.0)+cuDNN(7.0),但是其它像Tensorflow之类都是没有的。

 

我上去的第一次是启用Root,为Root设置密码以后,把SSH的允许Root登陆。相关指令是:

/etc/ssh/sshd_config 修改该配置文件(红色字体位置修改):

修改完以后重启服务,或是重启实例:

现在再用WinSCP直接以Root登录以后,就可以无限制的做各种动作了。

 

如果只是一台训练机,我个人感觉不用担心安全问题,因为训练完我马上关掉,而且在防火墙上默认只开了443,80,22等端口,可以按自己的需求关掉除22外的其它外网端口。

 

打开PuTTY,使用Root连接上实例,先给它装个Anaconda。

按Q,然后YES,一路按提示YES,最后提示是否加到bashrc,这是需要的。

 

装完以后

另外CUDA的lib也要加到barshrc里,不然后面使用Tensorflow时有问题。

再最后加上

看看Python装好了没

安装Tensorflow

装完Tensorflow以后,我们就可以做事了,比如做对象检测,将https://github.com/sanfooh/tensorflow_object_detection_api_demo

这里的脚本一脑的粘进去(具体可以查看视频 https://edu.csdn.net/course/detail/8274)

 

新的问题

问题来了,其中红色部分下载的预训练文件是在Tensorflow的官网上,在这台服务器上是拿不下来的。所以只能想其它的办法,比如用翻墙之类的方法,先把它拿到本地,然后再通过WinSCP传上去,由于WinSCP是用Root登录的,所以就不会出现没有权限之类的问题。 

 

当我们要启动Jupter Notebook时:jupyter notebook –allow-root –ip 实例的内网ip  port 80

 

要注意的是,这里的IP要设置为实例的内网IP,而不能设为外网IP,然后在防火墙组里默认开了80,所以用就指定80好了,如果不指定,默认开启6006,那就要滴滴云安全防火墙组里手动打开这个端口了。

 

同样的查看Tensorboard

tensorboard –logdir=mytrain –port=80

 

时间差不多了,我们需要对这个实例生成一个快照(镜像)保存下来,生成快照之前最好瘦身一下系统,不必要的文件删除掉,因为超过20G是要收费的,生成完镜像以后,就可以把实例删掉,再把网络-弹性公网IP也删除,以后啥时有项目要训练,就利用此快照创建一个实例,再通过WinSCP把样本传上去进行训练,最后通过WinSCP把模型拿下来用。

 

本文代码仓库;

https://github.com/sanfooh/tensorflow_object_detection_api_demo

视频介绍链接:

https://edu.csdn.net/course/detail/8274

原文出处:【链接】

您的留言将激励我们越做越好