社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  机器学习算法

Asciinema - 终端日志记录神器,机器学习开发者的福音

未闻Code • 3 年前 • 490 次点击  

我们在做机器学习/深度学习开发的时候,经常会产生如下所示的大量日志:



这些日志如果不保存,转瞬即逝,当我们想要回去翻看某一轮训练日志的时候,会很遗憾的发现找不到了。

现在有了这个 Asciinema 这个神器,我们不仅能找到并导出当时的终端日志,还能够“重播日志”并“分享日志”。非常牛逼:


Asciinema 是使用Python开发的工具,请按下面的流程安装并使用。


1.准备



开始之前,你要确保Python和pip已经成功安装在电脑上,如果没有,可以访问这篇文章:超详细Python安装指南 进行安装。

(可选1) 如果你用Python的目的是数据分析,可以直接安装Anaconda:Python数据分析与挖掘好帮手—Anaconda,它内置了Python和pip.

(可选2) 此外,推荐大家用VSCode编辑器,它有许多的优点:Python 编程的最好搭档—VSCode 详细指南

请选择以下任一种方式输入命令安装依赖
1. Windows 环境 打开 Cmd (开始-运行-CMD)。
2. MacOS 环境 打开 Terminal (command+空格输入Terminal)。
3. 如果你用的是 VSCode编辑器 或 Pycharm,可以直接使用界面下方的Terminal.

pip install asciinema


2.使用



终端输入如下命令,记录你的第一个终端日志:

asciinema rec first.cast


输入完成后会显示如下的提示:

(gs3_9) zjr@sgd-linux-1:~/cnn_test$ asciinema rec first.cast
  
asciinema: recording asciicast to first.cast
asciinema: press -d
> or type "exit" when you're done


意思就是日志会被保存在当前文件夹下的first.cast,如果你想结束录制,按 Ctrl + D 即可。

记录完毕后,以双倍速度重播该日志:

asciinema play -s 2 first.cast


或以正常速度但空闲时间限制为 2 秒:

asciinema play -i 2 first.cast


你也可以在启动终端日志录制时传递 -i 2 给 asciinema rec,将其永久设置在录制中:

asciinema rec first.cast -i 2


空闲时间的限制使录制更有趣。试试吧。

如果你想在网络上观看和分享,请上传:

asciinema upload first.cast


这个命令会将日志记录上传到 asciinema.org,此外,它会打印一个秘密链接,你可以使用该链接在网络浏览器中观看你录制的终端日志:



你可以通过省略文件名一步录制和上传终端的日志:

asciinema rec


录制完成后,系统会要求你确认上传。未经你的同意,不会向任何地方发送任何内容。

3.播放日志



查看日志有四种方式,最普通的是通过本地文件进行终端重播:

asciinema play /path/to/asciicast.cast


以下键盘快捷键可用:

  • Space- 暂停,

  • .- 按帧步进(暂停时),

  • Ctrl+C- 退出

第二种方式是通过url播放:

asciinema play https://asciinema.org/a/22124.cast
asciinema play http://example.com/demo.cast


这个方式需要你的日志已经上传到asciinema.org中。

第三种方式是通过你自己生成的html页面访问(需要在页面的 HTML 中):

asciinema play http://your_html_path/post.html


第四种方式是通过标准输入输出播放:

cat /path/to/asciicast.cast | asciinema play -
# ssh user@host cat asciicast.cast | asciinema play
-


可用选项:

  • -i, --idle-time-limit=- 将重播的终端空闲不动时间闲置为最大秒数

  • -s, --speed=- 播放速度

4.导出日志



导出终端日志到文本文件非常简单:

asciinema cat existing.cast > terminal_output.txt




所有的终端日志都会被导出到 terminal_output.txt 中,非常方便好用。

END

未闻 Code·知识星球开放啦!

一对一答疑爬虫相关问题

职业生涯咨询

面试经验分享

每周直播分享

......

未闻 Code·知识星球期待与你相见~

一二线大厂在职员工

十多年码龄的编程老鸟

国内外高校在读学生

中小学刚刚入门的新人

“未闻 Code技术交流群”等你来!

入群方式:添加微信“mekingname”,备注“粉丝群”(谢绝广告党,非诚勿扰!)

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/129755
 
490 次点击