随着AI人工智能的崛起,机器学习、深度学习、模型训练等技术也慢慢泛化,java开发有idea,web开发有vscode,那么AI开发神器肯定离不开jupyter lab(基础版jupyter notebook)
Jupyter notebook部署
1. 安装jupyter服务
```python
pip install jupyter # 最好用pip3
```
2. 配置jupyter远程访问的凭证–设置密码
密文生成有手动生成和自动生成两种方式。自动生成会保存在json文件中。手动生成在ipython中运行直接输出。 密码用于本地访问服务器jupyter时需要输入的密码。
自动生成密码
jupyter notebook password
手动生成
python3进入交互模式 ,见图输入以下内容,设置好密码过后
这里你输入的密码,也是后面登入你服务器jupyter的密码,需牢记!
会自动生成一个Verify password复制保存下来!!!
退出交互模式。
3. 生成配置文件
输入以下内容
jupyter notebook --generate-config
就会自动在根目录下生成文件(~/.jupyter/jupyter_notebook_config.py
),这里可以用vim或者用相关ftp工具下载下来修改再覆盖,或者vscode ssh远程连接直接修改.
4. 修改配置文件
vim ~/.jupyter/jupyter_notebook_config.py
找到以下字符串进行修改:
c.NotebookApp.ip='*' # 如果这里修过过后启动服务报错 则修改为c.NotebookApp.ip='0.0.0.0'
c.NotebookApp.password=u'argon****' #就之前保存的验证密码
c.NotebookApp.open_browser =False # 设置是否自动打开浏览器
c.NotebookApp.port =8888 # 设置端口
c.NotebookApp.allow_remote_access = True
5. 启动服务
(1)jupyter notebook --allow-root
会一直占着窗口,无法执行其他命令
Ctrl + C 即可结束
(2) nohup jupyter notebook --allow-root &
推荐!
nohup表示no hang up, 就是不挂起, 于是这个命令执行后即使终端退出, 也不会停止运行.
启动以后在本机 输入http://{服务器ip}:8888 进行访问
第一次进入要输入之前设置的密码
遇到问题
按照上面,在本地浏览器输入http://address_of_remote:8889,输入登录密码即可访问jupyter。但可能由于防火墙的问题,仍然无法访问。这时候需要本地使用ssh启动。
1.启动jupyter
前面生成密文json格式后,不需要生成设置文件,直接启动jupyter。这种方式启动需要添加两个关键参数-no-browser和–port,分布设定浏览器和端口。
#启动notebook
jupyter notebook --no-browser --port=8889
#启动lab
jupyter lab --no-browser --port=8889
启动jupyter,会弹出提示信息
[I 16:54:05.861 LabApp] Jupyter Notebook 6.1.0 is running at:
[I 16:54:05.861 LabApp] http://localhost:8888
启动ssh 本地终端启动ssh,使用localhost:8888替换服务器的localhost:8889
name@IP替换成具体的用户名及IP地址,之后输入服务器登录密码即可。
ssh -N -f -L localhost:8888:localhost:8889 name@IP
远程访问 本地浏览器输入http://localhost:8888/,输入jupyter登录密码即可使用。