深度学习需要用到GPU的并行计算能力进行加速,由于不方便安装台式机,计划用云GPU进行,以国内某知名云为例:
CPU: E5 4vCPU,内存: 30G,GPU: NVIDIA P100,SSD: 40G,硅谷节点(无国内节点),包月5460.80元
而Google Cloud Compute Engine提供以小时计费的GPU计算单元(关机后不收费),相似配置需要894.06美元/月(约6000元),如果按小时计费,约1.225美元/小时,所以如果是学习为目的的话Google Cloud还是非常划算的。
1.创建Google Compute Engine
选择Compute Engine -> VM instances -> Create Instance
选择适合你的CPU、GPU、内存配置,可以先选低一点,后期随时可以调,GPU也是,我选择了如下配置:
接着配置启动磁盘,这里选择了对新手友好的Ubuntu,如果对速度有要求,建议勾选SSD(后期不能更改类型,但可以更改容量),大小不要太低,也不用太高,后期可以再加存储:
最后勾选上允许HTTP/HTTPS,点击Create创建。
2.配置服务器
服务器创建好后就自动启动了,但是没有添加公钥,还不能访问,在本机生成SSH私钥和公钥(过程略),在Compute Engine页面选择Metadata -> SSH Keys 添加。可以把最后一行==后面的改成密钥的名称 (等号后有一个空格),保存。
如果需要使用SSH 用户名/密码 的方式登录,需要设置密码:
点击instance旁边网页版的SSH:
连接后 sudo passwd username 设置密码即可
接着就可以选择你喜欢的SSH客户端登录了
为了能正常使用jupyter notebook,需要配置防火墙:
选择VPC network -> Firewall rules
添加一条允许jupyter8888端口通过的规则:
3.安装anaconda
创建环境
进入Anconda的下载页面: https://www.anaconda.com/downloads,选择Linux,下载,然后取消下载(因为太慢,而且还不在服务器上),进入下载页面,复制刚才的下载链接,例如:https://repo.anaconda.com/archive/Anaconda3-5.2.0-Linux-x86_64.sh
进入服务器,使用wget下载:
1 |
wget https://repo.anaconda.com/archive/Anaconda3-5.2.0-Linux-x86_64.sh |
下载好后安装:
1 |
sudo bash Anaconda3-5.2.0-Linux-x86_64.sh |
安装过程中一路Enter,接受条款yes,加入环境yes,安装VSCode No(命令行怎么用VSCode呀)
重新加载bashrc:
1 |
source ~/.bashrc |
4. 安装相关包
首先创建一个专用的环境,这里用python2.7
1 |
conda create -n py27 python=2.7 |
激活环境
1 |
source active py27 |
安装包
1 |
conda install tensorflow-gpu matplotlib scipy future pyyaml cython opencv setuptools pillow jupyter |
5. 安装CUDA
使用Google Cloud提供的脚本:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
#!/bin/bash echo "Checking for CUDA and installing." # Check for CUDA and try to install. if ! dpkg-query -W cuda-9-0; then # The 16.04 installer works with 16.10. curl -O http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/cuda-repo-ubuntu1604_9.0.176-1_amd64.deb dpkg -i ./cuda-repo-ubuntu1604_9.0.176-1_amd64.deb apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/7fa2af80.pub apt-get update apt-get install cuda-9-0 -y fi # Enable persistence mode nvidia-smi -pm 1 |
创建文件: touch install-cuda.sh
编辑 vim install-cuda.sh 保存退出
执行: sudo bash install-cuda.sh
完成后执行 nvidia-smi 测试:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
+-----------------------------------------------------------------------------+ | NVIDIA-SMI 396.44 Driver Version: 396.44 | |-------------------------------+----------------------+----------------------+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | |===============================+======================+======================| | 0 Tesla K80 Off | 00000000:00:04.0 Off | 0 | | N/A 37C P8 32W / 149W | 17MiB / 11441MiB | 0% Default | +-------------------------------+----------------------+----------------------+ +-----------------------------------------------------------------------------+ | Processes: GPU Memory | | GPU PID Type Process name Usage | |=============================================================================| | 0 1705 G /usr/lib/xorg/Xorg 15MiB | +-----------------------------------------------------------------------------+ |
可以看到相关GPU的信息,内存,温度,占用等