Jupyter Lab:Jupyter Notebook 的演变

简介: 笔记

2.png

JupyterLab 是 Jupyter Notebook 的下一代用户界面。它是一个基于Web的交互式开发环境,可以让用户以可视化的方式编辑、运行和分享代码。JupyterLab支持多种语言,包括Python、R、Julia等,可以进行数据分析、科学计算、机器学习等各种任务。

与Jupyter Notebook相比,JupyterLab提供了更丰富的功能和更灵活的界面。它支持多窗口布局,可以在同一个页面内同时打开多个Notebook、文本文件、终端等。同时,JupyterLab还支持插件扩展,可以根据需要安装和配置各种插件,如代码编辑器、文件浏览器、绘图工具等,以满足不同的需求。

随着 AI 行业的持续火热,相关的工具和框架简直是一天一个样,JupyterLab 也可以作为 AI 的工具,可以做很多的事情,包括:

  1. 数据探索和可视化:JupyterLab 可以通过各种Python库,如Numpy、Pandas、Matplotlib、Seaborn等,对数据进行探索和可视化,帮助用户发现数据的特点和规律。
  2. 机器学习和深度学习:JupyterLab可以通过各种Python库,如Scikit-learn、TensorFlow、Keras、PyTorch等,进行机器学习和深度学习的任务,如分类、回归、聚类、图像识别、自然语言处理等。
  3. 自然语言处理:JupyterLab可以通过Python库NLTK、Spacy等,进行自然语言处理的任务,如分词、命名实体识别、文本分类、情感分析等。
  4. 数据挖掘和数据预测:JupyterLab可以通过各种Python库,如Scikit-learn、XGBoost等,进行数据挖掘和数据预测的任务,如异常检测、关联规则挖掘、时间序列分析等。
  5. 模型解释和调优:JupyterLab可以通过各种Python库,如Shap、Lime、Scikit-learn等,对机器学习和深度学习模型进行解释和调优,帮助用户理解模型的决策过程和优化性能。


安装启动


JupyterLab 可以使用 conda、mamba、pip、pipenv 或 docker 安装。

#conda
conda install -c conda-forge jupyterlab
#mamba
mamba install -c conda-forge jupyterlab
#pip
pip install jupyterlab
#pipenv
pipenv install jupyterlab
pipenv shell

请查看官方安装文档以获取更多细节。这里将介绍一下使用 Docker 安装和使用 JupyterLab,同样官方提供了详细的文档

Jupyter Docker Stacks 是一组可直接运行的 Docker 镜像,包含 Jupyter 应用程序和交互式计算工具。可以使用堆栈镜像执行以下任何操作(等等):

  • 启动带有 JupyterLab 前端的个人 Jupyter 服务器(默认)
  • 使用 JupyterHub 为团队运行 JupyterLab
  • 在本地 Docker 容器中启动个人 Jupyter Notebook 服务器
  • 编写自己的项目 Dockerfile

可以在 mybinder.org 上尝试一个最新版本的 jupyter/base-notebook 镜像构建的。这里就从 Docker 镜像启动一个 Jupyter 服务器:

docker run -p 10000:8888 jupyter/scipy-notebook:2023-04-24

上面的命令是从 Docker Hub 拉取 jupyter/scipy-notebook 镜像,标记为 2023-04-24 的版本,如果该镜像还未在本地主机上存在。那么它会启动一个容器,运行 Jupyter 服务器,并将容器的内部端口 8888 映射到主机机器的端口 10000。可以通过修改 -p 选项的值来更改容器端口的映射,例如将其改为 -p 8888:8888,关于 Docker 的操作可以阅读专题《面向WEB开发人员的Docker》。

运行成功后将可以看到一下界面:

4.png

在上面的界面可以看到访问地址:http://127.0.0.1:8888/lab?token=65eed917357fa0bd59960c109864074c6d14515f32d5bb56,由于运行的时候改了本机对应的端口为 10000,因此正确的访问地址为:http://127.0.0.1:10000/lab?token=65eed917357fa0bd59960c109864074c6d14515f32d5bb56

5.png

这意味着一切都已准备就绪,可以开始使用了。


