0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

数据科学家们常用的一种工具——Jupyter notebook,纳入天文学研究

zhKF_jqr_AI 来源:未知 作者:李倩 2018-11-05 15:30 次阅读

在智利北部安第斯山脉高达2700米的塞隆·帕切翁山巅,美国的“大型综合巡天望远镜”(LSST)正在紧锣密鼓地施工着。到2022年,也就是LSST正式投入使用的时候,它将把30亿像素的相机对准太空,每晚完成30千兆的拍摄任务,这会是人类研究宇宙暗物质的一大基础.

而为了处理望远镜每天自动生成的TB级数据,天文学家们开始转向数据科学,把数据科学家们熟悉且常用的一种工具——Jupyter notebook,纳入天文学研究。

Jupyter是一个免费的、开源的、交互式的网络工具,它是一个计算笔记本,允许研究人员把软件代码、计算输出、注释性文本和多媒体资源集中在一个文档中。就历史来看,计算笔记本已经在世上存在了几十年,但是直到几年前,以Jupyter为代表的notebook才开始被技术人员广泛使用,并大受欢迎。

当然,Jupyter的流行离不开用户和开发者社区的共同努力。经过架构的重新设计和其他优化,现在它已经支持几十种编程语言——这也反映在名称变化上(Jupyter notebook原名IPython Notebook)。根据公司联合创始人Fernando Pérez的说法,现在的名字Jupyter是数据科学常用的3种语言的组合:Julia(Ju)、Python(Py)和R。

上个月,代码托管平台GitHub发布了一份分析,指出当前公开的Jupyter notebook数量大约在250万份,而在2015年,这个数字只有不到20万份。Pérez认为这里面有应用程序、网络软件经过不断升级迭代,性能超越竞品的原因,但更多应该归功于Python在科研领域的大面积应用和数据科学的成熟——尤其是当人们进行科学研究和数据分析时,发现远程数据过于庞大,超出了笔记本电脑的访问上限,如LSST。

在很多情况下,把计算机接入数据比把数据输入计算机要容易得多。Jupyter是基于云的,只要你告诉我你的数据在哪里,我就马上能在那儿给你台计算机。——Fernando Pérez

对于数据科学家来说,Jupyter已经成为事实上的标配。而在见识了这种工具之后,华盛顿大学的天文学家、负责协调LSST数据管理团队的马里奥·尤里奇也表示:“我从未见过这么快的迁移,真的是太棒了!”

数据探索

类比来看,计算笔记本实际上就是用于科学计算的实验室笔记本,只不过上面写的既不是用凝胶电泳分离DNA,也不是实验室指南,而是嵌入代码、数据和文本来记录“实验者”的计算方法。公司联合创始人Brian Granger把它称为“计算叙事”——一个允许研究人员用分析、假设和猜想来补充代码和数据的文件。

这种工具能帮数据科学家极大地推进数据探索。notebook是交互式的,用户可以在这种环境中运行代码、查看发生的情况,然后重复这种发生在数据和研究人员之间的循环和迭代。这是人和数据对话的一种途径,它允许用户记录这些对话,建立起与主题、理论,数据和结果之间更强大的联系。当然,Jupyter不是承载对话的唯一平台——它的前身IPython Notebook是一种交互式Python解释器,也可以充当对话平台。

此外,研究人员还可以用notebook为他们的软件创建教程或交互式手册,这也是哈佛大学系统神经科学家Mackenzie Mathis所做的尝试。她和她的团队曾为神经科学研究开发了一个代码库,这允许他们把notebook作为手稿和教具用于教学。而根据Barba——一名从2013年起就在每门课程中都用notebook教学的教授——的体验,她认为IPython Notebook是用于教授科学和工程计算的杀手级应用程序,使她的学生能从中高效汲取课程知识。

爱我所爱

提到编程,编程语言最能挑动技术人员神经。Jupyter notebook有两个组件。用户在前端网页中的矩形单元格输入编程代码或文本,然后,浏览器会将该代码传递给后端“内核”,由后端运行代码并返回结果。根据Pérez的统计,现在Jupyter内核的数量已经达到100多个,支持上百种编程语言。这是个极大的优势,因为通常情况下,每个notebook只能运行一个内核和一种语言,即便存在变通的方法,也只局限在Python、Julia、R和Fortran这4种之间。

重要的是,Jupyter的内核不需要驻留在用户的计算机上。未来,当LSST的天文学家用Jupyter notebook分析数据时,他们的代码会在伊利诺伊州运行,由超级计算机提供普通台式机无法比拟的庞大算力。notebook也可以在云中运行,例如谷歌的Colaboratory项目就为Jupyter提供了一个以谷歌为主题的前端,它允许用户进行协作、利用Google Cloud的代码,并将文档保存在Google Drive上。

今年1月,Jupyter推出下一代产品JupyterLab,可作为独立软件包或作为免费的Anaconda科学计算环境的一部分。

