点击上方“小白学视觉”,选择加"星标"或“置顶

重磅干货,第一时间送达

下一代数据科学开发环境 Jupyter Lab 应该怎么用?让我们从扩展工具开始。

如果你是一个用 Python 的数据科学家,那么用 Jupyter Notebook 就是大概率事件了。作为 Jupyter Notebook 的「下一代」web 应用,Jupyter Lab 提供了相比以往更多的便捷功能,其中之一就是扩展。

现在,即使是 Jupyter Lab 开发者团队也对如此蓬勃发展的第三方扩展工具社区而感到兴奋了。在这篇文章中,机器学习工程师、计算机科学博士 Christopher Tao 将为读者介绍 10 种 Jupter Lab 扩展工具,它们对于典型的数据科学家 / 工程师来说可以大幅提高生产力。

10 大 Jupyter Lab 扩展

目前,大多数在线资源都会使用以下命令来安装 Jupyter Lab 扩展:

jupyter labextension install @jupyterlab/...

当然,很多人都喜欢使用这种命令。如果你是 VS-Code、Sublime 或 Atom 的用户,你也许会希望在「管理器」中直接搜索要安装的内容。Jupyter Lab 却没有提供这些功能。

如上图所示,你可以转到左侧导航栏第 4 个选项卡,即扩展管理器(extension manager)。然后就可以搜索到你需要的扩展。

现在总结一下值得推荐的 10 个 Jupyter Lab 扩展。

JupyterLab 调试器

调试器指南:https://blog.jupyter.org/a-visual-debugger-for-jupyter-914e61716559

由于 Jupyter 的交互性,它受到了很多人的喜欢。然而,调试功能是编码所必须的。例如,我们可以逐步调试 for 循环(for-loop )来查看内部发生了什么。大多数 IDE 工具都支持这种带有「step over」和「step into」的调试特性,但遗憾的是,Jupyter 中没有这种特性。

「jupyterlab/debugger」就是这样一个扩展,让我们可以补足 Jupyter Lab 中缺少的这个功能。

图源:https://blog.jupyter.org/a-visual-debugger-for-jupyter-914e61716559

JupyterLab-TOC

JupyterLab-TOC 项目地址:https://github.com/jupyterlab/jupyterlab-toc

notebook 太长?想让你的 notebook 看起来更漂亮?或者希望 notebook 有一个目录?「jupyterlab/toc」帮你实现。

图源: https://github.com/jupyterlab/jupyterlab-toc/raw/master/toc.gif

