Jupyter Lab 的 10 个有用技巧

news2024/11/24 20:38:23

JupyterLab是 Jupyter Notebook「新」界面。它包含了jupyter notebook的所有功能,并升级增加了很多功能。它最大的更新是模块化的界面,可以在同一个窗口以标签的形式同时打开好几个文档,同时插件管理非常强大,使用起来要比jupyter notebook高大尚许多。

1、拼写检查

拼写检查可以让我们的文档保持更高的质量,默认情况下,拼错的单词会以红色背景突出显示,但是这里我将其设置为下划线。

使用这个功能只要安装以下的插件:

pip install jupyterlab-spellchecker

2、代码格式化

这里需要安装几个包,一个是提供格式化功能,另外一个是我们的jupyterlab插件

# Install the formatters
$ pip install black isort
# Install the extension
$ pip install jupyterlab-code-formatter

通过Jupyter Lab Code Formatter扩展可以获得很多的格式化功能

安装完成后,顶部会出现一个奇怪但看起来很酷的图标。如果您不想使用该按钮,您可以将扩展配置为保存时自动格式化(在 Advanced Settings Editor 设置)。

3、多行选择

这个功能与jupyter notebook一样,点击时按住Ctrl键可以多选。只能在单个单元格内进行多选。

4、添加虚拟环境

使用以下命令将虚拟环境作为内核添加到Jupyter Lab,这样就可以作为一个选项出现在Launcher或内核列表的右上角:

$ pip install ipykernel
$ ipython kernel install --user --name=new_or_existing_env_name

注意:以上代码需要在你需要添加的虚拟环境使用,而不是jupyter lab的环境

5、像运行脚本一样运行notebook

Jupyter notebook用于探索和互动输出。但是使用jupyter run命令,可以像Python脚本一样顺序执行每个笔记本单元格。

jupyter run path_to_notebook.ipynb

该命令会以JSON的形式返回每个单元格的输出,所以如果有大量文本输出可能会卡顿。我们可以将不同的超参数保存到单个笔记本中然后运行,这样可以保存运行记录。

6、分割编辑器窗口

Jupyter Lab的窗口以标签的形式展示,我们一次可以打开好几个编辑窗口,并且可以拖动窗口,将编辑器窗口分割,演示如下:

7、随时查看文档

有三种方法可以直接从编辑器中查找几乎任何函数或魔法命令的文档。

第一个是使用Shift + Tab键盘快捷键(默认),它会显示一个弹出窗口,其中包含光标所在的函数或类的文档:

如果不喜欢点击其他地方后弹出窗口消失,还可以使用上下文帮助,它可以通过帮助菜单或Ctrl + I键盘快捷键访问。上下文帮助显示游标指向的函数或类的实时文档。

最后,一种方法可以简单地在函数或类名的末尾添加一个问号(不带括号):

8、终端命令和Python代码混合开发

这个功能看起来有点古怪,但它非常有用。使用感叹号(!),可以在代码单元格中运行任何终端命令。

还可以将这些命令的输出存储在Python变量中。例如使用!pwd的输出将当前工作目录存储在path变量中:

path = !pwd

这里有一个更实际的例子。假设有一个数据文件夹,其中包含用于模型训练的图像。所有图像都根据它们的类被分类到目录中。

问题是有太多的图像类别,我们无法手动计数。需要使用一个快速的方法来计算data/raw/train内部的目录数量,并将其输出存储在number_of_classes中:

number_of_classes = !ls -1 data/raw/train | wc -l

>>> print(number_of_classes)
43

一句shell命令就能解决问题,这样就不用我们写python的目录遍历代码了

9、通知执行

即使你不是谷歌Colab的用户,你也一定会喜欢它的单元格执行通知。使用winsound内置Python库,可以在Jupyter Lab上模仿该功能:

import winsound

# Create a beep that lasts five seconds
duration = 5000
frequency = 440

winsound.Beep(frequency, duration)

10、自动重载修改后的Python脚本

将脚本与笔记本混合使用是非常不好的,但是有时候我们的确需要这样做,如果我们更新了导入的脚本,除非重新启动内核,否则Jupyter将不会自动检测到更改,这会产生很多问题。所以我们可以使用autoreload 命令来避免这个问题:

