虚拟环境安装

    在服务器上安装虚拟环境。

1. 虚拟环境

    在服务器上可以安装不同的虚拟环境,这些虚拟环境之间互不影响,不同的虚拟环境可以安装不同的python版本,不同的框架。

  1. 给服务器连网
    方法1:在windows系统中,按Windows+R,输入mstsc,输入服务器的ip登陆,然后在浏览器里登陆
    方法2:联网的命令:curl -d "callback=dr1583040563683&DDDDD=upass=&0MKKey=123456&R1=0&R3=0&R6=0&para=00&v6ip=&_=1583040239097" http://10.10.43.3/drcom/login
    注销的命令:curl http://10.10.43.3/drcom/logout?callback=dr1583041023742&_=1583041015901,执行完后按一下回车
  2. 安装Anaconda
    wget https://repo.anaconda.com/archive/Anaconda3-5.2.0-Linux-x86_64.sh
  3. 运行安装向导
    bash Anaconda3-5.2.0-Linux-x86_64.sh
    为了激活安装, 你应该源~/.bashrc文件:
    source ~/.bashrc
  4. 确认安装成功
    conda --version
    然后使用which python查看你当前使用的是哪个python,如果输出的目录是data/anaconda/python说明你当前使用的还是服务器自带的python,需要重新练连接一下服务器。如果输出是data/WangBeibei/anaconda/python,说明当前使用是自己安装的anaconda
  5. 配置清华镜像
    使用conda创建虚拟(运行)环境。conda和pip默认使用国外站点来下载软件,我们可以配置国内镜像来加速下载(国外用户无须此操作)。

    1
    2
    3
    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
  6. 修改Anaconda的环境变量
    参考资料

  7. 创建虚拟环境

    1
    2
    conda create -n mxnet python=3.6#创建虚拟环境
    conda activate mxnet#激活虚拟环境
  8. 在虚拟环境中安装第三方库
    注:虚拟环境中第三方库的cuda版本一定要和服务器的cuda版本一致
    安装

    • pip install mxnet-cu100
    • pip install nni==1.2
    • pip install tensorboard
    • pip install tensorboardX
    • pip install mxboard
    • pip install dgl-cu100

cat /usr/local/cuda/version.txt查看服务器cuda版本

1
2
3
4
5
6
7
 
#安装对应版本的mxnet,安装mxnet-cu100是GPU版本的mxnet,
#如果仅使用pip install mxnet安装的CPU版本。
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple mxnet-cu100
#安装pytorch
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
conda install pytorch torchvision cudatoolkit=10.1
  1. 删除虚拟环境
    conda remove -n gluon--all
    为了确定这个名为flowers的环境已经被移除,输入以下命令conda info -e ,会看到已经没有gluon这个环境
  2. jupyetr notebook安装插件
    安装jupyter 插件 Nbextensions

    1
    2
    3
    4
    pip install jupyter_contrib_nbextensions -i https://pypi.mirrors.ustc.edu.cn/simple
    jupyter contrib nbextension install --user
    pip install --user jupyter_nbextensions_configurato
    jupyter nbextensions_configurator enable --user

    常用插件

    • Autopep8
      需要pip install autopep8 后使用,代码自动对齐
    • AutoSaveTime
      设置自动保存时间的时间间隔
    • Codefolding
      代码折叠
    • Execute Time
      统计cell的执行时间及执行结束后的时间
    • Freeze
      冻结代码块或者使代码块read-only
    • Hinterland
      代码自动补全
    • Variable Inspector
      变量查看器
    • spellchecker
      拼写检查
    • Scratchpad
      在jupyter notebook 中添加一个便签式的cell以供随时
    • Snippets
      预先定义代码块
      使用程序修改需要定义的代码块:
    • ScrollDown
      有新的输出时自动翻滚至底部
    • nbtutor
      代码可视化插件,需要额外安装

