点击上方“视学算法”,选择加"星标"或“置顶

重磅干货,第一时间送达

项目作者 | Marc Wouts

转自 | 机器之心

Jupyter Notebook 真的是让人又爱又失望,在有的场景下它极其便利,但是在很多大模型或复杂项目上,它又无能为力。在 Jupytext 这个项目中,作者希望既能利用 Notebook 的可视化优势,同时也能利用纯文本编写优势。可以说,是时候联合 Jupyter Notebook 与 PyCharm 了。

Jupytext 项目地址:https://github.com/mwouts/jupytext

Jupyter Notebook 哪不行?

Jupyter Notebook 是一款免费、开源的交互式 web 工具。研究人员可以利用该工具将软件代码、计算输出、解释文本和多媒体资源组合在一个文档中。笔记本形式的计算已经发展了几十年,但是过去几年里,Jupyter 特别受欢迎,更是成为数据科学家和机器学习研究者们的首选工具。

在 GitHub 的一项分析中(Nature,30 OCTOBER 2018)显示,截至 2018 年 9 月,公开的 Jupyter Notebook 已经超过了 250 万份,而 2015 年这一数字仅为 20 万左右。Jupyter Notebook 之所以这么流行,主要还是它的演示和可视化,我们可以查看每一段代码的输出与运行效果。

这种可视化对于数据科学和机器学习研究而言非常重要,因为我们需要当前的模型特性做决策。此外,正因为这种直观的可视化输出,我们经常使用它作为模型教程,Colab 这种提供免费 GPU 算力的平台也都采用的是 Jupyter Notebook。

因此总的而言,Jupyter 的主要特点是:

  • 行内代码执行

  • 简单的构思结构

  • 对图片和数据帧的良好展示

但是,Jupyter Notebook 也有不好的地方,我们很难用它做版本控制,也很难用于工程实践。其中比较重要的是版本控制,Jupyter Notebook 采用的是 JSON 结构,可读性比较差。而版本控制能让我们发觉潜在的优秀代码,我们可以关注代码的变化而挖掘到底哪些是重要的。

直到现在,版本控制和 Jupyter Notebook 都是两个世界的人,它们之间基本没有啥关系。虽然也有一些工作尝试结合两者,但成果非常有限,对开发者的使用而言也不友好。

Jupytext 来啦

现在,Jupytext 来啦,我们可以把 Jupyter Notebook 代码转化成纯文本,用我们最喜欢的 IDE 打开。重要的是,Jupytext 能清楚地查看代码的修改记录,从而更好地进行版本控制,这是以前 Jupyter Notebook 所做不到的。这样的 Jupytext 是不是就是你苦苦追寻的工具?

在上面的视频中,项目作者展示了如何快速使用 Jupytext,我们可以使用最喜欢的纯文本编辑器或 IDE 来编辑 Jupyter Notebook。这样子,Jupyter Notebook 也能有快飞一般的编写速度了,因为不论是代码导航、编辑或执行代码单元、debug 代码等等,IDE 都要便捷一些。

当然,如果要使用其它 IDE,Jupyter Notebook 的格式还是要转换的。目前 Jupytext 能将 Jupyter Notebook 转换为一下一些格式:

  • Markdown 和 R Markdown 文档

  • Julia、Python、R、Bash、Scheme、Clojure、Matlab、Octave、C++ 和 q/kdb+ 脚本

如果我们将 Jupyter Notebook 保存为 Python 脚本,那么就可以将 Python 文件导入 Git 仓库,并追踪代码的修改和变化。有意思的是,Python 代码的修改是在 Jupyter Notebook 中完成的,这在以前是无法直接追踪的。

更有意思的是,如果我们需要使用 IDE 重构代码或其它操作,那么可以直接在 PyCharm 中编辑并保存 Python 文件。在刷新 Notebook 后,我们可以继续在 Jupyter 上便捷更新后的代码。相当于,Jupyter 和 PyCharm 联合便捷了~

Jupytext 使用姿势

Jupytext 的安装非常简单,用 pip 或 conda 直接安装就行了。此外,我们有多种方式使用 Jupytext,以下简要展示了几种方式以及使用界面。

直接在 Jupyter Notebook 或 JupyterLab 中使用:Jupytext 提供内容管理器,允许 Jupyter 将 notebook 保存为你喜欢的格式,来补充或替代传统的.ipynb 文件。你可以在自己喜欢的编辑器中边界文本表示。编辑完成后,在 Jupyter 中刷新 notebook 即可:输入单元加载自文本文件,输出单元重新加载自.ipynb 文件。「刷新」这个动作会保存内核变量,这样你就可以无需重新运行 notebook,在 notebook 中继续工作、运行修改后的单元。

在命令行中使用:Jupytext 将 Jupyter notebook 转换为文本表示。命令行工具可以多种方式在 notebook 上运行。它可以同步处理 notebook 的多个表示,将 notebook 输送至 black 等重新格式化工具中。如果你想在提交.ipynb 文件时自动更新文本表示,它还可以作为 pre-commit hook 使用。

在 Vim 中使用:编辑你的 Jupyter notebook,使用 jupytext.vim 将其表示为 Markdown 文档或 Python 脚本。

Jupyter Notebook 中的 Jupytext 菜单是这样的:

图片

