基於PyTorch的CV模型框架,北大學生出品TorchCV

2021-01-11 機器之心Pro

機器之心整理

參與:張倩、澤南

在機器學習帶來的所有顛覆性技術中,計算機視覺領域吸引了業內人士和學術界最大的關注。

剛剛推出 1.3 正式版的 PyTorch 風頭正勁,人們已經圍繞這一深度學習框架開發出了越來越多的工具。最近,一個名為 TorchCV 的計算機視覺模型框架站上了 GitHub 趨勢榜。

項目連結:https://github.com/donnyyou/torchcv

該庫提供了基於深度學習的大部分 CV 問題研究的原始碼,對於使用者來說,調用最常用、最為先進的計算機模型從此可以變得更加容易。TorchCV 的作者 Donny You 來自北京大學,是機器感知與智能教育部重點實驗室的一名研三學生。

TorchCV 支持的模型

TorchCV 支持圖像分類、語義分割、目標檢測、姿態檢測、實例分割、生成對抗網絡等任務中的多個常見模型,列表如下:

圖像分類

VGG: Very Deep Convolutional Networks for Large-Scale Image RecognitionResNet: Deep Residual Learning for Image RecognitionDenseNet: Densely Connected Convolutional NetworksShuffleNet: An Extremely Efficient Convolutional Neural Network for Mobile DevicesShuffleNet V2: Practical Guidelines for Ecient CNN Architecture DesignPartial Order Pruning: for Best Speed/Accuracy Trade-off in Neural Architecture Search

語義分割

DeepLabV3: Rethinking Atrous Convolution for Semantic Image SegmentationPSPNet: Pyramid Scene Parsing NetworkDenseASPP: DenseASPP for Semantic Segmentation in Street ScenesAsymmetric Non-local Neural Networks for Semantic Segmentation

目標檢測

SSD: Single Shot MultiBox DetectorFaster R-CNN: Towards Real-Time Object Detection with Region Proposal NetworksYOLOv3: An Incremental ImprovementFPN: Feature Pyramid Networks for Object Detection

姿態檢測

CPM: Convolutional Pose MachinesOpenPose: Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields

實例分割

Mask R-CNN

生成對抗網絡

Pix2pix: Image-to-Image Translation with Conditional Adversarial NetsCycleGAN: Unpaired Image-to-Image Translation using Cycle-Consistent

快速啟動 TorchCV

TorchCV 目前僅支持 Python3.x 和 pytorch 1.0。

pip3install-rrequirements.txtcdextensionsshmake.sh

利用 TorchCV 得到的模型性能數據

以下所示的性能數據完全復現了論文的結果。

圖像分類

語義分割

目標檢測

姿態估計

OpenPose: Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields

實例分割

Mask R-CNN

生成對抗網絡

Pix2pixCycleGAN

TorchCV 的數據集

TorchCV 定義了你能在數據集子目錄中查到的所有任務的數據格式。下面是一個用於訓練語義分割的數據集目錄樹示例。你可以使用 datasets/seg/preprocess文件夾中的腳本對開源數據集進行預處理。

文件夾地址:https://github.com/donnyyou/torchcv/tree/master/datasets/seg/preprocess

TorchCV 的命令

項目作者提供了命令行工具,供用戶使用模型,代碼如下:

訓練

cd scripts/seg/cityscapes/bash run_fs_pspnet_cityscapes_seg.sh train tag

恢復訓練

cd scripts/seg/cityscapes/bash run_fs_pspnet_cityscapes_seg.sh train tag

驗證

cd scripts/seg/cityscapes/bash run_fs_pspnet_cityscapes_seg.sh val tag

測試

cd scripts/seg/cityscapes/bash run_fs_pspnet_cityscapes_seg.sh test tag

2019 年,PyTorch 正在逐漸趕超 TensorFlow,在研究領域成為最為流行的深度學習框架。隨著後者使用人數的增多,我們未來還會看到更多高效工具。