%load_ext autoreload
%autoreload 1

上述代码将每秒钟检测并刷新一次内核。它不仅会检测脚本更改,还会检测对所有文件的更改。

对于python脚本,我们还可以使用pycat 命令来以语法高亮的形式显示Python脚本的内容:

对于其他文件格式,也可以使用cat命令,这是linux的标准命令

总结

本文介绍了几个常用且好用的jupyter技巧,如果你还想了解个更多的魔法命令,可以运行lsmagic。它将列出所有内联和单元格魔术命令。

https://avoid.overfit.cn/post/5f262543e01045cbab0aaafc5f6966c5

作者:BEXGBoost

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/169493.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

el-date-picker实现通过其他方式触发日期选择器

el-date-picker 目前只能通过点击input输入框触发日期选择器,项目中需要通过其他方式触发日期选择器同时把input输入框去掉,如点击按钮 该模块由于后端接口数据传输限制 在前面文章里做了些许改动。 需求左右切换 可以快速找到年份,于是添加…

大数据技术架构(组件)——Hive:环境准备3

1.0.2、服务启动在搭建Hadoop的环节中,已经将Hadoop服务启动了,这里将Hive Metastore服务启动hive --service metastore1.0.2.1、服务端启动Debug模式为了方便学习,大家可以在IDEA中打开Terminal,开启debug模式和metastore服务启动…

C++设计模式实践——线上购物系统

一、系统的主要目标与功能 在本次设计中,考虑到目前疫情反复不断,为了方便群众,超市都推出在线购物并有配送员送货,于是我设计了一个超市在线网上购物送货的系统,这个系统的主要目标是帮助人们在家里购买自己需要的套…

Rust 学习笔记

参考自Rust 程序设计语言 简体中文版 1. Hello world 2. Cargo(Rust 的构建系统和包管理器) 使用 Cargo 创建项目 Cargo 配置文件 Cargo 目录结构 构建并运行 Cargo 项目 发布(release)构建 Cargo 常用命令 cargo build&#xf…

【青训营】Go的测试

Go的测试 测试主要包括:回归测试、集成测试、单元测试 一、单元测试 其中测试单元可以是函数,也可以是模块 规则: 1.所有测试文件都以_test.go结尾 2.测试函数命名规范:func TestXxx(*Testing.T) 3.初始化逻辑需要放置在TestMain中 以下是…

django框架【待续】

