在機器學習的實踐過程中,用好Shell能幫你很多節(jié)省時間。
最近,有位來自ETHZ的學生分享了一些Shell小技巧。對程序員來說,這些技巧更重要的是讓你的思維從瑣碎小事中解脫出來,大大提高了工作效率。

下面就是他分享的4個tips。由于本文中涉及到的shell腳本過多,你可以去文末地址中查看所有腳本的源代碼。
抓取遠程文件
當你在遠程服務器上監(jiān)視程序運行時,如果想把一個遠程文件抓取到本地查看,通常你會怎么做?
記下文件路徑,打開終端,用rsync之類的工具同步到本地,再到文件瀏覽器中查看。
實際上不必這么麻煩。只需要事先寫好幾個shell腳本,就可以避免重復的機械勞動。
在這里強烈推薦iTerm 2,它比Mac自帶的終端要強大得多,可以指定某個觸發(fā)關鍵詞執(zhí)行某個相應的命令。
iTerm 2下載地址:https://www.iterm2.com/
先在遠程服務器上設置一個腳本t。當我們輸入r awesome_video.mp4時,它會搜索awesome_video.mp4文件所在路徑,并連同主機名以字符串rtransfer

rtransfer作為iTerm2的觸發(fā)關鍵詞,解析出主機和路徑,然后調(diào)用另一個本地腳本t2。腳本t2將這個視頻文件傳輸?shù)脚R時目錄,然后在該目錄中打開Finder。

使用iTerm 2觸發(fā)關鍵詞功能調(diào)用腳本,可以大大提升效率,而你要做的只是在前期花費時間定制腳本。
遠程訪問TensorBoard
除了抓取遠程文件,另一個讓人痛苦的是訪問遠程服務器上的TensorBoard實例。你可以設置SSH端口轉發(fā),但是哪個端口對應哪個服務器?它們都在Docker容器中。
ngrok可以讓你把訪問本地端口變成訪問URL,比如輸入ngrok http 6006后,它會為你生成一個URL網(wǎng)址http://683acac3.ngrok.io,你可以在這個地址中查看TensorBoard實例。
結合腳本n,以更快的速度啟動ngrok,然后用腳本tb打開Web瀏覽器,啟動TensorBoard,在十秒內(nèi)就能從運行目錄轉到顯示圖形。

ngrok有個缺點是它一次只能允許一個會話,因此在使用前需要殺死上一個ngork進程。如果你忘記在另外一臺服務器上殺死ngrok,可能會比較麻煩。
ngrok下載地址:https://ngrok.com/
用tbplot代替TensorBoard繪圖
對于運行大量metrics的情形,我們需要等待較長時間讓TensorBoard加載所有圖形。如果使用tbplot腳本,速度會快很多,并且能直接生成圖像文件。

tbplot實際上調(diào)用的是Matplotlib,缺點是目前只能生成標量圖。
tbplot下載地址:https://github.com/mrahtz/tbplot
自動化崩潰監(jiān)測
運行代碼時,最耗費精力的事情就是是擔心遇到了錯誤并崩潰,因此需要不斷檢查他們的運行情況。
當程序出現(xiàn)問題時,通過警報自動監(jiān)控可以緩解這種擔憂。一般可以把警報發(fā)送到郵箱中,為了避免這么麻煩,可以使用sqs-alerts,它依靠AWS AWS Simple Queue服務存儲和接收消息。
在每臺遠程機器上,使用cron運行一個腳本,監(jiān)控日志并在檢測到運行中斷時向隊列發(fā)送消息。然后在本地機器上運行一個服務來監(jiān)控隊列,并在收到消息時彈出警報。

sqs-alerts下載地址:https://github.com/mrahtz/sqs-alerts
最后,本文使用的所有shell腳本都可以在以下地址中找到:https://github.com/mrahtz/dotfiles/tree/master/.local/bin
-
Linux
+關注
關注
88文章
11760瀏覽量
219046 -
機器學習
+關注
關注
66文章
8553瀏覽量
136962
原文標題:4個Linux Shell小技巧,幫你提高機器學習生產(chǎn)效率
文章出處:【微信號:TheBigData1024,微信公眾號:人工智能與大數(shù)據(jù)技術】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
變頻器在提升機上的應用
Linux Shell文本處理神器合集:15個工具+實戰(zhàn)例子,效率直接翻倍
如何在NVIDIA Jetson Thor上提升機器人感知效率
如何借助OpenUSD提升機器人開發(fā)流程效率
shell基本介紹及常用命令之shell基本介紹
自主生產(chǎn):制造業(yè)的未來
機器人看點:宇樹新專利可提升機器人表演效果 蔚來資本入股具身智能公司原力靈機 美信科技新設機器人制
礦井提升機變頻柜如何選擇UPS不間斷電源?優(yōu)比施電源為您支招
FPGA在機器學習中的具體應用
用光譜“看礦石”:LIBS如何提升稀土分選效率?
機場智慧指路燈桿
新能源時代,圓柱電池生產(chǎn)設備如何提升生產(chǎn)效率?
樹莓派新手必看!在樹莓派上編寫和運行 Shell 腳本!
那些 Linux Shell的小技巧,大大提升機器學習生產(chǎn)效率
評論