Server and multi-gpu training
2017-11-05
使用Pycharm在服务器上进行多GPU训练
原创文章,转载请注明:转自Luozm's Blog1. Server
最近在做一个图片的项目,由于数据量太大,所以需要租用服务器进行训练。这里我选择的是AWS的EC2 instance(p2)。
在AWS上使用服务器很简单,不过在使用P2 instance之前需要手动向客服提升limit,基本上一天之内就会有答复。
1.1 Tools
在这里介绍两个Windows下使用的工具
1.1.1 Putty
在Windows下使用SSH的工具:PuTTY
1.1.2 WinSCP
WinSCP 是适用于 Windows 的基于 GUI 的文件管理器,可以通过它来使用 SFTP、SCP、FTP 和 FTPS 协议将文件上传并传输到远程计算机。
1.2 Connect to server
使用 PuTTY 从 Windows 连接到 Linux 实例
如果连接不上Server请检查安全组的设置,我就遇到了同样的问题。
1.3 Useful tips
在Server上下载数据:
查看Server上的内存、CPU和GPU状态:
- Total:
top
orhtop
- Memory:
cat /proc/meminfo
- CPU:
cat /proc/cpuinfo
- GPU:
nvidia-smi
1.4 screen
Screen是一个终端会话管理程序,使用Screen可以在Linux后台运行多个程序,这样就可以在网络中断之后让程序保持运行。这里是官方教程。
1.4.1 常用方法
创建会话: screen -S screen_name
列出所有会话: screen -ls
分离会话: screen -d screen_name
(或者快捷键:Ctrl+a d
)
恢复会话: screen -r screen_name
停止会话: exit
(或者快捷键:Ctrl+a k
)
远程演示: screen -x screen_name
(共享会话)
进入 copy/scrollback 模式: C-a [, C-a C-[, C-a <ESC>
1.4.2 配置文件
Screen 默认配置文件路径为~/.screenrc
2. Pycharm for remote training
[教程 | 一步步从零开始:使用PyCharm和SSH搭建远程TensorFlow开发环境](http://www.sohu.com/a/129277803_465975) |
3. Multi-GPU with Keras
How-To: Multi-GPU training with Keras, Python, and deep learning
这种方法好像不能自己设置使用的GPU,可以自己改一下源码multi_gpu.py