2. 常用命令

  1. conda info -e
    查看当前服务器上都有哪些虚拟环境,下面截图中显示,当前存在2个虚拟环境,其中带*的是当前正在使用的虚拟环境。

  2. screen -S WBB(超级有用!!!)
    因为是外网服务器,所以网络连接经常断开,连接一断开,运行在上面的程序就不能运行了,所以创建虚拟窗口,在这个虚拟窗口内运行程序,就算网络断开了,程序依然会继续运行

  3. screen -D -r <session-id>
    先踢掉一个用户,再登录
  4. screen -S id -X quit
    删除一个screen
  5. source activate gluon
    激活虚拟环境gluon,若要在gluon这个虚拟环境下安装一些库,需要先切换到这个环境下,然后使用conda install xxx或者pip install xxx,优先选择使用conda install xxx。安装完之后可以通过conda list查看当前已经安装的包。

  6. jupyter notebook
    第一次使用jupyter notebook,需要映射端口号,默认jupyter notebook的端口号是8888,但是在这个集群上,如果别人已经把8888端口占用了,集群会自动给你分配一个端口号,然后在putty中映射一下这个端口,具体操作如下:
    在菜单栏选中change setting,找到Tunnels

  7. ctrl+A+D退出虚拟窗口
    当把程序运行之后,使用以上按钮退出虚拟窗口,这样程序就在后台运行,就算把电脑换机了,程序还是会运行

  8. 使用清华源下载
    pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pykafka
  9. 和conda有关
    conda --version
    通过使用如下update命令来升级conda:
    conda update conda

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    pip install 库名
    pip install 库名 --upgrade
    # 或者
    conda install 库名
    conda update 库名

    # 更新所有库
    conda update --all

    # 更新 conda 自身
    conda update conda

    # 更新 anaconda 自身
    conda update anaconda

    # 查看已安装的包
    conda list
  10. 使用conda install xxx或者pip install xxx,优先选择使用conda install xxx。安装完之后可以通过conda list查看当前已经安装的包

  11. 删除一个虚拟环境
    conda remove -n gluon--all 为了确定这个名为flowers的环境已经被移除,输入以下命令conda info -e ,会看到已经没有gluon这个环境
  12. 查看GPU的占用情况
    nvidia-smi
  13. 在screen运行jupyter程序
    screen -S jupyter
    source activate gluon
    source deactivate
    jupyter notebook
    screen -r jupyter
    screen -X -S 122128 quit
  14. 查看当前的进程是谁的
    ps -ef | grep 35230
  15. 在windows在激活虚拟环境
    activate gluon
    deactivate gluon
  16. 在网页中查看tensorboard,使用容器或者screen开一个进程监听6006端口。tensorboard的端口默认是:6006,使用下面的命令

    run -it -p 6688:6006 -v $PWD:/root --runtime
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
                            
    进入到容器之后,然后使用下面的命令启动tensorboard

    `tensorboard --logdir=.`

    然后在浏览器上http://gpu28:6688,就可以看到在网页上看到

    # 3. 问题

    1. 虚拟环境配置出错
    我创建了一个gluon的虚拟环境,使用`source avtivate gluon`激活这个环境时,在这里面装了mxnet框架。但是在screen中启动jupyter notebook时,import mxnet时却报错说no module names mxnet,然后我退出jupyter notebook(仍在screen中),使用which python查看当前使用的python,仍然是base的python,不是env/gluon中的python,因为base中的python没有装mxnet,所以import会出错。那怎么把gluon虚拟环境中的python换成env/gluon中的python呢?
    参考这个网址:[http://www.pianshen.com/article/2276285026/](http://www.pianshen.com/article/2276285026/)
    在虚拟环境下运行以下命令:
    `ipython kernelspec list`
    查看jupyter notebook内核指定的python运行环境位置,然后cd到这个目录中,会看到有一个kernel.json文件,使用vi命令编辑这个文件,将python解释器的位置换成`/data/WangBeibei/anaconda3/envs/gluon/bin/python`
    ![](虚拟环境安装/python.png)
    然后使用`source deavtivate`断开gluon虚拟环境,在重新激活`source avtivate gluon`,然后再启动`jupyter noteboook`就可以了。
    如果还是出错,使用`conda install ipykernel`命令,然后再重新激活虚拟环境,再次启动`jupyter notebook`.
    2. cuda出错
    我创建了一个虚拟环境,名为mxnet,在这个虚拟环境中使用`pip install -i https://pypi.tuna.tsinghua.edu.cn/simple mxnet-cu100`安装GPU版本的mxnet。然后再虚拟环境mxnet中使用python运行以下命令可以成功运行。

    ```python
    import mxnet as mx
    from mxnet import nd
    z = nd.ones(shape=(3, 3), ctx=mx.gpu(0))

    然后我创建了一个screen,在这个screen中source activate mxnet启动虚拟环境,然后使用python运行以上相同的代码,却出错。

    1
    OSError: libcudart.so.10.0: cannot open shared  object file: No such file or directory

    查了资料解决方案如下:
    按Ctrl+A+D退出screen。然后查看.bashrc的内容,原先是

    将其修改如下:修改完之后使用source .bashrc激活
    当有多个PATH时,中间使用冒号拼接。

    然后再screen,再次运行上述的python代码成功。

  17. cuda版本出错
    查看系统cuda的版本,安装对应版本的深度学习框架
    cat /usr/local/cuda/version.txt如果安装错了,先使用pip uninstall mxnet-cu100,删除原先的mxnet,然后再使用pip install mxnet-cu101安装对应的版本.

打赏
0%