1. 虚拟环境
在服务器上可以安装不同的虚拟环境,这些虚拟环境之间互不影响,不同的虚拟环境可以安装不同的python版本,不同的框架。
- 给服务器连网
方法1:在windows系统中,按Windows+R
,输入mstsc
,输入服务器的ip登陆,然后在浏览器里登陆
方法2:联网的命令:curl -d "callback=dr1583040563683&DDDDD=upass=&0MKKey=123456&R1=0&R3=0&R6=0¶=00&v6ip=&_=1583040239097" http://10.10.43.3/drcom/login
注销的命令:curl http://10.10.43.3/drcom/logout?callback=dr1583041023742&_=1583041015901
,执行完后按一下回车 - 安装Anaconda
wget https://repo.anaconda.com/archive/Anaconda3-5.2.0-Linux-x86_64.sh
- 运行安装向导
bash Anaconda3-5.2.0-Linux-x86_64.sh
为了激活安装, 你应该源~/.bashrc文件:source ~/.bashrc
- 确认安装成功
conda --version
然后使用which python
查看你当前使用的是哪个python,如果输出的目录是data/anaconda/python
说明你当前使用的还是服务器自带的python,需要重新练连接一下服务器。如果输出是data/WangBeibei/anaconda/python
,说明当前使用是自己安装的anaconda 配置清华镜像
使用conda创建虚拟(运行)环境。conda和pip默认使用国外站点来下载软件,我们可以配置国内镜像来加速下载(国外用户无须此操作)。1
2
3conda 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修改Anaconda的环境变量
参考资料创建虚拟环境
1
2conda create -n mxnet python=3.6#创建虚拟环境
conda activate mxnet#激活虚拟环境在虚拟环境中安装第三方库
注:虚拟环境中第三方库的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 |
|
- 删除虚拟环境
conda remove -n gluon--all
为了确定这个名为flowers的环境已经被移除,输入以下命令conda info -e
,会看到已经没有gluon这个环境 jupyetr notebook安装插件
安装jupyter 插件 Nbextensions1
2
3
4pip 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
代码可视化插件,需要额外安装
- Autopep8
2. 常用命令
conda info -e
查看当前服务器上都有哪些虚拟环境,下面截图中显示,当前存在2个虚拟环境,其中带*的是当前正在使用的虚拟环境。screen -S WBB
(超级有用!!!)
因为是外网服务器,所以网络连接经常断开,连接一断开,运行在上面的程序就不能运行了,所以创建虚拟窗口,在这个虚拟窗口内运行程序,就算网络断开了,程序依然会继续运行screen -D -r <session-id>
先踢掉一个用户,再登录screen -S id -X quit
删除一个screensource activate gluon
激活虚拟环境gluon,若要在gluon这个虚拟环境下安装一些库,需要先切换到这个环境下,然后使用conda install xxx或者pip install xxx,优先选择使用conda install xxx。安装完之后可以通过conda list查看当前已经安装的包。jupyter notebook
第一次使用jupyter notebook,需要映射端口号,默认jupyter notebook的端口号是8888,但是在这个集群上,如果别人已经把8888端口占用了,集群会自动给你分配一个端口号,然后在putty中映射一下这个端口,具体操作如下:
在菜单栏选中change setting,找到Tunnels
ctrl+A+D
退出虚拟窗口
当把程序运行之后,使用以上按钮退出虚拟窗口,这样程序就在后台运行,就算把电脑换机了,程序还是会运行- 使用清华源下载
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pykafka
和conda有关
conda --version
通过使用如下update命令来升级conda:
conda update conda
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17pip install 库名
pip install 库名 --upgrade
或者
conda install 库名
conda update 库名
更新所有库
conda update --all
更新 conda 自身
conda update conda
更新 anaconda 自身
conda update anaconda
查看已安装的包
conda list使用conda install xxx或者pip install xxx,优先选择使用conda install xxx。安装完之后可以通过conda list查看当前已经安装的包
- 删除一个虚拟环境
conda remove -n gluon--all
为了确定这个名为flowers的环境已经被移除,输入以下命令conda info -e
,会看到已经没有gluon这个环境 - 查看GPU的占用情况
nvidia-smi
- 在screen运行jupyter程序
screen -S jupyter
source activate gluon
source deactivate
jupyter notebook
screen -r jupyter
screen -X -S 122128 quit
- 查看当前的进程是谁的
ps -ef | grep 35230
- 在windows在激活虚拟环境
activate gluon
deactivate gluon
在网页中查看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代码成功。cuda版本出错
查看系统cuda的版本,安装对应版本的深度学习框架cat /usr/local/cuda/version.txt
如果安装错了,先使用pip uninstall mxnet-cu100
,删除原先的mxnet,然后再使用pip install mxnet-cu101
安装对应的版本.