相關焦點

  • Pytorch框架安裝方法(基於Anaconda環境和Pycharm IDE)
    本文介紹基於Anaconda環境以及PyCharm軟體結合,安裝PyTorch深度學習框架。2.安裝PyTorch2.1 激活pytorch房間conda activate pytorch當前面從(base)變為(pytorch)時表示此時已經切換到pytorch房間,隨後正式進入安裝pytorch環節。
  • Keras vs PyTorch:誰是第一深度學習框架?
    兩大框架的連結:  Keras:https://github.com/keras-team/keras (https://keras.io/)  PyTorch:https://github.com/pytorch/pytorch  你想學習深度學習嗎?
  • 重磅| Torch7團隊開源PyTorch:Python優先的深度學習框架
    據官網介紹,PyTorch 是一個 Python 優先的深度學習框架,能夠在強大的 GPU 加速基礎上實現張量和動態神經網絡。官網:http://pytorch.orgGitHub:https://github.com/pytorch/pytorchPyTorch 是一個 Python 軟體包,其提供了兩種高層面的功能:使用強大的 GPU 加速的 Tensor 計算(類似 numpy)構建於基於 tape 的 autograd 系統的深度神經網絡如有需要,你也可以復用你最喜歡的
  • PyTorch實現,GitHub4000星:微軟開源的CV庫
    Jupyter notebooks 地址:https://github.com/microsoft/computervision-recipes/blob/master/scenarios工具函數地址:https://github.com/microsoft/computervision-recipes/blob/master/utils_cv目標群體
  • PyTorch框架歷史和特性更迭與安裝過程
    PyTorch框架歷史和特性更迭為了方便理解後續章節中對PyTorch的詳細闡述,這裡首先介紹一下PyTorch的發展歷史和一些特性的變化過程。截至本書寫作的時候,PyTorch的最新版本為1.3.0,所以本書敘述的歷史為PyTorch 1.3.0之前的特性更迭,本書後面的代碼將主要基於PyTorch 1.3.0。
  • 初學AI神經網絡應該選擇Keras或是Pytorch框架?
    一、發展演變歷程keraskeras出身就像是一個天生麗質的姑娘,是多個計算後臺框架的」前端」。keras是神經網絡的一個模型計算框架,嚴格來說不是神經網絡框架。keras是google的一個大佬開發的一個高度封裝的模型框架,已開源到github上。起初的計算後臺為Theano(和tensorflow差不多的一個框架),後來經過一系列的劇情,現在默認的計算後臺就為tensorflow了。
  • TensorFlow與PyTorch之爭,哪個框架最適合深度學習
    儘管神經網絡架構可以基於任何框架實現,但結果卻並不一樣。訓練過程有大量參數都與框架息息相關。舉個例子,如果你在 PyTorch 上訓練一個數據集,那麼你可以使用 GPU 來增強其訓練過程,因為它們運行在 CUDA(一種 C++ 後端)上。TensorFlow 也能使用 GPU,但它使用的是自己內置的 GPU 加速。
  • 還不會使用PyTorch框架進行深度學習的小夥伴,看過來
    選自heartbeat.fritz.ai作者:Derrick Mwiti機器之心編譯參與:Geek AI、王淑婷這是一篇關於使用 PyTorch 框架進行深度學習的教程,讀完以後你可以輕鬆地將該框架應用於深度學習模型。
  • 獨家 | 教你使用torchlayers 來構建PyTorch 模型(附連結)
    torchlayers 旨在做Keras為TensorFlow所做的事情,它提供了更高級的模型構建的API和一些方便的默認值以及附加功能,這些功能對構建PyTorch神經網絡很有用。通過在線搜索的趨勢判斷(連結:https://trends.google.com/trends/explore?
  • PyTorch官方教程書限時免費!500頁內容帶你上手最流行框架
    書籍地址:https://pytorch.org/assets/deep-learning/Deep-Learning-with-PyTorch.pdfPyTorch 是當前最熱的深度學習框架之一。自 2016 年誕生以來,PyTorch 迅速發展,成為廣受開發者和研究人員喜愛的框架。
  • PyTorch最新:分布式模型並行、Java程序、移動端等多項新功能
    本次更新是最後一個支持 Python2 的版本,同時增加了對分布式模型並行、移動端、Java 程序等方面的支持。 更新文檔:https://github.com/pytorch/pytorch/releases 增加多項新特性 在本次版本更新中,PyTorch 最大的變化在於增加了多項新的特性,無疑讓 PyTorch 變得更好用了。
  • 圖靈獎得主力推:PyTorch 1.3 今天發布
    本次 PyTorch1.3 更新增加了很多的新特性,包括無縫行動裝置部署、量化模型以加速推斷、前端改進(如對張量進行命名和創建更乾淨的代碼)。PyTorch 官方同時還開源了很多新工具和庫。在開發者大會上,PyTorch 官方表示甚至微軟都將其列入了支持的深度學習框架中。
  • PyTorch最新:支持分布式模型並行、Java程序、移動端等多項新功能
    本次更新是最後一個支持 Python2 的版本,同時增加了對分布式模型並行、移動端、Java 程序等方面的支持。更新文檔:https://github.com/pytorch/pytorch/releases增加多項新特性在本次版本更新中,PyTorch 最大的變化在於增加了多項新的特性,無疑讓 PyTorch 變得更好用了。
  • Deep CARs:使用Pytorch學習框架實現遷移學習
    在遷移學習中,現有的這個模型稱為預訓練模型。大多數用於遷移學習的預訓練模型都是基於大型卷積神經網絡之上的。一些人使用的預訓練的模型有VGGNet、ResNet、DenseNet、谷歌的Inception等等。這些網絡大多是在ImageNet上訓練的。ImageNet是一個龐大的數據集,包含100多萬張標記圖像,種類達1000個。
  • PyTorch 深度學習官方入門中文教程 pdf 下載|PyTorchChina
    PyTorch是一個基於Torch的Python開源機器學習庫,用於自然語言處理等應用程式。它主要由Facebookd的人工智慧小組開發,不僅能夠 實現強大的GPU加速,同時還支持動態神經網絡,這一點是現在很多主流框架如TensorFlow都不支持的。
  • Facebook 發布 Detectron2:基於 PyTorch 的新一代目標檢測工具
    雷鋒網 AI 開發者按:Detectron 是 FAIR 在 2018 年初公開的目標檢測平臺,包含了大量業內最具代表性的目標檢測、圖像分割、關鍵點檢測算法,該框架主要基於 python 和 caffe2 實現,開源項目已獲得了超 2.2w 的星標數。
  • 用PyTorch做深度學習實驗!Facebook新框架Ax和BoTorch雙雙開源
    新智元報導 來源:towardsdatascience編輯:大明【新智元導讀】近日,Facebook開源了兩款基於PyTorch的實驗框架Ax和BoTorch。Ax是一個面向自適應實驗的理解、管理、部署和自動化任務的通用平臺,BoTorch則主要面向貝葉斯優化任務。這兩個框架旨在簡化PyTorch應用中的自適應實驗流程。
  • 迎來PyTorch,告別 Theano,2017 深度學習框架發展大盤點
    GitHub 地址:https://github.com/pytorch/pytorchTensorFlow 遇強敵,引入動態圖機制等多個更新對於 Theano 的退出,有開發者這樣評價,「它開啟了基於符號運算的機器學習框架的先河,然後隨著 TensorFlow 和 PyTorch 的崛起,完成自己的歷史任務。」
  • 福利,PyTorch中文版官方教程來了
    PyTorch 是近年來較為火爆的深度學習框架,然而其中文版官方教程久久不來。近日,一款完整的 PyTorch 中文版官方教程出爐,讀者朋友可以更好的學習了解 PyTorch 的相關細節了。教程作者來自 pytorchchina.com。
  • 基於PyTorch的「Keras」:除了核心邏輯通通都封裝
    機器之心報導參與:思源、一鳴Keras 和 PyTorch 都是對初學者最友好的深度學習框架,它們用起來就像描述架構的簡單語言一樣,告訴框架哪一層該用什麼就行。很多研究者和開發者都在考慮到底哪一個框架更好,但目前兩個框架都非常流行,它們都各有優勢。