在google cloud的VM实例中部署jupyter notebook并在本地浏览器中打开(二)

上一篇中讲了如何在google cloud中创建一个带gpu的实例并用ssh连接, 现在我打算在上面部署jupyter notebook搭建一个深度学习平台, 操作步骤如下:

  1. 安装cuda和cudnn: 关于cuda和cudnn是什么, 具体可以看这里. 简单来说, cuda让gpu可以用来做计算, cudnn提供gpu计算的加速.

    方法一:

    下载cuda和cudnn

    sudo wget http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/cuda-repo-ubuntu1604_8.0.61-1_amd64.deb
    sudo wget https://developer.nvidia.com/compute/cuda/8.0/Prod2/patches/2/cuda-repo-ubuntu1604-8-0-local-cublas-performance-update_8.0.61-1_amd64-deb
    sudo wget http://developer.download.nvidia.com/compute/redist/cudnn/v6.0/cudnn-8.0-linux-x64-v6.0.tgz
    

    安装cuda

    sudo dpkg -i cuda-repo-ubuntu1604_8.0.61-1_amd64.deb
    sudo dpkg -i cuda-repo-ubuntu1604-8-0-local-cublas-performance-update_8.0.61-1_amd64.deb
    sudo apt-get update
    sudo apt-get upgrade
    sudo apt-get install cuda=8.0.61-1
    sudo add-apt-repository ppa:graphics-drivers/ppa
    

    安装cudnn

    tar -xvf cudnn-8.0-linux-x64-v6.0.tgz
    sudo cp cuda/include/cudnn.h /usr/local/cuda/include
    sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
    sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
    

    配置环境变量

    sudo vim ~/.bashrc
    

    在打开的文件底部插入(不会用vim编辑器的自行google)

    export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64"
    export CUDA_HOME=/usr/local/cuda
    export PATH="$CUDA_HOME/bin:$PATH"
    

    方法二:
    执行脚本直接安装.
    说明: 把这个.sh文件直接copy到实例的root下然后执行
    bash cuda_9.0_cudnn_7.0.sh

  2. 安装anaconda

    wget http://repo.continuum.io/archive/Anaconda3-5.0.0-Linux-x86_64.sh
    bash Anaconda3-5.0.0-Linux-x86_64.sh
    

    然后终端输入source ~/.bashrc使更改生效

  3. 安装tensorflow-gpu, keras等各种深度学习/机器学习包

    pip install tensorflow-gpu==1.4
    pip install keras==2.1
    

    后面有安装别的包的需求的话按同样的格式安装就行了, conda list可以查看已经安装的包.

  4. 创建虚拟环境: 需要创建虚拟环境的原因是以后不同的开发项目可能需要不同的python环境, 比如这里跑tensorflow-gpu的话最好用python 3.6, 那么我们可以创建一个python3.6的环境

    conda create --name py36 python=3.6 anaconda #创建一个名叫py36, python版本为3.6的虚拟环境
    source activate py36 #激活py36
    

    后续如果要退出虚拟环境的话, 输入source deactivate即可

  5. 安装jupyter notebook

    conda install jupyter
    

    关于具体jupyter的配置, 参看这里, 配置完了终端输入jupyter notebook, 看jupyter是否能够正常运行, 如果不能, 把c.NotebookApp.ip='*'改为c.NotebookApp.ip='0.0.0.0', 再输入jupyter notebook试试, 应该能运行了

  6. 配置完了要后台运行jupyter的话, 参看这里, 其实就一条命令:

    nohup jupyter notebook --allow-root > jupyter.log 2>&1 &
    
  7. 现在jupyter应该可以正常运行了, 但是要在本地浏览器打开, 还有最后一步, 那就是开放端口. 因为默认情况下google cloud中实例的8888端口是关闭的, 不能远程连接.

    具体更改步骤为google cloud console - vpc网络 - 防火墙规则 - 创建防火墙规则, 名字随便写, 比如boom, 优先级为1, 目标: 网络中的所有实例, ip地址范围: 0.0.0.0/0, 协议和端口: 全部允许. 其他直接默认, 然后点击保存就行了.

    现在创建好了防火墙规则, 但是还没有把规则写入实例中, 最后一步就是点击实例, 进入VM实例详情 - 修改, 然后网络标记添加一个boom, 最后保存.

  8. 现在jupyter已经完全部署好啦, 在本地浏览器输入xx.xx.xx.xx:8888然后按要求输入登录密码就能进入jupyter啦, 这里xx.xx.xx.xx为服务器公网ip, 登录密码为jupyter配置的时候设置的密码.

你可能感兴趣的:(在google cloud的VM实例中部署jupyter notebook并在本地浏览器中打开(二))