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
    +关注

    关注

    55

    文章

    4778

    浏览量

    84438
  • 数据科学
    +关注

    关注

    0

    文章

    165

    浏览量

    10045

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

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

收藏 人收藏

    评论

    相关推荐

    AI for Science:人工智能驱动科学创新》第4章-AI与生命科学读后感

    了传统学科界限,使得科学家能够从更加全面和深入的角度理解生命的奥秘。同时,AI技术的引入也催生了一种全新的科学研究范式,即数据驱动的
    发表于 10-14 09:21

    《AI for Science:人工智能驱动科学创新》第章人工智能驱动的科学创新学习心得

    学科之间的交叉融合,形成了一种全新的科学研究范式。AI技术打破了学科壁垒,使得物理学、化学、生物学、天文学等领域的研究者能够共享数据和算法,
    发表于 10-14 09:12

    受人眼启发!科学家开发出新型改良相机

    新型事件相机系统与标准事件相机系统对比图。 马里兰大学计算机科学家领导的研究小组发明了一种照相机装置,可以改善机器人观察周围世界并做出反应的方式。受人眼工作原理的启发,他们的创新型
    的头像 发表于 07-22 06:24 268次阅读
    受人眼启发!<b class='flag-5'>科学家</b>开发出新型改良相机

    新华社:突破性成果!祝贺我国科学家成功研发这传感器!

    6月25日,新华社以《突破性成果!祝贺我国科学家》为标题,报道了由我国科学家研发的传感器成果。 我国科学家研发高通道神经探针实现猕猴全脑尺度神经活动监测 神经探针是一种用来记录神经活动
    的头像 发表于 06-27 18:03 428次阅读
    新华社:突破性成果!祝贺我国<b class='flag-5'>科学家</b>成功研发这<b class='flag-5'>一</b>传感器!

    前OpenAI首席科学家创办新的AI公司

    消息在业界引起了广泛关注,因为苏茨克维曾是OpenAI的联合创始人及首席科学家,并在去年在OpenAI董事会上扮演了重要角色。
    的头像 发表于 06-21 10:42 493次阅读

    科学家研制出款新型柔性X射线探测器

    英国科学家开发出一种有机半导体材料,并利用其研制出款新型柔性X射线探测器。这种探测器不仅“身段”更柔软,可贴合需要扫描物体的形状,从而提高患者筛查的准确性,降低肿瘤成像和放射性治疗的风险,而且成本
    的头像 发表于 06-13 06:29 250次阅读

    Koolance 散热器在科学相机中的应用 (

    、什么是科学相机?  它和普通的相机有什么不同? 科学相机,顾名思义,就是运用于科学领域的专用相机。目前,主要应用在:生命科学
    的头像 发表于 05-22 15:14 288次阅读
    Koolance 散热器在<b class='flag-5'>科学</b>相机中的应用 (<b class='flag-5'>一</b>)

    本源量子参与的国家重点研发计划青年科学家项目启动会顺利召开

    2024年4月23日,国家重点研发计划“先进计算与新兴软件”重点专项“面向复杂物理系统求解的量子科学计算算法、软件、应用与验证”青年科学家项目启动会暨实施方案论证会在合肥顺利召开。该项目由合肥综合性国家科学中心人工智能
    的头像 发表于 05-11 08:22 556次阅读
    本源量子参与的国家重点研发计划青年<b class='flag-5'>科学家</b>项目启动会顺利召开

    量子梦

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

    一种有效降低损耗的压电式DC-DC转换器开发案例

    据麦姆斯咨询报道,美国加州大学圣迭戈分校(University of California San Diego)和法国原子能委员会电子信息技术研究所(CEA-Leti)的科学家开发出了一种
    的头像 发表于 03-07 09:48 754次阅读

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

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

    康奈尔大学科学家研制出5分钟快速充电锂电池

    锂离子电池如今广泛应用于电动汽车及智能手机领域。其优点包括轻巧、抗震、环保,但充电时间较长及承受大功率电涌的能力不足。随着最新研究成果发布,科学家找到了一种独特的铟阳极材料,与锂离子电池内的阴极材料实现良好配合。
    的头像 发表于 01-26 09:57 635次阅读
    康奈尔大学<b class='flag-5'>科学家</b>研制出5分钟快速充电锂电池

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

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

    飞腾首席科学家窦强荣获 “国家卓越工程师” 称号

         飞腾首席科学家窦强荣获 “国家卓越工程师” 称号 1月19日上午,首届 “国家工程师奖” 表彰大会在北京人民大会堂隆重举行。81 名个人被授予 “国家卓越工程师” 称号,50 个团队被授予
    的头像 发表于 01-19 19:22 1619次阅读
    飞腾首席<b class='flag-5'>科学家</b>窦强荣获 “国家卓越工程师” 称号

    一种产生激光脉冲新方法

    等离子体中脉冲压缩的概念 英国和韩国的科学家提出了一种产生激光脉冲的新方法,其功率是现有激光脉冲的1000多倍。 科学家使用计算机模拟联合研究
    的头像 发表于 12-07 06:32 465次阅读
    <b class='flag-5'>一种</b>产生激光脉冲新方法