利用远程云服务器跑深度学习模型

利用远程云服务器跑深度学习模型主要有三个问题需要解决。

一是深度学习环境的搭建,二是已搭建环境的保存,三是远程数据的传输。

深度学习环境的搭建

以阿里云为例,在购买服务器创建实例时,可以在镜像市场选择购买已经配置好环境装好驱动的镜像。其优点是可以省去大量自己配置环境和安装显卡驱动的时间;而缺点在于不能自己选择深度学习框架和其它软件的版本,在后续自己安装其他软件或者函数库时可能发生兼容问题。

对于一台新购买的云服务器,深度学习环境的搭建无外乎安装Anaconda、TensorFlow或PyTorch,以及其他用于数据处理的库,例如numpy/pandas/matplotlib/sklearn/jupyter notebook,等等。另外还可根据需要安装keras,以及显卡驱动。

Tensorflow与Python/GCC/CUDA/cuDNN的版本对应关系

利用远程云服务器跑深度学习模型_第1张图片

Tensorflow与Keras的版本对应关系

利用远程云服务器跑深度学习模型_第2张图片

具体教程在此不一一赘述。

 

已搭建环境的保存

对于自己配置环境的云服务器,可以制作自定义镜像保存,以便在释放实例后再次创建其他实例时可以快速创建环境。在每次创建实例时选择按量付费,选择自定义镜像,做玩一次实验后对数据做好备份(保存快照或者远程传输到本地电脑),然后释放实例。如此可以将费用降到最低。

根据实例创建自定义镜像

利用远程云服务器跑深度学习模型_第3张图片

根据自定义镜像创建实例

利用远程云服务器跑深度学习模型_第4张图片

 

远程数据的传输

在运行深度学习模型时,为了防止长时间无操作而导致远程连接断开,可以让模型在后台运行。

source activate tensorflow_env # 激活深度学习环境
nohup jupyter notebook & # 后台运行并将数据保存到nohup.out文件中
nohup jupyter notebook --allow-root & # 如果是root用户

ps -aux | grep jupyter # 查看jupyter notebook进程号,假设是1842
kill -9 1842 # 停止后台运行

如果需要远程传输数据,可以安装putty/scp/pscp。本地Windows系统请安装pscp.exe,将其放在C:\Windows\System32\文件夹下。

# 将Windows本地的file.txt上传到远程Linux服务器
# 服务器文件路径为:用户名@服务器公网IP:文件路径
pscp E:\jupyter_notebook\workplace\file.txt root@服务器公网IP:/root/workplace

# 将远程服务器上的数据下载到本地Windows文件夹
pscp root@服务器公网IP:/root/workplace/data.npy E:\jupyter_notebook\workplace\data.npy

以上。

 

参考文章

https://blog.csdn.net/Lo_Bamboo/article/details/78601328

你可能感兴趣的:(深度学习)