目录简介MVC与MTV模型MVCMTV创建项目目录生命周期静态文件配置(无用)启动django[启动](https://www.cnblogs.com/xiaoyuanqujing/articles/11902303.html)路由分组无名分组有名分组路由分发反向解析反向解析结合分组名称空间re_path与path自定义转换器视…

为什么普通人赚钱这么难?普通人的赚钱之路在哪里

前几天听一个老家的朋友说辛辛苦苦一整年,发现并没有赚到什么钱。付出与收入不成正比。首先要知道勤奋、努力并不一定就能够赚到钱像送外卖的,工地上班的,厂里上班的哪个不勤奋但他们即使非常努力工作一个月,扣除基本开支&#xf…

这是一篇知识帖:终于能明白云原生技术的概念和可落地的应用分享

随着云计算的发展和普及,云原生概念的热度也越来越高,到底什么是云原生?和我们日常工作有什么关系?本文是向大家介绍云原生技术的概念和要点,帮助大家快速了解和学习云原生,,便于大家了解工作的…

【PHP了解】PHP脚本语言基础

PHP PHP 文件的默认文件扩展名是 “.php”PHP 文件通常包含 HTML 标签和一些 PHP 脚本代码 例&#xff1a; <!DOCTYPE html> <html> <body><?php xxxxxxxxxxxxxxxxx; ?></body> </html>语法 代码框架 <?php 开始&#xff0c;以 ?…

DW动手学数据分析Task1:数据加载及探索性数据分析

目录1 数据载入1.1 载入数据1.2 read_csv和read_table的区别1.3 逐块读取1.4 修改表头和索引2 数据初步观察2.1 查看数据基本信息2.2 保存数据3 pandas数据结构和列操作3.1 Series 和DataFrame3.2 查看 DataFrame数据每列的名称和值3.3 DataFrame 的列删除和隐藏4 数据筛选4.1 …

如何合并pdf?来看这几个方法!

我们经常在整理文件的时候经常会选择将一些常用文件的格式改为pdf&#xff0c;因为这种文件格式就算发送给了别人&#xff0c;别人也不能随意的修改文件内容&#xff0c;这就保证了我们的文件内容的隐私安全。不过&#xff0c;对于处理pdf文件&#xff0c;我们还是会面临一些不…

c++ dynamic_cast,static_cast,const_cast,reinterpret_cast四种cast用法整理

在C中主要分为四种cast&#xff0c;分别是&#xff1a;static_cast、dynamic_cast、const_cast和reinterpret_cast dynamic_cast动态类型转换 首先&#xff0c;我们明确基类和派生类之间的两个转换术语 向上转换(upcast)&#xff1a;派生类向基类转换 向下站还(downcast)&…

证券服务应用评测系列:海通e海通财发布9.0版本,探索证券APP持续提升用户体验

易观分析&#xff1a;APP作为券商机构线上服务的入口&#xff0c;其活跃用户规模和运营水平在一定程度上能够体现机构战略定位、品牌运营、科技创新、用户竞争等综合实力。易观分析认为&#xff0c;如何围绕用户进行创新&#xff0c;利用技术将壁垒升高&#xff0c;打造具有品牌…

PuTTY installation directory must be on a local hard drive

putty安装问题 问题描述&#xff1a;安装时候报错&#xff0c;installation directory must be on a local hard drive 解决方案&#xff0c;无法解决。 很多人使用了这个方法解决了。但是我解决不了。 1、如果是exe类型的&#xff0c;直接右击以管理员身份运行。 2、如果是…

常用的文件类型大全(建议收藏)

文件格式格式图标格式概况mpg文件mpg是一种常见的视频格式,mpeg标准主要有以下五个,MPEG-1、MPEG-2、MPEG-4、MPEG-7及MPEG-21等。mpg有可能是基于MPEG-1(VCD)或MPEG-2torrent文件torrent文件(扩展名为.torrent)包含了一些BT下载所必须的信息,根据BitTorrent协议,文件发布者…

opencv文字旋转 putText旋转90°

文章目录● opencv文字旋转 putText旋转901. cv::getTextSize获取文字的尺寸textSize2. 设置文字图像textImg尺寸格式3. 将文字绘制在文字图像textImg上4. 对文字图像textImg进行旋转5. 在原图img上设置用来放置文字图像textImg的roi区域5.1 矩形区域roi5.2 行列范围roi6. 将文…

Swin-Unet: Unet-like Pure Transformer for Medical Image Segmentation论文解读

Swin-Unet: Unet-like Pure Transformer for Medical Image Segmentation 论文&#xff1a;[2105.05537] Swin-Unet: Unet-like Pure Transformer for Medical Image Segmentation (arxiv.org) 代码&#xff1a;HuCaoFighting/Swin-Unet: The codes for the work “Swin-Unet:…

LiveNVR监控流媒体Onvif/RTSP功能功能-支持GB35114接入国标流媒体平台接入说明

LiveNVR监控流媒体Onvif/RTSP功能功能-支持GB35114接入国标流媒体平台接入说明1、GB35114注册2、LiveNVR通过GB35114接入LiveGBS2.1、开启LiveGBS 35114功能2.2、 获取设备端证书给平台2.3、LiveGBS白名单中添加需要接入的国密设备2.4、导出LiveGBS平台端证书给设备&#xff08…

管理学实验的设计与实践结课作业

一、不同组织结构类型对组织的沟通效率会带来影响&#xff0c;这也是在组织结构设计过 程需要考虑的重要内容&#xff0c;但对于两者的关系无法准确界定。如在直线职能制的组织结构中&#xff0c;管理幅度和深度是影响是影响沟通效率的主要因素。请设计实验来验证分析直线职能制…

手动部署SQL审计平台Archery(连接mysql8.x)

安装Python和virtualenv从1.9.0版本开始&#xff0c;将不再支持python3.7及以下版本&#xff0c;手动安装也将使用3.9版本作为样例&#xff0c;移除yum安装方式# 安装依赖 yum install libffi-devel wget gcc make zlib-devel openssl openssl-devel ncurses-devel openldap-de…