有了这个扩展,基于用标题标记的单元格会自动生成目录(确保使用标记 ## 来指定你的标题级别)。这也是使用 Jupyter Notebook 的好方法,让你的工作更有系统性和组织性。

JupyterLab-DrawIO

JupyterLab-DrawIO 项目地址:https://github.com/QuantStack/jupyterlab-drawio

Diagram.net(原名 Draw.IO)是绘制图表的工具,它确实是 MS Visio 完美的开源替代品。借助于 jupyterlab-drawio,我们可以在 Jupyter Lab 上使用该工具。

图源:https://github.com/QuantStack/jupyterlab-drawio/raw/master/drawio.gif

JupyterLab Execution Time

JupyterLab Execution Time 项目地址:https://github.com/deshaw/jupyterlab-execute-time

Jupyter Notebook/Lab 的一个惊人特性是它能提供许多有用的魔术命令(magic command)。例如我们可以使用「%timeit」测试代码运行时间。它将运行代码片段数百或数千次,并得到平均值,以确保给出一个公平和准确的结果。

但有时并不需要这样精确。我们只不过想知道每个单元运行的时间,在这种情况下,为每个单元使用「%timeit」变得不合适了。

在这种情况下,我们可以使用「jupyterlab-execute-time」。

如上图所示,「jupyterlab-execute-time」不仅显示了执行单元的时间间隔,而且还显示了最后执行的时间。

JupyterLab Spreadsheet

JupyterLab Spreadsheet 项目地址:https://github.com/quigleyj97/jupyterlab-spreadsheet

作为一名数据科学家或数据工程师,你不得不与电子表格打交道。但是,Jupyter 本身不支持读取 Excel 文件,这迫使我们需要打开多个工具,在 Jupyter 编码以及 Excel 之间不停地切换。

「jupyterlab-spreadsheet」可以很好地解决这类问题。它在 Jupyter Lab 中嵌入了 xls/xlsx 电子表格查看功能,因此我们可以在同一个地方获得所需的一切。

图源: https://github.com/quigleyj97/jupyterlab-spreadsheet/raw/main/screenshot.png

JupyterLab System Monitor

jupyterlab-system-monitor 项目地址:https://github.com/jtpio/jupyterlab-system-monitor

Python 不是一种高效执行的编程语言,这意味着与其他语言相比,它可能会消耗更多的 CPU 和内存资源。Python 的最常见用例之一是数据科学。所以,我们可能想要监控自身系统硬件资源,从而注意到 Python 代码可能冻结了操作系统。

jupyterlab-topbar-extension 你想要拥有的扩展,它可以在 Jupyter Lab UI 的顶部栏显示 CPU 和内存使用情况,这样我们就可以实时监控了。如下动图所示:

图源:https://github.com/jtpio/jupyterlab-system-monitor/raw/main/doc/screencast.gif

JupyterLab Kite

jupyterlab-kite 项目地址:https://github.com/kiteco/jupyterlab-kite

虽然我很喜欢 Jupyter,但它不像其他经典 IDE 工具一样提供代码自动补全功能。Jupyter 的代码自动补全非常受限且速度很慢。

你可能听说过免费的 AI 赋能代码补全服务 Kite,它在 Sublime、VS Code 和 PyCharm 等几乎所有流行的 IDE 工具中都可以使用。通过 jupyterlab-kite (https://github.com/kiteco/jupyterlab-kite) 扩展,你也可以在 Jupyter Lab 中使用这一功能。

图源:https://github.com/kiteco/jupyterlab-kite

JupyterLab Variable Inspector

jupyterlab-variableInspector 项目地址:https://github.com/lckr/jupyterlab-variableInspector

如果你是从 R studio 或 Matlab 转向使用 Jupyter Lab 的数据科学家,则可能对这些工具提供的变量检测器非常熟悉。但遗憾的是,Jupyter Lab 默认不支持这一功能。这时,jupyterlab-variableInspector 扩展可以重新支持该功能。

图源:https://github.com/lckr/jupyterlab-variableInspector/raw/master/early_demo.gif

JupyterLab Matplotlib

Matplotlib/ipympl 项目地址:https://github.com/matplotlib/ipympl

如果你是数据科学家,则 Matplotlib 是必须学习(must-learn)的 Python 库。该库是 Python 中一个基础但强大的数据可视化工具。但当我们使用 Jupyter Lab 时,交互特征消失了。

jupyter-matplotlib 扩展可以使 Matplotlib 再次具备交互性。只需要输入一个魔术命令 %matplotlib widget 来启动它,则你的精美 3D 图表就变成交互式的。如下动图所示:

图源:https://github.com/matplotlib/ipympl/raw/master/matplotlib.gif

JupyterLab Plotly

Plotly 使用指南:https://plotly.com/python/getting-started/#jupyterlab-support-python-35

虽然 Matplotlib 是最基础和强大的数据可视化库,但在这方面我最喜欢的是 Plotly 库。该库封装了很多常见图表,我们可以通过数行代码生成令人惊叹的图表。

为使 Jupyter Lab 无缝支持和显示交互的 Plotly 图表,用户需要安装 jupyterlab-plotly。

原文链接:https://towardsdatascience.com/10-jupyter-lab-extensions-to-boost-your-productivity-4b3800b7ca2a

end

下载1:OpenCV-Contrib扩展模块中文版教程

在「小白学视觉」公众号后台回复:扩展模块中文教程即可下载全网第一份OpenCV扩展模块教程中文版,涵盖扩展模块安装、SFM算法、立体视觉、目标跟踪、生物视觉、超分辨率处理等二十多章内容。

下载2:Python视觉实战项目52讲

在「小白学视觉」公众号后台回复:Python视觉实战项目即可下载包括图像分割、口罩检测、车道线检测、车辆计数、添加眼线、车牌识别、字符识别、情绪检测、文本内容提取、面部识别等31个视觉实战项目,助力快速学校计算机视觉。

下载3:OpenCV实战项目20讲

在「小白学视觉」公众号后台回复:OpenCV实战项目20讲即可下载含有20个基于OpenCV实现20个实战项目,实现OpenCV学习进阶。

交流群

欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器、自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~

大幅提高生产力:你需要了解的十大Jupyter Lab插件相关推荐

  1. emlog充值插件_常用十大必备Emlog插件

    常用十大必备Emlog插件 一个建站程序功能完善离不开插件的支持,也就是功能的插件化.特别是开源的程序,其个性化扩展更大,wordpress的强大很大一个原因就是为其开发的插件种类多.网站的基本功能都 ...

  2. 2016十大优秀jQuery插件推荐

    当有限的开发知识限制了设计进展,你无法为自己插上创新的翅膀时,jQuery可以扩展你的视野.本文将推荐从jQuery网站的Plugin频道中推选出的近期十款优秀jQuery插件. 1. jQuery ...

  3. 提高ASP.NET首页性能的十大方法

    本文是我对ASP.NET页面载入速度提高的一些做法,这些做法分为以下部分: http://www.cnblogs.com/xiachufeng/archive/2011/11/09/2242130.h ...

  4. 提高企业内网安全的十大策略

    几乎所有企业对于网络安全的重视程度一下子提高了,纷纷采购防火墙等设备希望堵住来自Internet的不安全因素.然而,Intranet内部的攻击和入侵却依然猖狂.事实证明,公司内部的不安全因素远比外部的 ...

  5. 提高企业内网安全的十大防御策略(转)

    几乎所有企业对于网络安全的重视程度一下子提高了,纷纷采购防火墙等设备希望堵住来自Internet的不安全因素.然而,Intranet内部的攻击和入侵却依然猖狂.事实证明,公司内部的不安全因素远比外部的 ...

  6. Jupyter Lab 十大高生产力插件

    如果你是一个用 Python 的数据科学家,那么用 Jupyter Notebook 就是大概率事件了.作为 Jupyter Notebook 的「下一代」web 应用,Jupyter Lab 提供了 ...

  7. 雷观(十五):提高生产力和程序员价值的2种方法

    2019独角兽企业重金招聘Python工程师标准>>> Web项目,尤其是Web管理系统,被很多程序员认为没有技术含量.这种项目,主要功能就是增删改查,尤其是查询方面,更是多种多样. ...

  8. 群辉服务器更新系统教程,男人的生产力工具 篇二百四十六:新手玩转群晖NAS:一步一步教你更新群晖DSM系统...

    男人的生产力工具 篇二百四十六:新手玩转群晖NAS:一步一步教你更新群晖DSM系统 2020-08-05 10:46:03 18点赞 175收藏 59评论 新手与新知男人的生产力工具 篇二百三十九:新 ...

  9. 局域网内大幅提高网速

    局域网内大幅提高网速 这是一款用go语言写的局域网提速软件,能够几倍几十倍的提升本机网速. 使用限制: 1 局域网内(校园网或者公司内网) 2 局域网内使用DHCP上网 3 win10电脑,而且使用的 ...

最新文章

  1. AutoShape:实时单目3D检测网络(ICCV2021)
  2. Eigen 矩阵运算库在实际项目中的使用
  3. 菜鸟之webservice(一) 服务端搭建
  4. 公司正式宣布创业失败!
  5. python opencv手册_教你用Python实现5毛钱特效(给你的视频来点料)
  6. Linux 下用来查询安装包信息的RPM选项
  7. Asp.net MVC 的一些总结(二)——图片显示
  8. 揭秘阿里百亿级云客服实时分析架构是怎么炼成的?
  9. php得到第一个数组_php怎么获取数组第一个元素
  10. vue 两个table 并排_从零到部署:用 Vue 和 Express 实现迷你全栈电商应用(六)
  11. 笑得肚痛!程序猿的 46 张 GIF 搞笑图
  12. 企业网站开发需要注意什么事项?
  13. 笔记本卡顿不流畅是什么原因_电脑卡顿不流畅是什么原因?
  14. linux26内核,基于AT91RM9200与LINUX2.6.26内核的嵌入式平台开发全过程
  15. 221900437方彬彬
  16. Java 基本数据类型(八种基本数据类型)
  17. 知+付费推广:我花3W烧出来的投放经验
  18. Smarty之section
  19. ue4c++格式化字符串
  20. linux下arp攻击的解决方案[原]

热门文章

  1. 银行卡大小的充电宝,买就送耳机!
  2. 学习数据科学、机器学习与AI没有多大交集,一文告诉你三者最大区别
  3. AI一分钟 | 妈呀!连地铁都开始无人驾驶了,飞机还远吗;北京无人驾驶新规出台,终于知道李彦宏该不该被罚了(12月19日)
  4. ICCV2017 | 一文详解GAN之父Ian Goodfellow 演讲《生成对抗网络的原理与应用》(附完整PPT)
  5. Java必会的工具库,让你的代码量减少90%
  6. 阿里面试: 说说强引用、软引用、弱引用、虚引用吧
  7. 最强 JDK15 安装与讲解,有点想升级,终于要废弃偏向锁了!
  8. 你知道为什么Java的main方法必须是public static void?
  9. Spring Cloud Alibba教程:如何使用Nacos作为配置中心
  10. 麦肯锡:优秀数据科学家的5个特征!