Jason Grout是彭博社的软件工程师,也是JupyterLab团队的成员之一。在他眼里,JupyterLab是Jupyter notebook的“下一代Web界面” ——它扩展了原先notebook的概念,把文本编辑器、浏览器、数据文件查看器、文本编辑器、命令控制台及其他自定义的内容以标签的形式排列在工作区中。一般Jupyter notebook会为每个notebook分配了各自的内核,而JupyterLab则是创建了一个允许共享这些组件的计算环境。这意味着用户可以在一个窗口中查看notebook,在另一个窗口中编辑所需的数据文件,并在第三个窗口中记录所有运行的命令 ——所有这些都在一个Web浏览器界面中进行。

用户还可以自定义JupyterLab以适应他们的工作流。它建立在可扩展系统之上,能提供新的主题、文件编辑器和查看器,甚至可以显示基因组比对或地理空间数据等内容。为了方便用户自定义扩展,Pérez还自制了一个教学视频,演示了如何创建了一个能显示3D大脑成像数据的组件。

这是一个完全[神经科学]领域的特定工具,显然,Jupyter团队不需要编写这些东西,但我们提供了正确的标准,然后社区可以在24小时内学会怎么做并自己写一个。

此外,依靠另两个工具,Jupyter的可用性也得到了大大加强。其中一个是JupyterHub,这项服务允许机构向大量用户提供Jupyter notebook。比如加州大学伯克利分校就用这种方法确保所有学生在所有课程下都拥有相同的计算环境。“我们不可能为800名学生一一提供IT支持,帮助他们在安装失败时debug,这是不可行的。”

另一个是Binder,一种允许用户在浏览器中使用GitHub上的Jupyter notebook、无需安装软件或任何编程库的开源服务。

值得关注的问题

尽管Jupyter notebook通过简化代码促进代码复现,但作为使用者,掌握 notebook的正确用法还是很重要的。

今年早些时候,艾伦人工智能研究所的研究工程师Joel Grus在Jupyter开发者大会上发表了题为“I don’t like notebooks”的演讲。他指出,当 notebook没有按预期运行时,程序员们往往会感到手足无措,但出现这个问题的原因很可能是他们没有按顺序去运行代码块。Jupyter notebook的简便从某种程度上来说是助纣为虐,它难以逻辑地组织代码,将其分解为可重用的模块并进行开发测试,以确保代码正常工作。所以被惯坏的用户写出来的代码也越来越混乱不清。

Grus承认,虽然这些都不是难以解决的问题,但 notebook在执行代码时确实应该注意遵守规则,比如 把分析代码移动到可以从 notebook中调用的外部文件、在notebook顶部定义关键变量以及 定期重新启动内核并从头开始运行notebook。就像一名网友在Twitter上的打趣:“要么重新跑一遍,要么假装什么都没发生。”

这也是Barba每次用notebook给学生上课时会提醒的一点:“从第一天起,我就对学生们说,你们可以用非线性的方式使用notebook,这能方便你们进行探索,但强大功能背后是要打下更扎实的基础。”

为了解决这个问题,一个可能有用的工具是Verdant,这是个能捕捉用户历史行为的插件。“作者构建了一个扩展,它允许用户在里面部署灵活的工作流,同时捕获用户运行的特定代码、运行顺序和具体数据。”

谷歌软件工程师兼Colaboratory团队成员Jake VanderPlas表示,Jupyter notebook就像锤子,它们很可能被误用,也不适合所有领域,但对于数据探索和通信来说,notebook确实是个好工具。天文学界似乎非常认同这个观点:“6年前,我们的计算机里完全不存在什么Jupyter notebook,但现在,每个人都爱它。”

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • python
    +关注

    关注

    51

    文章

    4674

    浏览量

    83460
  • 数据科学
    +关注

    关注

    0

    文章

    163

    浏览量

    9981

原文标题:Nature专栏:为什么数据科学家会选择Jupyter

