深度学习服务器搭建环境记录

深度学习服务器搭建环境记录

  • 1. 下载anaconda
  • 2. 配置环境
    • 1) 添加镜像源
    • 2) 创建虚拟环境
    • 3)安装tensorflow-GPU
    • 4)windows上使用服务器上的jupyter notebook
    • 5)在windows上使用vscode同步代码到Linux上运行
    • 6)测试GPU是否可用
    • 7)在服务器上使用后台运行代码
  • 3. windows与Linux系统之间的文件互相转移

1. 下载anaconda

anaconda的安装比较简单,参考官方文档的安装即可,可以通过Linux下wget命令下载anaconda安装包,官网安装包下载比较慢,推荐使用清华开源软件镜像站下载,注意需要下载的版本要和python的版本对应,我想使用python3.6,故而下载的是anaconda5.2.0,当然,也可以下载最新的anaconda版本,再通过创建虚拟环境来安装想要的python版本都可以。
下载完直接使用
bash bash Anaconda3-5.2.0-Linux-x86_64.sh
命令安装即可,注意选择安装位置。

2. 配置环境

1) 添加镜像源

由于anaconda源在国外,访问速度可能很慢,可以添加清华镜像源,能够使下载安装包的速度大大提高。操作非常简单,在anaconda prompt中输入

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes

2) 创建虚拟环境

可以通过网络搜索得到anaconda创建环境的命令为:
conda create --name env_zh python=3.6
也可以通过命令conda -h 或conda create -h来查看conda自带的帮助手册,自带的帮助说明比网上搜索到的更加详细。还可以通过来

常用的命令如下
conda -h : anaconda自带的帮助命令,很实用,网上搜索到的很多都不详细
conda create -h 创建虚拟环境时的帮助命令,网上搜索不到时很有用
conda create --name env_zh --clone old_env复制或克隆环境,可以复制已经搭建好的环境
conda env list:查看现有的环境列表
conda-env remove -n test2 删除test2虚拟环境
conda activate env_zh 切换到env_zh虚拟环境
conda deactivate 退出虚拟环境
conda serach tensorflow-gpu搜索tensorflow-GPU的安装包,可以看到有多个版本的安装包

3)安装tensorflow-GPU

conda install tensorflow-GPU=1.4: 由于服务器上面已经安装了CUDA,并且版本为CUDA8,最高只支持tensorflow1.4,如下图所示,1.4版本的tensorflowGPU支持3.6python以及6版本的cuDNN

除此之外,其他和tensorflow有关的常用命令如下:
cat /usr/local/cuda/version.txt : 查看CUDA版本的命令
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2 查看cudnn版本命令
watch nvidia-smi 实时查看当前GPU显存占用率

4)windows上使用服务器上的jupyter notebook

在windows上使用Linux上的虚拟环境的jupyter notebook
首先要保证在同一个局域网,Linux上装好anaconda,然后创建虚拟环境env_zh,切换到虚拟环境
第一种方法

安装牛逼conda包即可,
conda install nb_conda
安装完这个包,在当前环境下再次启动jupyter notebook就可以看到所有环境都显示出来了。

第二种方法

如果该方法不行,可以通过jupyter插件手动解决,激活环境或,安装kpykernel
conda activate env_zh
conda install ipykernel
python -m ipykernel install --name env_zh --display-name python env_zh
启动之后根据提示给的网址在windows上登录即可,注意将ip地址改为服务器的ip地址即可。

5)在windows上使用vscode同步代码到Linux上运行

参考微软官方教程,其实很简单,只需要在服务器上安装ssh server,在vscode中安装远程开发包,然后通过ip地址远程连接就可以了。我没有去弄远程调试功能,因为比较麻烦,在服务器命令行中直接使用python运行就可以了。虽然官方教程显示远程开发环境搭建需要Ubuntu16.04及以上,但是我使用Ubuntu14.04也能够安装成功。

6)测试GPU是否可用

在服务器上启动jupyter server,在windows上登录网址,通过运行以下代码可以测试安装GPU版本的tensorflow是否成功

import tensorflow as tf
sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))

如果成功,会显示一个CPU和GPU的信息,我的是显示有1个CPU和两个GPU。

7)在服务器上使用后台运行代码

如果通过putty连接服务器来运行代码时,当连接断掉会自动停止,可以让代码在后台运行,这样就可以一直跑程序了。
参考

3. windows与Linux系统之间的文件互相转移

当在Ubuntu上搭建好了深度学习环境,有时数据集在windows上,如何将数据集转移到服务器上呢?用U盘比较麻烦,这里通过使用共享windows文件,然后在Linux上挂载文件就可以实现在Linux上访问windows文件夹的方法了。

具体方法是,首先找到要共享的文件夹,在属性中添加共享,并开启网络发现,在一个局域网中,Linux通过命令挂载登录到windows上的共享文件夹即可成功实现。

参考网上教程。

环境搭建感悟:

  1. ensorflow版本要和cuda和驱动版本对应,要不然无法正确使用GPU,另外tensorflow有GPU版本,不能两个一起安装,否则会使用CPU版本的。

  2. 查看GPU使用情况 watch nvidia-smi

  3. 通过jupyter notebook可以远程写代码,通过vscode使用ssh可以远程调试和编辑python代码。

  4. win10挂载共享文件可以使在Linux上访问Windows文件夹。

  5. 充分使用conda的虚拟环境,可以省很多事情,有时候我们很多时候都把时间浪费到搭建环境中去了,都没有真正的关注深度学习这件事情本身。

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