滴滴云GPU服务器做深度学习之tensorflow object detect 对象检测 实践

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

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

2、要购买GPU实例,先要实名认证,要上传身份证的正反面,JPG格式,好吧,我上传。

3、开始购买了啦,发现可用地区有且只有广州一区和广州二区,还有北京一区,北京一区暂时没有GPU服务器。

4、切换到控制台-计算

 

 

 

 

 

付费我是按时发费

 

选择最低配置

 

选择带宽1M的话是0.03元每小时(按小时收费哦),开始配置服务器时应该要分配大一点,因为肯定要下载一些环境之类的。

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

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

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

 

 

 

注意点:

当你创建完实例以后,系统就开始收钱喽,如果你不想让它收钱要怎么办,你可能会认为把实例关机就不收钱了,答案是错的,你得把这个实例删除,删除哦,当你把实例删除时,连带网络也要删了哦,也就是说当你不想付钱时,我好容易配好的环境训练一次,删了以后,后面再用又要再配环境,所以你在删除之间先做个镜像,然后删除实例和网络。后面再用的时候,再创建实例的时候选择这个自己的镜像,就可以还原到上次的系统了,但是镜像空间免费赠送20G,超过20G就要收费。

 

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

 

 

 

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

我上去的第一次事是启用root,为root设置密码以后,把ssh的允许root登陆,

相关指令是:

sudo passwd root

/etc/ssh/sshd_config 修改该配置文件(PermitRootLogin yes 意思是允许root登陆):

# Authentication:
LoginGraceTime 120
PermitRootLogin yes
StrictModes yes

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

service sshd restart

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

登陆时会弹出一个提示,给它打勾不显示。

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

下载一个putty,并给winscp设置好putty位置

设置以后就可以通过此按钮启动putty

打开putty,使用root连接上实例,先给它装个anaconda先,注意不要装最新版的anaconda,因为最新anaconda用的是python3.7,当前版的tensorflow不支持,导致pip install tensorflow-gpu时找不到文件。

wget https://repo.anaconda.com/archive/Anaconda3-5.2.0-Linux-x86_64.sh
chmod 777 Anaconda3-5.2.0-Linux-x86_64.sh
sh Anaconda3-5.2.0-Linux-x86_64.sh

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

装完以后

source ~/.barshrc

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

nano ~/.barshrc

再最后加上

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-9.0/lib64
ctrl-o +回车  //保存
ctrl-x      //退出
nano ~/.barshrc

看看python装好了没

python --version  

安装tensorflow(这里用了-i的参数,使用了清华的镜像,可以加快下载速度)

pip install tensorflow-gpu -i https://pypi.tuna.tsinghua.edu.cn/simple 

装完tensorflow以后,我们就可以做事了,比如做对象检测,将https://github.com/sanfooh/tensorflow_object_detection_api_demo 这里的脚本一脑的粘进去

 
#在根目录下创建一个output目录
mkdir /output
cd /output/

#下载旧版本的tensorflow model(object api 包含在model里),最新版本的api存在问题(当前2018.4.20)
wget  https://github.com/tensorflow/models/archive/dcfe009a024854207c9067d785c105f5ebf5a01b.zip
unzip dcfe009a024854207c9067d785c105f5ebf5a01b.zip 
mv models-dcfe009a024854207c9067d785c105f5ebf5a01b models
rm dcfe009a024854207c9067d785c105f5ebf5a01b.zip 

#安装依赖项
pip install Cython
pip install pillow
pip install lxml
pip install jupyter
pip install matplotlib
pip install opencv-python
pip install pycocotools

#安装object detection api 并验证
cd /output/models/research/
protoc object_detection/protos/*.proto --python_out=.
export PYTHONPATH=$PYTHONPATH:`pwd`:`pwd`/slim
python object_detection/builders/model_builder_test.py

#下载图片及标注文件
cd /output
git clone https://github.com/sanfooh/tensorflow_object_detection_api_demo.git

#下载预训练文件
cd /output/tensorflow_object_detection_api_demo
wget  http://download.tensorflow.org/models/object_detection/ssd_mobilenet_v1_coco_2017_11_17.tar.gz
tar -xzvf ssd_mobilenet_v1_coco_2017_11_17.tar.gz
rm -r ssd_mobilenet_v1_coco_2017_11_17.tar.gz

#生成tfrecord数据集
python create_tf_record.py 

#可使用check_tfrecord.ipynb验证一下tfrecord是否有问题

 

问题来了,如果出现无法下载或是下载很慢的时候,在这台服务器上是拿不下来的。所以只能想其它的办法,比如使用mybinder的服务先把它下载到本地来,然后再通过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把模型拿下来用了。

现在就去滴滴云看看

  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wulala789

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值