代码之家  ›  专栏  ›  技术社区  ›  Jonathan

在Google Colab中获取Jupyter输出

  •  1
  • Jonathan  · 技术社区  · 6 年前

    我们需要看到输出(stdout),它是由谷歌colab中的jupyter笔记本生成的。在做一些调查时,输出似乎是通过管道一直输送到主流程:

    根1 0 0 jun27?00:00:00/bin/bash-e/datalab/run.sh

    输出所经过的管道如下:

    • /usr/bin/python2/usr/local/bin/jupyter笔记本…..

    • /工具/node/bin/node/datalab/web/app.js

    • 节点/工具/节点/箱/永远……/数据实验室/web/app.js

    • /bin/bash-e/datalab/run.sh文件

    有什么关于我如何访问它的想法吗?


    我刚发现 forever 不转发输出 app.js . forever list 表明产量将 /content/.forever/BQBW.log 这是不存在的。我仍然不明白为什么,也不知道这是否真的是性传播疾病的结局。

    4 回复  |  直到 5 年前
        1
  •  1
  •   Bob Smith    6 年前

    使用 wurlitzer

    https://colab.research.google.com/drive/1jpAOdWJDCh_YzmqidGnlYHHCFODNKQkB

    本笔记本:

    1. 编译为共享库。
    2. 调用库时使用Wurlitzer捕获输出。
        2
  •  1
  •   Craig Citro    6 年前

    如果是Jupyter,启用日志记录需要一些工作——下面是一个完整的示例: https://colab.research.google.com/drive/1q2mhsj4bwwdQK-KZIxrIIKed8O11MQl0

        3
  •  0
  •   Jonathan    6 年前

        4
  •  0
  •   Ami F    5 年前

    (我意识到你没有被封锁,但把这个答案留在这里希望能帮助未来的旅行者)

    https://colab.research.google.com/drive/1i6x882Dn6E5PwaptVQ4ADGyEvBZAHm7i 显示一个示例,其中TF C++代码将DEV部署发送到STDRR,然后在执行完成之前被杀死。快速刷新会导致所有输出在内核被终止之前出现,但将其保留为默认值(0.2s)会导致部分或没有输出出现。

    %%writefile !python3 file.py 子进程发出的任何STDUD/STDER(无论是从Python代码写入到sys .STD{OUT,Err}还是C++代码写入FD= {1,2})都应该出现在单元格的输出中。