国产无码免费,人妻口爆,国产V在线,99中文精品7,国产成人无码AA精品一,制度丝袜诱惑av,久久99免费麻辣视频,蜜臀久久99精品久久久久久酒店
        訂閱
        糾錯
        加入自媒體

        計算機視覺研究人員必備的Linux命令行技巧

        2022-03-22 13:33
        磐創AI
        關注

        介紹

        Jeroen Janssens在《命令行的數據科學》一書中對命令行優勢進行了很好的分類:

        命令行是靈活的:這個特性使它非常適合數據科學的探索性質。因為你想要及時得到結果。

        命令行可以擴展:與其他技術很好地集成。(例如Jupyter筆記本、Colab等)

        命令行是可伸縮的:因為你不使用GUI,你實際上輸入命令,每個命令都有許多參數,所以它可以很容易地滿足你的需要。

        命令行是可擴展的:命令行本身與語言無關。因此,你可以開發和擴展它的功能,而不用擔心語言。

        命令行無處不在:命令行與任何類似Unix的操作系統一起提供。大多數超級計算機、嵌入式系統、服務器、筆記本電腦和云基礎設施都使用Linux。

        在這篇文章中,想介紹一些關于我經常用于項目的Linux命令

        將命令分為兩大類:

        第一類包括在使用遠程服務器和文件時有用

        第二類命令包括有助于圖像/視頻操作。

        使用遠程服務器和文件

        1.檢查圖像的尺寸

        有時在遠程服務器上,你正在處理數據,沒有任何GUI來查看圖像維度。可以使用以下命令檢查圖像尺寸:

        linux@user-pc:~/some/path$ identify image_name.png

        >>> image_name.png PNG 1920x1080 8bit sRGB 805918B 0.000u 0:00.000

        如果你想將其用于目錄中的多個圖像(可能你想將它們合并為一個片段,但其中一些圖像的維度與其他圖像不同!),使用*.png而不是image_name.png

        腳本:

        import cv2

        from pathlib import Path

        images = Path('path').rglob('*.png')

        for img_path in images:

           img = cv2.imread(img_path

           print(img_path, img.shape)

        2.清點目錄上的圖像

        在一些目錄中創建數據集之后,我經常檢查圖像和標簽的數量是否相等。(由于我使用jupyter notebook,有時會有一個名為.ipynotebook的隱藏目錄,在使用ls命令時不會出現,當數據生成器開始從該目錄獲取數據時,會出現問題)。

        要統計所有圖像,請執行以下操作:

        ls path/to/images | wc -l

        要僅檢查png格式文件,請執行以下操作:

        find -name *.png -type | wc -l

        要使用存儲大小檢查目錄,請執行以下操作:

        du -lh --max-depth=1

        你還可以使用tree -du -h Path/to/images來檢查映像及其占用的磁盤存儲空間。命令樹的輸出更加直觀,如下所示:

        3.將文件從本地PC復制到遠程服務器

        我們經常需要將數據上傳到遠程服務器(或從遠程服務器下載)。要做到這一點,你應該以以下方式使用scp命令:

        首先,我建議你使用以下命令壓縮文件夾:

        zip -r output.zip path/to/images path/to/labels

        要下載,你應該在本地PC上使用以下命令:

        scp remote_user@remote_host:remote_path local_path

        例如:

        scp user_1@111.222.333.444:/home/user_1/path /home/local_user/path

        要上傳,請切換源和目標:

        scp /home/local_user/path user_1@111.222.333.444:/home/user_1/path

        4.在遠程服務器上運行jupyter notebook

        jupyter notebook幫助研究人員編寫腳本和可視化。為了在本地PC上使用它,同時在遠程主機上運行,我們在本地計算機和遠程主機上使用以下命令,將jupyter notebook轉發到本地:

        在遠程服務器上運行jupyter notebook:

        jupyter notebook --no-browser --port=XXXX

        端口將本地端口轉發到遠程端口:

        ssh -N -f -L localhost:YYYY:localhost:XXXX remote_user@remote_host

        5.使用TMUX運行ML模型訓練/評估

        在ML模型訓練中,我經常遭受網絡斷開的痛苦,這有時會讓我回到原點,重新開始訓練模型!

        因此,我發現tmux程序是一個非常好的解決方案,你可以將進程與其控制終端分離,從而允許遠程會話在不可見的情況下保持活動狀態。

        使用tmux過程。

        · 要啟動tmux會話,只需鍵入tmux。

        · 要重命名會話,請鍵入rename-session -t some_random_name(僅當你已激活會話時)。

        · 然后你可以運行你的進程,按CTRL+B,然后按D,從中分離出來。

        · 要附加會話,可以使用tmux attach -t some_random_name。

        · 要終止會話,請執行tmux kill-session -t yolo

        6. 查看GPU資源

        如果你在一個團隊中工作,你可能會和同事一起經歷GPU資源的競爭!!要了解GPU的使用情況(了解其他人何時不使用GPU),請使用以下命令:

        watch -n nvidia-smi

        nvtop(更好的可視化):

        gpustat(管理員更適合同時觀看多個GPU)

        有時,當你開始訓練你的ML模型時,你會將結果記錄在一些文本文件中。例如,Detectron2框架或YOLOV5記錄度量(準確性、損失等)。

        因此,如果我無法訪問tensorboard,我將使用此命令檢查最后5行的結果,每100秒更新一次:

        watch -n 100 tail -n 5

        我根據損失和準確度值保存檢查點,并用相應的損失和準確度命名權重。因此,我可以在命令行中對它們進行排序,并使用以下命令檢查最后一個檢查點的準確度:

        ls checkpoints | sort | tail -n 1

        6.創建gif繪圖以顯示時間序列圖像

        我使用GradCam算法,使用tf-explain模塊在測試圖像上可視化激活層特征提取熱圖。我經常從圖中生成gif,以了解訓練過程如何影響模型的準確性。要將目錄中的圖像轉換為繪圖,可以使用以下命令:

        convert -delay 10 -loop 0 *.png animation.gif

        結果是:

        如果要將視頻轉換為gif,可能會注意到輸出的gif會變得非常大。因此,減少gif大小的最佳方法是從視頻中采樣。為此,請使用-r,即采樣FPS:

        ffmpeg -i video.mp4 -r 10 output.gif

        視頻/圖像處理

        ffmpeg是計算機視覺工程師的必備技能,因為她/他必須處理視頻/圖像數據。ffmpeg有很多技巧,在這里只分享其中的幾個。

        1.檢查視頻持續時間

        使用以下命令:

        ffmpeg -i file.mp4 2>&1 | grep “Duration”

        輸出結果如下:Duration: 00:05:03.05, start: 0.00000, bitrate:201 kb/s

        2.轉換視頻格式:

        為此:

        ffmpeg -i video.mp4 video.avi

        如果你只需要視頻中的音頻:

        ffmpeg -i input.mp4 -vn output.mp3

        3.從視頻生成數據集

        有時我們可能需要從視頻中生成一個數據集,其中一些動作很少發生,比如檢測罕見動作或罕見對象,這可以稱為“異常檢測”。為此,我們需要播放長達數小時的視頻。我使用此命令剪切視頻的某些部分:

        ffmpeg -ss 00:10:00 -i input_video.mp4 -to 00:02:00 -c copy output.mp4

        在該命令中:

        -ss:開始時間

        -i:輸入視頻

        -to:大約2分鐘。

        -c:輸出編解碼器

        如果你想要沒有音頻的視頻:

        ffmpeg -i input_video.mp4 -an -c:v copy output.mp4

        -an:用于在沒有音頻的情況下進行輸出。

        4.為CONVLSM或3d CNN生成一系列幀

        CONVLSM和3d CNN網絡用于提取視頻序列的時序特征。因此,為了使用這些網絡,我們必須為它們的輸入張量生成一系列幀。使用此命令從視頻生成20秒的圖像:

        ffmpeg -ss 00:32:15 -t 20 -i videos.ts ~/frames/frame%06d.png

        可以添加比例來重新縮放圖像尺寸。我大部分的視頻都是1028x540,它的寬度必須減半。這是執行此操作的命令:

        ffmpeg -ss 00:10:00 -t 20 -i video.ts -vf scale=iw/2:ih output_path/frame%06d.png

        或者你可以簡單地輸入尺寸:

        ffmpeg -ss 00:10:00 -t 20 -i video.ts -vf scale=960x540 output_path/frame%06d.png

        5.裁剪視頻邊框

        裁剪視頻邊框:

        ffmpeg -i input.mp4 -filter:v "crop=w:h:x:y" output.mp4

        6.堆疊視頻

        在TVConal初創公司,我從事體育分析項目,有時我們想檢查不同的視頻源是否同步。

        視頻名稱為a.mp4-b.mp4 c.mp4 d.mp4。

        6.1-水平堆疊視頻:

        要沿水平堆疊,我們使用以下命令:

        ffmpeg -i a.mp4 -i b.mp4 -filter_complex hstack output.mp4

        6.2-垂直堆疊視頻:

        要沿垂直堆疊,我們使用以下命令:

        ffmpeg -i a.mp4 -i b.mp4 -filter_complex vstack=inputs=2 end_vstack.mp4

        6.3 2x2網格堆疊

        現在讓我們嘗試更復雜的方法:

        ffmpeg -i a.mp4 -i b.mp4 -i c.mp4 -i d.mp4 -filter_complex "[0:v][1:v][2:v][3:v]xstack=inputs=4:layout=0_0|w0_0|0_h0|w0_h0[v]" -map "[v]" 2x2.mp4

        結論

        相信命令行和python將為數據科學界提供一套強大的工具。因此,使用這些功能強大的工具,我們可以減少在簡單任務上的時間浪費。

        感謝閱讀!

        參考引用

        image.png


               原文標題 : 計算機視覺研究人員必備的Linux命令行技巧

        聲明: 本文由入駐維科號的作者撰寫,觀點僅代表作者本人,不代表OFweek立場。如有侵權或其他問題,請聯系舉報。

        發表評論

        0條評論,0人參與

        請輸入評論內容...

        請輸入評論/評論長度6~500個字

        您提交的評論過于頻繁,請輸入驗證碼繼續

        暫無評論

        暫無評論

          人工智能 獵頭職位 更多
          掃碼關注公眾號
          OFweek人工智能網
          獲取更多精彩內容
          文章糾錯
          x
          *文字標題:
          *糾錯內容:
          聯系郵箱:
          *驗 證 碼:

          粵公網安備 44030502002758號

          主站蜘蛛池模板: 久操精品| 琪琪福利视频| 亚洲都市激情| 奇米久久| 男人天堂网址| 麻豆色漫| 鲁鲁AV| 天天躁夜夜躁狠狠躁AV| 色三区| 国产wwww| www.91自拍| 97色婷婷| 杭锦后旗| 亚州九九久久| 998av资源影音先锋| 浪荡干片网在线观看| 伊人久久五月| 人妻aⅴ久久久北条麻妃| 永善县| 精品久久一区| 中文字幕三区| 日本久久综合| 人妻丰满熟妇aⅴ无码| 高安市| 成人AV一区二区三区| 综合色道| 71.C在线观看| 沛县| 色婷婷影院| 超碰2025| 平江县| 热国产综合| 欧美精品XXX| 襄樊市| 蜜臀久久精精品久久久久久噜噜 | 国产精品伦子伦免费视频| 91爱爱网| 国模在线| 91在线资源| 亚洲v在线| 蓬安县|