赞
踩
XShell+WinSCP
目录
3.4服务器上修改jupyter_notebook_config.py配置文件
1.1Linux系统基础命令
(1)查看当前目录中的文件与子目录
$ls
(2)显示当前工作目录路径
$pwd
(3)新建目录
$mkdir 目录名
(4)切换目录
$cd 目录名(逐层)
(5)显示文件前几行或后几行
- $head -n 5 file_name # 显示前5行
- $tail -n 5 file_name # 显示后5行
(6)显示当前运行的进程
$ps aux
(7)终止进程
$kill process_id
(8)显示磁盘使用情况
- $df -h # 显示磁盘空间使用情况
- $du -h 目录名 # 显示目录的磁盘使用情况
(9)显示系统内存占用情况
$free -m # 以Mb为单位显示内存使用情况
(10)查看anaconda是否配置成功
$conda --version
(11)查看服务器gpu情况,可根据表确定对应的CUDA版本
$watch nvidia-smi # 查看后Ctrl+C退出
1.2虚拟环境
(1)创建虚拟环境
$conda create --name xpytorch37 python=3.7
(2)进入虚拟环境
$conda activate xpytroch37
(3)查看所有环境
- $conda info --envs
- #或者
- $conda env list
(4)退出当前虚拟环境
$exit
(5)虚拟环境中包的安装路径
- $pip install 包
- #安装路径为:/public/home/用户名/anaconda3/envs/环境名/lib/python3.7(虚拟环境设的对应的python版本)/site-packages
-
- $conda install 包
- #安装路径为:/public/home/用户名/anaconda3/envs/环境名/conda-meta
(6)查看某包的安装路径
$which 包
(7)虚拟环境备份及重建
- $conda list --export > environment.yml #重大更新前备份
- $conda create --name 环境名 --file environment.yml #重建环境
(8)更新conda包管理器
- $conda update -n base -c defaults conda #更新conda中所有的包
- $conda update conda #仅更新conda包
2.1下载torch和torchvision离线包
官网查询python、CUDA、pytorch三者版本,需要对应。例如,我的CUDA是10.0版本,Ctrl+F后搜索“CUDA 10.0”,官网给出的下载指令如下图,但是参照这篇博文可知,直接在线下载会很慢,并且看不出来与python版本是否冲突。
从这篇博文中找到了离线下载网址,该网址页面如下图所示,有非常多whl文件,刚才的pytorch官网中仅筛选出了对应CUDA版本的torch和torchvision的版本号,接下来还需筛选符合当前系统与虚拟环境python版本的torch和torchvision包。本来我建的虚拟环境是python3.8版本的,发现CUDA10.0对应的版本都在cp37及以下,只好新建了python3.7的虚拟环境。
2.
CUDA版本较新的可以查看这个网址,是清华镜像源整理的新包。
查看python版本:
$python -V
查看python对应可以安装的whl文件格式:
$pip debug --verbose
2.2上传服务器
将文件上传至服务器自己的目录下,分别pip一下即可。
$pip install torch-1.2.0-cp37-cp37m-linux_x86_64.whl
$pip install torchvision-0.4.0-cp37-cp37m-manylinux1_x86_64
2.3测试
- (xpytorch37) [hemingxiang@gpu1 slz]$ python
- Python 3.7.16 (default, Jan 17 2023, 22:20:44)
- [GCC 11.2.0] :: Anaconda, Inc. on linux
- Type "help", "copyright", "credits" or "license" for more information.
- >>> import torch
- >>> import torchvision
- >>> torch.cuda.is_available()
- True
退出python测试
>>>exit()
3.1安装jupyter notebook
$pip install jupyter
3.2生成jupyter notebook 配置文件
$jupyter notebook --generate-config
输入这行代码后会给出jupyter_notebook_config.py配置文件的路径。
遇到ImportError: cannot import name 'COMMON_SAFE_ASCII_CHARACTERS' from 'charset_normalizer.constant' 报错,采用这篇博文的方法解决。
3.3配置jupyter notebook密码
密码可以重复修改,需要修改时只需再次重复以下步骤即可。
3.3.1jupyter7.0版本以下
下面的'argon2:'这串是根据你输入的密码生成的密钥,需要记住,一会改写配置里要用。
- $python
- >>>from notebook.auth import passwd #from jupyter_server.auth import passwd #from IPython.lib import passwd #这条指令出的是shal
- >>>passwd()
- Enter password: # 输入密码,不会显示
- Verify password: # 再次确认密码,不会显示
- 'argon2:一串密码'
- >>>exit()
3.3.2jupyter7.0及以上
若报错ModuleNotFoundError: No module named 'notebook.auth',说明jupyter版本是7.0以上的,可以不用进入python解释器,直接在bash设置。
- $jupyter notebook password
- Enter password: # 输入密码,不会显示
- Verify password: # 再次确认密码,不会显示
jupyter7.0以上已经不生成'argon2:'了,而是直接生成写入配置文件的hashed password,所以3.4中的第二行代码需要删掉。
3.4服务器上修改jupyter_notebook_config.py配置文件
$vim ~/.jupyter/jupyter_notebook_config.py
回车后将会在vim编辑器中,打开jupyter_notebook_config.py配置文件,这里需要运用vim命令,本小白重复好几次才成功。
首先,跳转进去后是文件内部,界面如下图所示,但如果你不是第一次打开,界面会空一段,下面大意是已有这个文件,问你要打开、删除还是覆盖之类的,这时只要键盘输入字母o,即可进入文件内部。
进入该界面后,此时处于vim编辑器的命令模式,先输入:$,然后回车,跳转至文档末尾一行。再输入小写o[进入编辑模式,光标所在行的下一行插入],进入下一行,填入下列代码:
- c.NotebookApp.ip='*' #"*"代表任意ip,也可以选择将服务器的ip填入
- c.NotebookApp.password = u'argon2:xxxxxxxxxxxxxxxxxxx' #先前备份的加密密钥,jupyter7.0版本删掉这行即可
- c.NotebookApp.port = 8888 #随便设定一个端口,若已开8888端口,需要改变
- c.NotebookApp.open_browser = False #不唤起浏览器
- c.NotebookApp.allow_remote_access = True
- c.NotebookApp.allow_root = True
- c.NotebookApp.notebook_dir = '/project' # 定义notebook的起始路径
代码填完后,按Esc键进入vim命令模式,输入:wq!,然后回车,强制保存并退出vim编辑器。
3.5服务器上启用jupyter
再激活的虚拟环境中,输入代码启动jupyter notebook
$jupyter notebook --no-browser
复制网址去浏览器中访问网页版的jupyter notebook。浏览器可能拒绝访问,可根据这篇博文修改。
3.6jupyter连接虚拟环境内核
上面已经可以实现本地浏览器使用jupyter远程连接服务器了,但我发现只有一个kernel,应该是公用的。于是参照这篇博文,在自己的虚拟环境里创建kernel,并连接。
step1:参照本文1.2,创建并激活虚拟环境
step2:安装ipykernel包
$conda install ipykernel
step3:创建内核,“内核名”处填入自己起的内核名,最好与环境名对应,防止记混,例如我的环境名为“xpytorch38”,内核名为“xpy38”
$python -m ipykernel install --name 内核名
很多朋友在公用服务器上,没有权限在home以外的文件夹写入信息,可以加入--user,代码如下:
$python -m ipykernel install --user --name 内核名
step4:重启jupyter notebook,可以看到已经有了新的kernel
$jupyter notebook --no-browser
顺便吐槽一下……jupyter7怎么这么丑。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。