文章出处:【微信号:jqr_AI,微信公众号:论智】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    量子梦

    当我们谈论量子计算机时,通常是在讨论一种利用量子力学原理进行计算的全新计算机系统。与传统的计算机使用二进制位(0和1)来表示数据不同,量子计算机使用量子比特(qubit)来存储和处理信息。量子比特
    发表于 03-13 18:18

    中国南极昆仑站首度进行近红外天文学观测及全时段近地空间环境监测

    昆仑站地处南极冰盖最高点——冰穹A区,其大气净化程度极高,具备绝佳的天文观测条件。在极夜期间,远程操控的近红外望远镜将与昆仑站的AST3-2南极巡天望远镜共同完成时域天文学观测,弥补昆仑站近红外观测领域的空白。
    的头像 发表于 02-27 11:37 146次阅读

    谷歌DeepMind科学家欲建AI初创公司

    据知情人士透露,谷歌人工智能部门DeepMind的两名杰出科学家Laurent Sifre和Karl Tuyls正在与投资者商讨在巴黎成立一家新的人工智能初创公司的事宜。
    的头像 发表于 01-22 14:41 197次阅读

    光频梳的应用与未来前景

    光频梳是一种特殊的超短脉冲激光器,类似于光的尺子,可将无线电和微波频率与光波频率连接起来。目前已经在光钟计时、天文学和宇宙学、精确测量、气体分析、医学诊断等方面有众多应用。在未来的时间里,科学家和他们的合作者也将继续探索各类光频
    的头像 发表于 11-13 13:29 425次阅读
    光频梳的应用与未来前景

    蔚来全新ES8提供高规格的全天候用车服务

    2023年11月6日,由之江实验室和中国天文学会射电天文学专业委员会发起、Openverse联合主办的计算天文(杭州)国际会议在杭州拉开序幕。会议期间,蔚来携手Openverse为来自全球的与会
    的头像 发表于 11-08 09:24 853次阅读

    什么是 Jupyter Notebook

    Jupyter Notebook 是一个 Web 应用程序,便于创建和共享文学化程序文档,支持实时代码、数学方程、可视化和 Markdown,其用途包括数据清理和转换、数值模拟、统计建
    的头像 发表于 10-16 11:15 1892次阅读
    什么是 <b class='flag-5'>Jupyter</b> <b class='flag-5'>Notebook</b>

    用于地面时域天文学的COSMOS

    介绍 时域天文学研究天文物体和独特事件如何随时间变化的学科。它通过研究超新星和伽马射线暴等事件,以及可变脉冲星和恒星等物体,提供了一种理解
    的头像 发表于 09-22 06:31 408次阅读
    用于地面时域<b class='flag-5'>天文学</b>的COSMOS

    先进的CMOS探测器:开创天文观测的未来

    介绍 基于地面的天文学提供了一种在太空中成像物体的方法。由于太空中的大多数物体都可以在可见光波长范围(380-700 nm)内观测到,光学天文学一直处于天文观测的前沿。太空中的许多物体
    的头像 发表于 09-22 06:30 479次阅读
    先进的CMOS探测器:开创<b class='flag-5'>天文</b>观测的未来

    华为辟谣3.2万名科学家移籍

    华为辟谣3.2万名科学家移籍 对于近期网络传言的华为3.2万名科学家移籍华为方面表示,造谣者毫无根据、无中生有。 华为辟谣3.2万名科学家移籍以及其他的一些网络传言,比如“华为孟晚舟宣布23万亿
    的头像 发表于 08-22 16:51 1001次阅读
    华为辟谣3.2万名<b class='flag-5'>科学家</b>移籍

    Jupyter Notebook 7重磅发布,新增多个特性!

    Jupyter Notebook 7新增了来自JupyterLab的交互式调试器 (interactive debugger),它使您能够逐个代码单元格地执行代码,也可以设置断点并检查变量。
    的头像 发表于 08-01 15:01 833次阅读
    <b class='flag-5'>Jupyter</b> <b class='flag-5'>Notebook</b> 7重磅发布,新增多个特性!

    科学家呼吁开展气候合作

    三位研究人员介绍了建立地球数字孪生的计划,该计划旨在帮助人们了解全球变暖的影响并做出应对。 三位顶尖科学家正在帮助带领计算史上最雄心勃勃的项目之一:打造地球的 数字孪生 。 Peter Bauer
    的头像 发表于 07-06 20:10 289次阅读
    <b class='flag-5'>科学家</b>呼吁开展气候合作

    滨松科研级相机天文领域应用案例:太阳成像

      太阳发出强光的球形部分人们会将其称为光球,通常情况下,人们可以看到的只是这个光球的表面。在光球的表面,时常会出现一些黑色的斑点。天文学家们借助工业相机、望远镜和天文台等设备来观测其变化
    的头像 发表于 06-20 06:55 199次阅读
    滨松科研级相机<b class='flag-5'>天文</b>领域应用案例:太阳成像

    踏歌智行创始人、首席科学家余贵珍教授登榜“2023科创家”

    “一群跨越了科学与商业边界的人”这是科创媒体36氪对科创企业家的定义。近日, 踏歌智行创始人、首席科学家余贵珍教授从全赛道中脱颖而出, 登榜首届“2023科创家”榜单。此次共有15位教授荣登榜单
    的头像 发表于 06-16 19:15 2360次阅读
    踏歌智行创始人、首席<b class='flag-5'>科学家</b>余贵珍教授登榜“2023科创家”

    基于衍射光学网络的快照式多光谱成像

    多光谱成像技术已成为推动众多领域取得重大进步的关键工具,涵盖环境监测、天文学、农业科学、生物成像、医学诊断和食品质量控制等。
    的头像 发表于 05-05 14:30 983次阅读
    基于衍射光学网络的快照式多光谱成像

    科学家用银线团搭建「纳米线网络」,触电就像大脑一样运作

    这也是如今不少AI科学家们梦寐以求的特性。最近,来自悉尼大学和日本国家材料科学研究所的科学家们在自然通讯上发表论文,试着通过使用纳米线网络(NWN)来模拟人类大脑在受到电激时的反应,实验效果还不错。
    的头像 发表于 05-04 09:30 427次阅读
    <b class='flag-5'>科学家</b>用银线团搭建「纳米线网络」,触电就像大脑一样运作