4个Linux小技巧,帮你提高机器学习生产效率

2019 年 3 月 14 日 机器学习算法与Python学习
晓查 发自 凹非寺 
量子位 报道 | 公众号 QbitAI

在机器学习的实践过程中,用好Shell能帮你很多节省时间。

下面就是他分享的4个tips。由于本文中涉及到的shell脚本过多,你可以去文末地址中查看所有脚本的源代码。

抓取远程文件

当你在远程服务器上监视程序运行时,如果想把一个远程文件抓取到本地查看,通常你会怎么做?

记下文件路径,打开终端,用rsync之类的工具同步到本地,再到文件浏览器中查看。

实际上不必这么麻烦。只需要事先写好几个shell脚本,就可以避免重复的机械劳动。

在这里强烈推荐iTerm 2,它比Mac自带的终端要强大得多,可以指定某个触发关键词执行某个相应的命令。

iTerm 2下载地址:https://www.iterm2.com/

先在远程服务器上设置一个脚本t。当我们输入r awesome_video.mp4时,它会搜索awesome_video.mp4文件所在路径,并连同主机名以字符串rtransfer <host> <path>的形式打印出来。

rtransfer作为iTerm2的触发关键词,解析出主机和路径,然后调用另一个本地脚本t2。脚本t2将这个视频文件传输到临时目录,然后在该目录中打开Finder。

使用iTerm 2触发关键词功能调用脚本,可以大大提升效率,而你要做的只是在前期花费时间定制脚本。

远程访问TensorBoard

除了抓取远程文件,另一个让人痛苦的是访问远程服务器上的TensorBoard实例。你可以设置SSH端口转发,但是哪个端口对应哪个服务器?它们都在Docker容器中。

ngrok可以让你把访问本地端口变成访问URL,比如输入ngrok http 6006后,它会为你生成一个URL网址http://683acac3.ngrok.io,你可以在这个地址中查看TensorBoard实例。

结合脚本n,以更快的速度启动ngrok,然后用脚本tb打开Web浏览器,启动TensorBoard,在十秒内就能从运行目录转到显示图形。

ngrok有个缺点是它一次只能允许一个会话,因此在使用前需要杀死上一个ngork进程。如果你忘记在另外一台服务器上杀死ngrok,可能会比较麻烦。

ngrok下载地址:https://ngrok.com/

用tbplot代替TensorBoard绘图

对于运行大量metrics的情形,我们需要等待较长时间让TensorBoard加载所有图形。如果使用tbplot脚本,速度会快很多,并且能直接生成图像文件。

tbplot实际上调用的是Matplotlib,缺点是目前只能生成标量图。

tbplot下载地址:https://github.com/mrahtz/tbplot

自动化崩溃监测

运行代码时,最耗费精力的事情就是是担心遇到了错误并崩溃,因此需要不断检查他们的运行情况。

当程序出现问题时,通过警报自动监控可以缓解这种担忧。一般可以把警报发送到邮箱中,为了避免这么麻烦,可以使用sqs-alerts,它依靠AWS AWS Simple Queue服务存储和接收消息。

在每台远程机器上,使用cron运行一个脚本,监控日志并在检测到运行中断时向队列发送消息。然后在本地机器上运行一个服务来监控队列,并在收到消息时弹出警报。

sqs-alerts下载地址:https://github.com/mrahtz/sqs-alerts

最后,本文使用的所有shell脚本都可以在以下地址中找到:
https://github.com/mrahtz/dotfiles/tree/master/.local/bin

推荐阅读

把14亿中国人都拉到一个微信群在技术上能实现吗?

2019QS世界大学学科排名重磅发布!

初中数学9大经典解题法!

超赞 | 从写简历到面试,这是一份AI公司应聘全面指南

Python的这些实用功能你都会了吗?


喜欢就点一下「好看」呗~

登录查看更多
0

相关内容