在 JupyterLab 中以 Notebook 形式打开 MarkDown 脚本是这个样子的:

点个在看 paper不断!

太棒了!Jupyter 与 PyCharm 完美融合,Jupytext 来啦!相关推荐

  1. 太棒啦!PyCharm与Jupyter完美融合,Jupytext来啦!

    来源:机器之心项目作者 | Marc Wouts本文约1500字,建议阅读5分钟 是时候联盟PyCharm与Jupyter了. Jupyter Notebook 真的是让人又爱又失望,在有的场景下它极 ...

  2. 优秀!Jupyter 与 PyCharm 可以完美融合!

    点上方计算机视觉联盟获取更多干货 仅作学术分享,不代表本公众号立场,侵权联系删除 转载于:机器之心 AI博士笔记系列推荐 周志华<机器学习>手推笔记正式开源!可打印版本附pdf下载链接 J ...

  3. PyCharm与Jupyter完美融合,Jupytext来啦!

    Jupyter Notebook 真的是让人又爱又失望,在有的场景下它极其便利,但是在很多大模型或复杂项目上,它又无能为力.在 Jupytext 这个项目中,作者希望既能利用 Notebook 的可视 ...

  4. 刷脸支付连锁化经营的商业形态完美融合

    关于刷脸支付的争夺,眼下已经成为支付巨头争战的主要战场.从最初的现金交易,到pos机刷卡支付,再到现在的二维码扫码付款.人们的支付场景正在变得越来越便捷.而当传统的pos机渐行渐远,二维码收单的热潮逐 ...

  5. 4部C4D动画短片视觉、叙事完美融合

    本期文章为你带来4部动画短片,都用到C4D制作 4部短片风格迥异 - 或可爱.或艺术.或东方...但不论画面,还是叙事都十分打动人心 4部动画短片的创作者分享了自己的制作过程.故事灵感以及更多关于创作 ...

  6. Jupyter与PyCharm不可兼得?Jupytext就是你需要的!

    点击"小詹学Python",选择"置顶"公众号 重磅干货,第一时间送达 本文转载自机器之心,禁二次转载 Jupyter Notebook 真的是让人又爱又失望, ...

  7. 搜狗浏览器也可以直接安装Chrome插件,太棒了

    这是最近才发现的一个小秘密,简直太棒了,从此以后可以直接从Chrome应用店安装插件,再也不用到搜狗应用里面找插件了. 地球人都在用的ABP终于可以用了. 方法很简单,在搜狗浏览器里面打开Chrome ...

  8. jupyter和spider;Anaconda、Python、Jupyter、Pycharm、Spyder、conda、pip

    转自https://www.jianshu.com/p/97fa4ed3edbc.自学使用,侵删. Anaconda安装后,可以从菜单中看到它包含几个应用程序,其中Anaconda Navigator ...

  9. 维乐坐垫与艺术创想完美融合,让艺术点亮产品灵光

    成为一名艺术家或设计师是维乐副总经理陈安荣曾经年少时的梦想.如今加入维乐的她也没有放弃这份梦想,而是将艺术美学的概念融入维乐的产品研发精神中去,成为了维乐品牌美学的领航者. 2020年,陈安荣邀请到& ...

最新文章

  1. 谷歌吃苹果:新系统让Macbook秒变Chromebook
  2. anaconda3 win7_重装系统win7
  3. SAP UI5里关于时区问题转换的JavaScript代码
  4. B. Bogosort codeforces(思维)
  5. 设计模式读书笔记-----备忘录模式
  6. Chrome浏览器可以修改特定页面背景色吗?Chrome浏览器修改特定页面背景色的方法
  7. [目录]搭建一个简单的WebGIS应用程序
  8. 微型计算机的分类有,微型计算机的种类很多,主要分为台式机,笔记本,还有什么...
  9. Magento:Paypal付款不成功返回后不要清空购物车产品的解决方案
  10. linux计划任务与日志管理(日志分割/切割)
  11. 前端大牛们都学过哪些东西
  12. 灵活就业协议影响应届身份吗,档案应该如何处理
  13. android 下载网络图片并缓存
  14. 堪比阿里插件的Android Studio插件集合(IDE通用)(下)
  15. 如何在Google Play 当中使用ASO?google play aso
  16. 图形镜像对称(示意图)
  17. 手把手带你撸一个校园APP(七):校园文化模块(社团活动表白墙图说校园)
  18. 在COMSOL中如何绘制贴片天线的S参数
  19. 复变函数-复指数形式
  20. canvas动画科技园_Canvas 写的酷炫动画代码分析

热门文章

  1. U盘中毒了?教你如何删除System Volume Information这个顽固文件夹
  2. 从事了两年 AI 研究,我学到了什么?
  3. 三种方法,用Python轻松提取PDF中的全部图片
  4. 如何度过二十多岁这段又穷又迷茫的岁月?
  5. 必看,10篇定义计算机视觉未来的论文
  6. 江湖又现中科大少年班的传说
  7. 优化思路千万种,基于下界函数的最优化效率如何?
  8. 恶犬秒变萌汪:东京大学开源“治愈系”GAN图片拼贴工具 | 技术头条
  9. 杨超越第一,Python第二
  10. AI一分钟 | ​被大家吐槽的网红机器人索菲亚开微博了;阿里人工智能团队iDST获得道路场景分割三项第一