阿里云使用笔记:从零开始配置阿里云GPU服务器

          外网IP:39.98.*.*

         用户名:root   密码:********

 

一、创建账号及设置

 

 

二、更改主机名称及host

      删除原有主机名称,改为自己熟悉的名字。主机名称改为:deeplearning

      vim /etc/hostname       //在此文件中修改主机名称,完成之后重启

   

     把刚修改的名字加入hosts列表:

     vim /etc/hosts

     加入刚才修改的名字:

             127.0.0.1            localhost

             127.0.0.1           deeplearning    //新增

 

# The following lines are desirable for IPv6 capable hosts

            ::1     localhost ip6-localhost ip6-loopback
           ff02::1 ip6-allnodes
           ff02::2 ip6-allrouters

 

          重启修改,然后查看是否安装好相关驱动和包

                  # ls

                 exit

 

三、创建新用户

        创建新用户有两个命令:useradd和adduser。

               使用adduser,按照提示一直操作,就可以自动完成;

               useradd命令,如果没有增加参数,则会创建一个三无产品(无Home Directory、无密码、无系统shell)。

 

       1、adduser用户创建过程

             sudo  adduser    xyz 

             sudo  adduser    uvw

 

            在root账号下,设置sudo权限:

                 sudo  vim  /etc/sudoers

                 #User privilege specification

                 root               ALL=(ALL:ALL)  ALL

                 xyz                ALL=(ALL:ALL)  ALL

                 uvw               ALL=(ALL:ALL)   ALL  

 

         2、设置文件夹权限(如果不设置,安装程序会有 问题)

             xyz@deeplearning:~$sudo chmod -R  777 /home/xyz

 

四、配置阿里云安全组

        阿里云仅开放22、80等少数端口。

        jupyter notebook默认采用8888端口,在安全组配置中,需要将此端口开放。

        设置过程:云服务器管理控制台---->云服务器ECS---->网络和安全---->安全组---->配置规则---->添加安全组规则

 

五、Anaconda安装(清华源)

        1、直接用wget下载:

              sudo wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-5.0.1-Linux-x86_64.sh

        执行安装过程:

              sudo  bash Anaconda3-5.0.1-Linux-x86_64.sh

              提示你是否阅读协议,回车接受;是否接受协议,yes;

              安装位置确认,回车:/home/hefm/anaconda3

              确认安装位置后,需要等待安装一些默认的包,让你选择一次bashrc,写yes;

              Do you wish the installer to prepend the Anaconda3 install location
              to PATH in your /home/bamboo/.bashrc ? [yes|no]
              [no] >>> yes

 

         2、配置环境变量

              sudo vim /etc/enviroment

:/home/xyz/anaconda3/bin

              立即激活环境变量:

                       source  /etc/environment

              测试是否安装成功:

                       conda --version

              成功之后,会显示当前conda的版本

 

          3、更新conda install的源

                # 添加Anaconda的TUNA镜像# 添加Anaconda的TUNA

             conda config --add channels 'https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/'

 

              # 设置搜索时显示通道地址

                    conda config --set show_channel_urls yes

              更新一下conda:

                    conda update conda

 

六、jupyter notebook的安装配置

      针对每个用户,需要执行以下步骤,完成jupyter notebook的安装配置:

     1、创建jupyter notebook 运行环境,可以方便管理各类库:

                 conda create -n  jupyter_notebook  python=3

          激活环境:

                 source activate jupyter_notebook

 

          安装深度学习所需要的库:

                conda  install numpy#测试是否能够安装,后面也可按需安装

 

          如果要退出环境的话,执行:

                  source deactivate  #暂时不执行

 

      2、安装jupyter  notebook

           在conda环境下安装jupyter notebook,会自动安装相关依赖的包,并且独立。

           服务器端安装及测试jupyter notebook是否正常

           ——安装jupyter notebook

                  conda install jupyter notebook

          ——测试:

                  jupyter notebook  --ip=127.0.0.1

              输出正常即可           


  

       3、配置jupyter notebook远程访问

         默认jupyter notebook 是不需要配置文件的。因此,需要用以下命令生成该文件。主要配置内容:

         ——设置远程访问密码;

         ——设置可访问ip,全局访问;

         ——禁止服务器端启动浏览器;

      

        jupyter notebook  --generate-config

                生成文件后,文件在该目录下

                        Writing default config to: /home/hefm/.jupyter/jupyter_notebook_config.py

                打开jupyter_notebook_config.py文件

                        vim  /home/hefm/.jupyter/jupyter_notebook_config.py

                设置可以访问服务器的ip:c.NotebookApp.ip='*'

 

打开ipython,调用passwd()函数生成秘钥,把秘钥复制下来,以备后期使用

In [1]: from notebook.auth import passwd

In [2]: passwd()

Enter password:

Verify password:

Out[2]:'sha1:5a630c9214ab:52fd69df7aa8280b781a9619aafef287ae9048da'

 

加入上面生成的秘钥:

       c.NotebookApp.password =  'sha1:5a630c9214ab:52fd69df7aa8280b781a9619aafef287ae9048da'

 

配置内容:

    c.NotebookApp.ip = '*'    #允许所有地址访问服务器

    c.NotebookApp.password = 'sha1:8361f5f08937:081cdf40730cb5548e2c213ddd36813a5313192f'

    c.NotebookApp.open_browser = False   #设置不在服务器端自动打开浏览器

 

到此为止,所有远程的配置工作全部完成,启动jupyter notebook

终端输出:


远程访问测试(在本地电脑的浏览器地址栏中输入):

           39.98.*.*:8888

登录界面,然后使用自己的密码进行登录

 

 

七、文件互传

        在本地写好jupyter notebook文件,然后上传云服务器进行训练。scp是采用ssh传递文件的一种方式。

       上传过程:

              scp -r /home/hefm/文件路径/文件名/   hefm@39.98.*.*:/home/hefm/
              #scp -r表示传递文件内所有文件
              #scp 直接传递单个文件

        正常训练完成之后,下载文件

        下载过程:

         scp -r   hefm@39.98.*.*:/home/hefm/文件路径/ /home/hefm/文件路径/文件名/

或者使用

       xftp进行文件的上传下载(Windows环境)

 

 

八、训练神经网络

       安装自己需要的TensorFlow-gpu版本

              conda install  tensorflow-gpu

        重新启动jupyter notebook

   

        检查GPU是否正常