操作界面


在使用各种功能之前了解一下 JupyterLab 的界面。

  • 顶部菜单:展示了在 Jupyter Lab 中可用的各种操作。
  • 左侧边栏:包括常用的选项卡。可以从 Running 面板中查看正在运行的会话,Commands 面板允许搜索所有可用的命令。
  • 主要工作区:这是实际工作所需的区域。它包括notebooks、文档、控制台、终端等。只需双击或拖动文件到该区域即可开始工作。工作区可以通过命名的工作区 URL 在服务器上保存。还可以通过在 JupyterLab 的 URL 中将 lab 改为 tree 来在经典的 Notebook 视图和 JupyterLab 视图之间切换。

来快速了解如何在 Jupyter Lab 中处理文件。

创建文件

单击主菜单中的 + 图标即可。这将在主工作区中打开一个新的 Launcher 选项卡,可以能够创建Notebook、控制台、终端或文本编辑器。同样的操作也可以通过使用 File 选项卡来完成。打开后,文件可以重命名,甚至可以下载。

6.png

打开现有文件

打开文件是一个非常简单的过程,选择上传图标,从本地上传一个文件。


灵活的布局


布局是很多IDE都有的基本功能,JupyterLab 同样也有这样的功能,通过将所有功能整合到一个交互式和协作环境中来解决这个问题。

Notebooks

JupyterLab 使用的Notebooks文档格式与经典Jupyter Notebook相同。

输入 print("Hello World") ,点击上面播放按钮即执行。

7.png

Console

对于习惯于 QT 控制台类型环境的人来说,可以使用 Console,能够在内核中以交互方式运行代码。

8.png

完成输入后,选择顶部菜单 Run->Run Cell 即可以看到结果。

Text Editor

文本编辑器使编辑文件成为可能,文本编辑器包括语法突出显示、可配置缩进(制表符或空格)、键映射和基本主题。这些设置可以在 Settings 菜单中找到。

9.png

Terminal

JupyterLab 终端为 Mac/Linux 上的系统 shell(bash、tsch 等)和 Windows 上的 PowerShell 提供全面支持。可以使用终端在系统 shell 中运行任何东西,包括 vim 或 emacs 等程序。


增强的 Notebook 功能


Jupyter Lab 并不是 Notebook 格式的重新实现,而只是在现有架构之上的新前端。然而,这个新的前端实现使得可以包含一些在经典 Notebook 中缺失的功能。

展开和折叠单元格

10.png

拖放单元格

11.png

编辑器中代码自动完成

文本编辑器现在具有代码自动完成功能,它仅在文本编辑器有附加控制台时才启用。


交互式计算


Jupyter Lab的真正能力在于其支持交互式计算,这在数据科学中非常有用。

创建新的输出视图

将使用官方 Jupyter Github 页面上的 Lorenz 微分方程 notebook 。运行一些单元格后,将得到交互式的 Lorenz 吸引子作为输出。有时当有一个交互式输出时,必须上下滚动以找到生成它的代码,这有点令人沮丧。作为解决这个问题的方法,Jupyter Lab 提供了一个选项,可以将输出分解成一个新的标签页,通过使用滑块并更改参数,就像拥有一个伪仪表板一样。

12.png

拖拽和编辑 Notebook 之间的单元格

可以在一个 notebook 中拖放单元格。但是,单元格也可以在不同的 notebook 之间拖放。而且,一个 notebook 中的更改也会反映在另一个 notebook 中。

简化代码文档化过程

正确地说,代码阅读的次数远远大于编写的次数。文档编写是编程的一个非常重要的方面,而Jupyter Lab则使这一过程更加容易。在编写Markdown文件时,通常面临的一个问题是必须在不同的控制台中运行代码以检查其是否完美运行,然后再将其包含在文件中,反复切换选项卡非常烦人。

Jupyter Lab 让编辑器和控制台合并到单个视图中。因此,可以同时检查代码、文档并预览整个文件。


扩展


JupyterLab 被设计为一个可扩展的环境,扩展是非常强大的工具,可以极大地提高一个人的生产力。左侧菜单栏切换到第四个扩展管理,然后在搜索框中输入 google ,可以看到搜索结果,如图:

13.png

选择第一个进行安装。

不过对于扩展,官方目前支持不太好,新版本很多支持不了。


总结


JupyterLab 是下一代基于Web的用户界面,它拥有丰富的交互计算工具和精心设计的界面,允许用户以新颖的方式将它们组合在一起。它非常强大,提供了各种稳健的工具,使数据分析过程更加顺畅,无疑会提高生产效率。


相关文章
|
5月前
|
数据采集 机器学习/深度学习 数据可视化
使用Jupyter Notebook进行数据分析:入门与实践
【6月更文挑战第5天】Jupyter Notebook是数据科学家青睐的交互式计算环境,用于创建包含代码、方程、可视化和文本的文档。本文介绍了其基本用法和安装配置,通过一个数据分析案例展示了如何使用Notebook进行数据加载、清洗、预处理、探索、可视化以及建模。Notebook支持多种语言,提供直观的交互体验,便于结果呈现和分享。它是高效数据分析的得力工具,初学者可通过本文案例开始探索。
|
3月前
|
Python
Jupyter Notebook又一利器nbterm,在终端玩notebook!
Jupyter Notebook又一利器nbterm,在终端玩notebook!
Jupyter Notebook & Lab快捷键大全
Jupyter Notebook & Lab快捷键大全
|
3月前
|
数据可视化 JavaScript 定位技术
这款地图可视化神器终于支持新版jupyter lab了!
这款地图可视化神器终于支持新版jupyter lab了!
|
3月前
|
数据可视化 数据挖掘 定位技术
好用到飞起的12个jupyter lab插件
好用到飞起的12个jupyter lab插件
|
3月前
|
JavaScript Python
不吹不黑,jupyter lab 3.0客观使用体验
不吹不黑,jupyter lab 3.0客观使用体验
|
3月前
|
JavaScript 前端开发 C++
jupyter lab最强代码提示插件来了
jupyter lab最强代码提示插件来了
|
5月前
|
文字识别 异构计算 Python
关于云端Jupyter Notebook的使用过程与感想
在自学Python时,由于家庭电脑使用冲突和设备老旧,转向云端平台。体验了多个服务:1. 魔搭modelscope(最喜欢,赠送资源丰富,社区活跃),2. Colaboratory(免费GPU,但有时重启,建议用阿里云),3. Deepnote(免费环境有限,但GPT-4代码生成功能强大),4. 飞桨aistudio(适合PaddlePaddle用户),5. ModelArts(曾有免费实例,现难找)。综合来看,阿里云的稳定性与服务更优,尤其是魔搭的自动代码修正功能。对于AIGC,推荐魔搭和付费版PAI-DSW。欢迎分享更多云端Jupyter平台体验。
253 1
|
5月前
|
开发工具 git
Jupyter Lab操作文档
**Jupyter Lab 概览:**集成编辑器、终端和自定义组件的环境。可定制主题、显示行号、切换语言。使用时,了解界面布局,通过`Ctrl+Enter`运行代码,`Shift+Enter`前进,`Alt+Enter`新建行。利用Markdown写作,通过Terminal执行命令,用快捷键提升效率,如`a/b`增删单元格,`m/y`切换模式。文件上传下载可使用OBS或终端工具。
Jupyter Lab操作文档
|
5月前
|
Python 数据挖掘 数据可视化
Python数据分析——Pandas与Jupyter Notebook
【6月更文挑战第1天】 本文探讨了如何使用Python的Pandas库和Jupyter Notebook进行数据分析。首先,介绍了安装和设置步骤,然后展示了如何使用Pandas的DataFrame进行数据加载、清洗和基本分析。接着,通过Jupyter Notebook的交互式环境,演示了数据分析和可视化,包括直方图的创建。文章还涉及数据清洗,如处理缺失值,并展示了如何进行高级数据分析,如数据分组和聚合。此外,还提供了将分析结果导出到文件的方法。通过销售数据的完整案例,详细说明了从加载数据到可视化和结果导出的全过程。最后,讨论了进一步的分析和可视化技巧,如销售额趋势、产品销售排名和区域分布,以及
180 2