【2020新书】实战R语言4,323页pdf
专知会员服务
97+阅读 · 2020年7月1日
【2020新书】使用高级C# 提升你的编程技能,412页pdf
专知会员服务
56+阅读 · 2020年6月26日
【实用书】Python机器学习Scikit-Learn应用指南,247页pdf
专知会员服务
255+阅读 · 2020年6月10日
【实用书】Python爬虫Web抓取数据,第二版,306页pdf
专知会员服务
115+阅读 · 2020年5月10日
Python分布式计算,171页pdf,Distributed Computing with Python
专知会员服务
105+阅读 · 2020年5月3日
机器学习速查手册,135页pdf
专知会员服务
335+阅读 · 2020年3月15日
深度神经网络实时物联网图像处理,241页pdf
专知会员服务
75+阅读 · 2020年3月15日
用 Python 开发 Excel 宏脚本的神器
私募工场
26+阅读 · 2019年9月8日
用Now轻松部署无服务器Node应用程序
前端之巅
16+阅读 · 2019年6月19日
免费!Google Colab现已支持英伟达T4 GPU
新智元
5+阅读 · 2019年4月25日
使用 C# 和 Blazor 进行全栈开发
DotNet
6+阅读 · 2019年4月15日
抖音爬虫
专知
3+阅读 · 2019年2月11日
教程 | PyTorch经验指南:技巧与陷阱
机器之心
15+阅读 · 2018年7月30日
Python | Jupyter导出PDF,自定义脚本告别G安装包
程序人生
7+阅读 · 2018年7月17日
用 Scikit-Learn 和 Pandas 学习线性回归
Python开发者
9+阅读 · 2017年9月26日
干货|7步让你从零开始掌握Python机器学习!
全球人工智能
8+阅读 · 2017年9月24日
33款可用来抓数据的开源爬虫软件工具 (推荐收藏)
数据科学浅谈
6+阅读 · 2017年7月29日
Arxiv
42+阅读 · 2019年12月20日
Real-time Scalable Dense Surfel Mapping
Arxiv
5+阅读 · 2019年9月10日
Monocular Plan View Networks for Autonomous Driving
Arxiv
5+阅读 · 2019年5月16日
Arxiv
12+阅读 · 2019年4月9日
A Survey on Deep Transfer Learning
Arxiv
11+阅读 · 2018年8月6日
VIP会员
相关VIP内容
【2020新书】实战R语言4,323页pdf
专知会员服务
97+阅读 · 2020年7月1日
【2020新书】使用高级C# 提升你的编程技能,412页pdf
专知会员服务
56+阅读 · 2020年6月26日
【实用书】Python机器学习Scikit-Learn应用指南,247页pdf
专知会员服务
255+阅读 · 2020年6月10日
【实用书】Python爬虫Web抓取数据,第二版,306页pdf
专知会员服务
115+阅读 · 2020年5月10日
Python分布式计算,171页pdf,Distributed Computing with Python
专知会员服务
105+阅读 · 2020年5月3日
机器学习速查手册,135页pdf
专知会员服务
335+阅读 · 2020年3月15日
深度神经网络实时物联网图像处理,241页pdf
专知会员服务
75+阅读 · 2020年3月15日
相关资讯
用 Python 开发 Excel 宏脚本的神器
私募工场
26+阅读 · 2019年9月8日
用Now轻松部署无服务器Node应用程序
前端之巅
16+阅读 · 2019年6月19日
免费!Google Colab现已支持英伟达T4 GPU
新智元
5+阅读 · 2019年4月25日
使用 C# 和 Blazor 进行全栈开发
DotNet
6+阅读 · 2019年4月15日
抖音爬虫
专知
3+阅读 · 2019年2月11日
教程 | PyTorch经验指南:技巧与陷阱
机器之心
15+阅读 · 2018年7月30日
Python | Jupyter导出PDF,自定义脚本告别G安装包
程序人生
7+阅读 · 2018年7月17日
用 Scikit-Learn 和 Pandas 学习线性回归
Python开发者
9+阅读 · 2017年9月26日
干货|7步让你从零开始掌握Python机器学习!
全球人工智能
8+阅读 · 2017年9月24日
33款可用来抓数据的开源爬虫软件工具 (推荐收藏)
数据科学浅谈
6+阅读 · 2017年7月29日
Top
微信扫码咨询专知VIP会员