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

    关注

    57

    文章

    4858

    浏览量

    89590
  • 数据科学
    +关注

    关注

    0

    文章

    168

    浏览量

    10750

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

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    中兴通讯崔丽受邀出席2025腾冲科学家论坛

    近日,“2025腾冲科学家论坛”在云南启幕。本届论坛以“科学·AI改变世界”为主题,汇聚包括诺贝尔奖、图灵奖、菲尔兹奖得主在内的国际顶尖科学家,以及百余位两院院士、高校校长、科技精英与产业领袖,共话
    的头像 发表于 12-09 11:36 162次阅读

    科学家利用微波激光照射钻石,制造出时间准晶体

    科学家利用微波激光照射钻石,制造出时间准晶体。 美国华盛顿大学、麻省理工学院和哈佛大学科学家携手,成功在钻石上“雕刻”出一种全新的物质形态:时间准晶体。这项突破有望为量子计算、精确计时等领域带来
    的头像 发表于 11-19 07:35 52次阅读
    <b class='flag-5'>科学家</b>利用微波激光照射钻石,制造出时间准晶体

    国际类脑计算科学家Yulia Sandamirskaya教授加盟时识科技

    近日,国际类脑计算与神经形态机器人领域知名科学家Yulia Sandamirskaya 教授,作为科学家顾问正式加入时识科技(SynSense)。
    的头像 发表于 10-13 13:50 448次阅读

    【「AI芯片:科技探索与AGI愿景」阅读体验】+AI的科学应用

    AI被赋予了人的智能,科学家希望在没有人类的引导下,AI自主的提出科学假设,诺贝尔奖级别的假设哦。 AI驱动科学被认为是科学发现的第五个范
    发表于 09-17 11:45

    连载|业余无线电史话(八):从射电天文学诞生到马可尼逝世

    射电天文学的诞生随着无线电的发明,托马斯·爱迪生可能是第个意识到可以收听恒星发出信号的人。爱迪生的助手A·肯内利教授于1890年提出了朝这个方向进行实验的建议。在封写给利克天文
    的头像 发表于 07-06 07:32 1394次阅读
    连载|业余无线电史话(八):从射电<b class='flag-5'>天文学</b>诞生到马可尼逝世

    树莓派+望远镜:如何用 Wi-Fi 实现远程天文观测?

    我非常热爱天文学天文摄影。我确信,和我样,所有业余天文学家都希望拥有个价格实惠的个人天文
    的头像 发表于 06-20 16:57 1119次阅读
    树莓派+望远镜:如何用 Wi-Fi 实现远程<b class='flag-5'>天文</b>观测?

    地物光谱仪如何帮助科学家研究植被和土壤?

    在遥感、生态、农业等研究领域,科学家常常会提到工具: 地物光谱仪 。它看起来像台“测光的
    的头像 发表于 05-20 15:46 408次阅读
    地物光谱仪如何帮助<b class='flag-5'>科学家</b><b class='flag-5'>研究</b>植被和土壤?

    分享原子钟在科研领域的重要性

    在现代科技飞速发展的今天,时间测量已经成为科学研究中不可或缺的部分。无论是天文学、物理学,还是通信技术、导航系统,精确的时间测量都扮演着至关重要的角色。而在这其中,原子钟作为目前最精确的计时
    的头像 发表于 05-15 15:55 503次阅读
    分享原子钟在科研领域的重要性

    我国科学家制备出可控手性石墨烯卷

    日前,我国科学家开发了一种名为“石蜡辅助浸入法”的新技术,成功让二维材料“卷起来”,制备出具有可控手性的石墨烯卷,为未来量子计算和自旋电子器件的发展奠定了坚实基础。 由天津大学教授胡文平、雷圣宾、李
    的头像 发表于 02-26 11:17 753次阅读

    一种新型的非晶态NbP半金属薄膜

    来自斯坦福大学和韩国Ajou大学的科学家在《Science》杂志上发表了项开创性的研究成果。他们发现了一种新型的非晶态NbP半金属薄膜,
    的头像 发表于 02-07 10:08 1143次阅读
    <b class='flag-5'>一种</b>新型的非晶态NbP半金属薄膜

    NVIDIA RAPIDS cuDF如何赋能AI加速数据科学

    随着 AI 正帮助各行各业推动创新和提高效率,基于海量的高质量数据来训练各种模型是充分发挥 AI 应用潜力的必经之路,正因如此,数据科学家面临着日益增长的工作负载需求,迫切需求寻找高
    的头像 发表于 01-24 09:26 1052次阅读

    衍射光栅的历史及重要作用

    本文简单介绍了衍射光栅的历史及其重要作用。 很难指出还有哪一种装置比衍射光栅为每个科学领域带来了更重要的实验信息。物理学家天文学家、化学家
    的头像 发表于 01-22 11:06 1351次阅读
    衍射光栅的历史及重要作用

    深开鸿亮相“小小科学家”品牌发布暨科学探索研学营开营活动

    为在青少年中营造学科学、爱科学、用科学的浓厚氛围,1月14日,由市委组织部、市委教育工委、团市委共同主办的“小小科学家”品牌发布暨科学探索研
    的头像 发表于 01-15 21:17 834次阅读
    深开鸿亮相“小小<b class='flag-5'>科学家</b>”品牌发布暨<b class='flag-5'>科学</b>探索研学营开营活动

    华为云 Flexus X 实例部署安装 Jupyter Notebook,学习 AI,机器学习算法

    前言 由于本人最近在学习些机器算法,AI 算法的知识,需要搭建个学习环境,所以就在最近购买的华为云 Flexus X 实例上安装了学习环境,Jupyter Notebook。没想到
    的头像 发表于 01-02 13:43 867次阅读
    华为云 Flexus X 实例部署安装 <b class='flag-5'>Jupyter</b> <b class='flag-5'>Notebook</b>,学习 AI,机器学习算法

    西湖大学:科学家+AI,科研新范式的样本

    ,创新科研新范式。这点在西湖大学的科研项目中已得到体现。 成立于2018年的西湖大学是由施公院士领衔创办的、聚焦前沿科学研究研究型大学,该校鼓励
    的头像 发表于 12-12 15:59 851次阅读
    西湖大学:<b class='flag-5'>科学家</b>+AI,科研新范式的样本