Linux系统使用jupyter

XShell+WinSCP

目录

 

1.常用命令

1.1Linux系统基础命令

1.2虚拟环境

2.Linux系统Anaconda环境中配置Pytorch

2.1下载torch和torchvision离线包

2.2上传服务器

2.3测试

3.Linux系统远程配置jupyter notebook 

3.1安装jupyter notebook

3.2生成jupyter notebook 配置文件

3.3配置jupyter notebook密码

3.4服务器上修改jupyter_notebook_config.py配置文件

3.5服务器上启用jupyter

3.6jupyter连接虚拟环境内核


 

1.常用命令

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退出

496014edad2448368cdd869b3751c9ab.png

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 包

0ddf4913974f44cd9de38d9bf588288f.png

(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.Linux系统Anaconda环境中配置Pytorch

2.1下载torch和torchvision离线包

官网查询python、CUDA、pytorch三者版本,需要对应。例如,我的CUDA是10.0版本,Ctrl+F后搜索“CUDA 10.0”,官网给出的下载指令如下图,但是参照这篇博文可知,直接在线下载会很慢,并且看不出来与python版本是否冲突。

60fa1bba93bd4f5487c42e30fc82f25e.png

这篇博文中找到了离线下载网址,该网址页面如下图所示,有非常多whl文件,刚才的pytorch官网中仅筛选出了对应CUDA版本的torch和torchvision的版本号,接下来还需筛选符合当前系统与虚拟环境python版本的torch和torchvision包。本来我建的虚拟环境是python3.8版本的,发现CUDA10.0对应的版本都在cp37及以下,只好新建了python3.7的虚拟环境。

89829d19c57348b78f352856bf8871e6.png2.

CUDA版本较新的可以查看这个网址,是清华镜像源整理的新包。 

查看python版本:

$python -V

b60c9d7abd7f4453864fd00ff8778b55.png

查看python对应可以安装的whl文件格式: 

$pip debug --verbose

 f97716a80e904aba914673eb2b8834b5.png281af187b1524a0384a715bc40619932.png

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

1140c8c9f2a04d4bbb470873e39712f4.png

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

ee6414dd0c864ce2803a3466730fe806.png

退出python测试

>>>exit()

3.Linux系统远程配置jupyter notebook 

3.1安装jupyter notebook

$pip install jupyter

3.2生成jupyter notebook 配置文件

 $jupyter notebook --generate-config

输入这行代码后会给出jupyter_notebook_config.py配置文件的路径。 

8640ce273a954e3fac4bdd69175be148.png

遇到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()

f222dfde80b648bfa2896a9c62d869d3.png

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中的第二行代码需要删掉。

b8fd4d352526496f891763f246f5590f.png
 

3.4服务器上修改jupyter_notebook_config.py配置文件

$vim ~/.jupyter/jupyter_notebook_config.py

回车后将会在vim编辑器中,打开jupyter_notebook_config.py配置文件,这里需要运用vim命令,本小白重复好几次才成功。

首先,跳转进去后是文件内部,界面如下图所示,但如果你不是第一次打开,界面会空一段,下面大意是已有这个文件,问你要打开、删除还是覆盖之类的,这时只要键盘输入字母o,即可进入文件内部。

054c756704a1450887139ba869484069.png

进入该界面后,此时处于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

75e5497e4d2d4dabb626cecc668f18ca.png

复制网址去浏览器中访问网页版的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 内核名

d973f69ae1804176b1b579c311947cc1.png

step4:重启jupyter notebook,可以看到已经有了新的kernel

$jupyter notebook --no-browser

f3b50defe6814d069b6ab80f3a3e8a61.png

2923ea0ef9664e32af66c7a496b3f85a.pngf5058066189b4acfb0a64b698f087a07.png

 顺便吐槽一下……jupyter7怎么这么丑。

 

 

  • 40
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值