V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
yajuusenpai
V2EX  ›  Jupyter

Jupyter Notebook 到底是用来干啥的?

  •  
  •   yajuusenpai · 2023-10-20 21:23:49 +08:00 · 3944 次点击
    这是一个创建于 404 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我搜了半天也没搞明白,也没找着具体应用 这东西是为了解决什么问题而开发出来的? 我现在需要把 java 运行的结果用 python 画图,用这个合适吗?

    42 条回复    2023-10-23 08:21:30 +08:00
    neteroster
        1
    neteroster  
       2023-10-20 21:28:19 +08:00 via Android
    交互式的 Python 笔记本。机器学习和数据分析用得多。
    主要特点是执行单元为 Cell ,并且执行环境是持久的(打开以后能存住变量),这样有时候做小调整不用整个程序重新跑一遍,而且立马能看到结果,较为灵活。
    neteroster
        2
    neteroster  
       2023-10-20 21:34:43 +08:00 via Android
    @neteroster 纠错:也支持一些其他语言
    julyclyde
        3
    julyclyde  
       2023-10-20 21:42:33 +08:00
    我也一直不懂
    对 ipython 的理解只停留在交互和绘图

    但是后来这玩意发展成什么 kernel 和 notebook 两个之后就不知道是啥东西了
    em70
        4
    em70  
       2023-10-20 21:53:24 +08:00
    在线 IDE 吧
    mobpsycho100
        5
    mobpsycho100  
       2023-10-20 21:55:34 +08:00 via iPad
    Jupyter notebook 以 cell 的形式整合了 python 和 markdown 的前端,算是 literature
    programming 的一个实践。
    victorc
        6
    victorc  
       2023-10-20 21:56:37 +08:00
    python 代码仓库,交互式
    tianshilei1992
        7
    tianshilei1992  
       2023-10-20 22:02:12 +08:00 via iPhone
    可以干很多事情,现在都可以写 C/C++ 还有 CUDA 代码
    mightybruce
        8
    mightybruce  
       2023-10-20 22:06:11 +08:00
    jupyter notebook 交互方便, 主要适合不断修改程序跑数据结果,展示图表也很方便,直接就在网页上出现了
    做数据分析的人很喜欢这些。
    jsutfun
        9
    jsutfun  
       2023-10-20 22:06:17 +08:00
    这个玩意儿配合 jupyterhub 和 conda 很好用呀,实验室有不是计算机背景的同学,不用彻底的学习集群操作,很好上手,不同的 kernel 在不同的用户之间可以共享,一块合作的时候减少了很多麻烦。
    hs0000t
        10
    hs0000t  
       2023-10-20 22:18:29 +08:00 via Android
    主要适合用来“探索”,需要一步步试错,根据每一步的结果来调整后续思路和代码的场合,不是用来做工程的
    512357301
        11
    512357301  
       2023-10-20 22:25:07 +08:00 via Android
    回答你的问题,不合适。
    当你搜了半天也搞不明白它的时候,它就完全不适合你,这句话适合大部分场景,适合大部分产品。
    fancy2020
        12
    fancy2020  
       2023-10-20 22:27:19 +08:00
    我的理解,就是一个网页版的 REPL (Read-Eval-Print Loop)。
    只是除了支持输入代码,还支持 Markdown ,以及可以输出更加华丽的内容,比如柱状图之类的。
    vToExer
        13
    vToExer  
       2023-10-20 22:59:41 +08:00 via Android
    可以理解为 Python 实现的网页版 Mathmatica ,提供类似 rstudio 或 matlab 的交互功能。

    若是用 Python 实现画图功能,无须用 jupyter 。但调试时或可用于提升开发效率
    YsHaNg
        14
    YsHaNg  
       2023-10-21 00:39:30 +08:00
    可以用来白嫖 gcp colab Nvidia t4
    GeekGao
        15
    GeekGao  
       2023-10-21 00:45:17 +08:00
    Jupyter Notebook 最主要的用途是可交互式执行代码,进行数据分析和可视化,记录文档和报告。
    融合了编程与文档, 很适合数据科学和科学计算领域。
    levelworm
        16
    levelworm  
       2023-10-21 00:59:51 +08:00 via Android
    做数据 exploration 用的。我最近需要 debug 一个 etl pipeline ,但是数据从 parquet 和 json 导入之后,进行了一些 join 之后就直接进 imply 了,所以我看不到中间过程,这时候笔记本就很方便。
    Jirajine
        17
    Jirajine  
       2023-10-21 01:02:49 +08:00 via Android
    你体验一下不就知道了,这就是个高级版的 repl 。
    kakki
        18
    kakki  
       2023-10-21 02:03:03 +08:00
    机器学习的 sketchbook
    LeeReamond
        19
    LeeReamond  
       2023-10-21 02:29:09 +08:00
    Jupyter Notebook 基于 ipython ,ironpython 是 C#写的一个 py 虚拟机实现,修改了一些运行时逻辑。对内存回收机制做了一些修改后使得程序可以溯回。解决的问题比如在你不满意的情况下,你可以直接溯回上一次的运行结果,而不需要重启虚拟机,当虚拟机启动时间过长或载入内容较多时这很有用。
    echaos
        20
    echaos  
       2023-10-21 06:00:26 +08:00 via Android
    高级 print
    houshuu
        21
    houshuu  
       2023-10-21 07:07:13 +08:00   ❤️ 2
    Jupyter 能大幅降低试错的时间成本和提高使用体验

    大部分公司和研究室 GPU 都是云端共享的, Jupyter 方便管理, 使用体验也好, 图片啥的也都能出. 相比于其他计算机学的分支, 很多搞数据科学的不是计算机出身, 比如来自物理系, 数学系, 一个打开网址就能直接开写的环境对他们或是初学者相当友好的.

    数据科学工作中经常要进行微调, 从头跑也不是办法, 光数据导入可能就得几十分钟, 还得不停在 CPU 和 GPU 间拷贝, dateset 分割等等. 模型从确定结构到结束调试, 调个几百上千次是常态. Jupyter 背靠 ipython, 解决了这个问题.

    真的调好了算法打算大规模训练或是分布式训练的时候其实还是使用各种其他的部署手段的.
    henix
        22
    henix  
       2023-10-21 08:05:58 +08:00
    后一个问题,如果只是画图,用 matplotlib 的 savefig 即可,可以不用 jupyter notebook
    mercury233
        23
    mercury233  
       2023-10-21 08:07:54 +08:00
    感觉就是比切到终端复制粘贴输入输出方便一些
    xuegy
        24
    xuegy  
       2023-10-21 08:44:23 +08:00 via iPhone
    个人理解是把 Mathematica 的交互界面搬到了 Python 上面
    dekuofa
        25
    dekuofa  
       2023-10-21 09:01:40 +08:00
    你可以找一些数据分析相关的网课作业,比如 https://github.com/MartinLwx/Data100-Fall-2021-UCB ,运行里面的文件看看效果、学习别人的用法。
    cqcn1991
        26
    cqcn1991  
       2023-10-21 09:19:36 +08:00
    panxi
        27
    panxi  
       2023-10-21 09:43:09 +08:00
    每一步都是一个 debug ,这不香吗?
    hertzry
        28
    hertzry  
       2023-10-21 11:14:01 +08:00
    Jupyter Notebook 插件装上,新建一个.ipynb 文件,打开一下就明白了。
    hertzry
        29
    hertzry  
       2023-10-21 11:16:10 +08:00
    换图那还得研究研究 matlabplot.pyplot 和 seaborn 这两个东西。
    hertzry
        30
    hertzry  
       2023-10-21 11:30:14 +08:00
    hertzry
        31
    hertzry  
       2023-10-21 11:32:31 +08:00
    运行 Java 也不是不行

    iyaozhen
        32
    iyaozhen  
       2023-10-21 11:35:07 +08:00
    这个玩意怎么说呢,和搞传统软件开发工程的没关系。用不上也不用强求
    GeruzoniAnsasu
        33
    GeruzoniAnsasu  
       2023-10-21 14:06:51 +08:00
    colab 的官方 tutorio 都很详细了:

    https://colab.research.google.com/

    colab 就是个在线 host 的 jupyter
    2n80HF9IV8d05L9v
        34
    2n80HF9IV8d05L9v  
       2023-10-21 14:53:04 +08:00
    去 kaggle 上看看就懂了
    winterbells
        35
    winterbells  
       2023-10-21 16:15:56 +08:00 via Android
    yajuusenpai
        36
    yajuusenpai  
    OP
       2023-10-21 18:06:48 +08:00
    @echaos 这么说我就有点明白了
    yajuusenpai
        37
    yajuusenpai  
    OP
       2023-10-21 18:08:18 +08:00
    @panxi 为啥要频繁 debug ,全写完再 de 不行吗
    yajuusenpai
        38
    yajuusenpai  
    OP
       2023-10-21 18:09:19 +08:00
    @hertzry 那这和 ide 也没啥区别,看来和我想要的不是一个东西
    justin2018
        39
    justin2018  
       2023-10-21 18:24:33 +08:00
    最近在 Jupyter Notebook 里安装了 JavaScript 内核

    写 demo 和做教程、笔记都蛮方便的

    https://docs.deno.com/runtime/manual/tools/jupyter
    iorilu
        40
    iorilu  
       2023-10-21 18:50:44 +08:00
    就是为了快速写代码, 快速看结果啊

    这个因为可以整合笔记, 代码, 画图, 所以适合数据分析相关工作
    julyclyde
        41
    julyclyde  
       2023-10-21 22:39:52 +08:00
    @LeeReamond ipython 和 ironpython 没啥关系啊
    yajuusenpai
        42
    yajuusenpai  
    OP
       2023-10-23 08:21:30 +08:00
    @iorilu 所以这其实就是个 python 的 IDE ,只不过整合了很多别的功能
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5418 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 07:48 · PVG 15:48 · LAX 23:48 · JFK 02:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.