當前位置:
首頁 > 科技 > 庫、教程、論文實現,這是一份超全的PyTorch資源列表(Github 2.2K星)

庫、教程、論文實現,這是一份超全的PyTorch資源列表(Github 2.2K星)


選自 Github


作者:

bharathgs


機器之心編譯





機器之心發現了一份極棒的 PyTorch 資源列表,該列表包含了與 PyTorch 相關的眾多庫、教程與示例、論文實現以及其他資源。在本文中,機器之心對各部分資源進行了介紹,感興趣的同學可收藏、查用。




項目地址:https://github.com/bharathgs/Awesome-pytorch-list




列表結構:






  • NLP 與語音處理



  • 計算機視覺



  • 概率/生成庫



  • 其他庫



  • 教程與示例



  • 論文實現



  • PyTorch 其他項目




自然語言處理和語音處理




該部分項目涉及語音識別、多說話人語音處理、機器翻譯、共指消解、情感分類、詞嵌入/表徵、語音生成、文本語音轉換、視覺問答等任務,其中有一些是具體論文的 PyTorch 復現,此外還包括一些任務更廣泛的庫、工具集、框架。




這些項目有很多是官方的實現,其中 FAIR 居多,一般會有系統的使用說明,包含安裝、載入、訓練、測試、演示等多方面的詳細解釋。例如哈佛大學的 OpenNMT 項目,它是非常流行的神經機器翻譯工具包。從導入自定義數據集、載入詞嵌入向量到完成神經機器翻譯模型的訓練,OpenNMT 能支持整個流程,並且官方也一直在更新。







1.pytorch text:Torch 文本相關的內容。


項目地址:https://github.com/pytorch/text




2.pytorch-seq2seq:在 PyTorch 中實現序列到序列(seq2seq)模型的框架。


項目地址:https://github.com/IBM/pytorch-seq2seq




3.anuvada:PyTorch 中實現的 NLP 的可解釋模型。


項目地址:https://github.com/Sandeep42/anuvada




4.audio:PyTorch 的簡單音頻 I/O。


項目地址:https://github.com/pytorch/audio




5.loop:用於生成多個說話人語音的方法。


項目地址:https://github.com/facebookresearch/loop




6.fairseq-py:用 Python 寫的 Facebook AI 研究院提出的序列到序列工具集。


項目地址:https://github.com/facebookresearch/fairseq-py




7.speech:PyTorch ASR 實現。


項目地址:https://github.com/awni/speech




8.OpenNMT-py:開源 PyTorch 神經機器翻譯。


項目地址:https://github.com/OpenNMT/OpenNMT-py




9.neuralcoref:基於神經網路和 spaCy 的當前最佳共指消解。


項目地址:https://github.com/huggingface/neuralcoref




10.sentiment-discovery:用於魯棒情感分類的大規模無監督語言建模。


項目地址:https://github.com/NVIDIA/sentiment-discovery




11.MUSE:用於多語言無監督/監督詞向量的庫。


項目地址:https://github.com/facebookresearch/MUSE




12.nmtpytorch:PyTorch 神經機器翻譯框架。


項目地址:https://github.com/lium-lst/nmtpytorch




13.pytorch-wavenet:快速語音生成 WaveNet 的實現。


項目地址:https://github.com/vincentherrmann/pytorch-wavenet




14.Tacotron-pytorch:端到端語音合成的 PyTorch 實現。


項目地址:https://github.com/soobinseo/Tacotron-pytorch




15.AllenNLP:開源 NLP 研究庫,基於 PyTorch。


項目地址:https://github.com/allenai/allennlp




16.PyTorch_NLP:用於 PyTorch pytorchnlp.readthedocs.io 的文本實用程序和數據集。


項目地址:https://github.com/PetrochukM/PyTorch-NLP




17.quick_nlp:基於 FastAI 的 PyTorch NLP 庫。


項目地址:https://github.com/outcastofmusic/quick-nlp




18.TTS:Text2Speech 的深度學習實現。


項目地址:https://github.com/mozilla/TTS




19.LASER:語言無關的句子表徵的 PyTorch 實現。


項目地址:https://github.com/facebookresearch/LASER




20.pyannote-audio:說話人追蹤的神經構建塊:語音激活檢測、說話人變化檢測、說話人嵌入。


項目地址:https://github.com/pyannote/pyannote-audio




計算機視覺




該部分項目涉及神經風格遷移、圖像分類、人臉對齊、語義分割、RoI 計算、圖像增強等任務,還有一些特殊的 CNN 架構,例如第 5、6 和 13 個項目,以及一些預訓練模型的集合。其中第 4 個項目可以用於將你的定製圖像分類模型和當前最佳模型進行對比,快速知道你的項目到底有沒有希望,作者戲稱該項目為「Project Killer」。




1.pytorch vision:計算機視覺領域的數據集、轉換和模型。


項目地址:https://github.com/pytorch/vision




2.pt-styletransfer:PyTorch 實現的神經分割遷移,作為一個類。


項目地址:https://github.com/tymokvo/pt-styletransfer




3.OpenFacePyTorch:使用 OpenFace"s nn4.small2.v1.t7 模型的 PyTorch 模塊。


項目地址:https://github.com/thnkim/OpenFacePytorch




4.img_classification_pk_pytorch:快速對比你的圖像分類模型和當前最佳模型(例如 DenseNet、ResNet,等)。


項目地址:https://github.com/felixgwu/img_classification_pk_pytorch




5.SparseConvNet:子流形稀疏卷積網路。


項目地址:https://github.com/facebookresearch/SparseConvNet




6.Convolution_LSTM_pytorch:多層卷積 LSTM 模塊。


項目地址:https://github.com/automan000/Convolution_LSTM_pytorch




7.face-alignment:基於 PyTorch 的 2D 和 3D 人臉對齊庫。


項目地址:https://github.com/1adrianb/face-alignment




8.pytorch-semantic-segmentation:語義分割的 PyTorch 實現。


項目地址:https://github.com/ZijunDeng/pytorch-semantic-segmentation




9.RoIAlign.pytorch:這是一個 PyTorch 版本的 RoIAlign。這個實現基於 crop_and_resize,並支持 CPU 和 GPU 上的前向傳播、反向傳播。


項目地址:https://github.com/longcw/RoIAlign.pytorch




10.pytorch-cnn-finetune:PyTorch 實現的微調預訓練卷積神經網路。


項目地址:https://github.com/creafz/pytorch-cnn-finetune




11.detectorch:PyTorch 實現的 detectron 圖像分割模型。


項目地址:https://github.com/ignacio-rocco/detectorch




12.Augmentor:Python 圖像增強庫。


項目地址:https://github.com/mdbloice/Augmentor




13.s2cnn:這個庫包含一個用於球面信號(例如,全向攝像機、地球信號等)的 SO(3) 等變 CNN 的 PyTorch 實現。


項目地址:https://github.com/jonas-koehler/s2cnn




概率/生成庫







該部分項目主要涉及概率編程、統計推理和生成模型。




1.ptstat:PyTorch 上的概率編程和統計推理。


項目地址:https://github.com/stepelu/ptstat




2.pyro:基於 PyTorch 和 Python 的深度全局概率編程。


項目地址:https://github.com/uber/pyro




3.probtorch:Probabilistic Torch 是深度生成模型的 PyTorch 擴展庫。


項目地址:https://github.com/probtorch/probtorch




4.paysage:Python/PyTorch 中的無監督學習和生成模型。


項目地址:https://github.com/drckf/paysage




5.pyvarinf:Python 包,方便在 PyTorch 中利用變分推理執行貝葉斯深度學習方法。


項目地址:https://github.com/ctallec/pyvarinf




6.pyprob:一個基於 PyTorch 的概率編程和推理編譯庫。


項目地址:https://github.com/probprog/pyprob




7.mia:對機器學習模型運行成員推理攻擊的庫。


項目地址:https://github.com/spring-epfl/mia




教程和示例




這一部分包含了很多 PyTorch 教程,它不僅有官方教程與示例,同時還包含很多開發者在學習過程的經驗與理解。從難易程度上看,它們首先介紹了如何入門 PyTorch 這一個框架,並使用 MNIST 等簡單數據集展示了一般搭建模型的方法,這些都非常適合初學者入門機器學習。其次會有一些練習題及示例腳本,這些資源可以幫助更好地理解機器學習與 PyTorch 框架。最後就是一些具體任務與模型架構的實現,例如基於 ImageNet 實現 Inception_v3 或 ResNet_50 等。




這裡值得注意的是 PyTorch 官方教程,基本上初學者只要跟著官方教程走就行了,它們非常豐富與具體。PyTorch 的教程確實很完美,它不僅從入門基礎、計算機視覺、文本處理、生成模型和產品部署等方面全面覆蓋了 DL 的使用範圍,同時每一個教程不僅解釋了模型原理,還注釋了大多數的代碼。小編感覺相對於 TensorFlow 的教程解釋(需要大量查找文檔),PyTorch 更加具體。如下展示了 PyTorch 的入門主題:







1.Practical Pytorch:解釋不同 RNN 模型的教程。


地址:https://github.com/spro/practical-pytorch




2.DeepLearningForNLPInPytorch:基於 IPython Notebook 的深度學習教程,關注於自然語言處理。


地址:https://github.com/rguthrie3/DeepLearningForNLPInPytorch




3.pytorch-tutorial:為研究者準備的 PyTorch 深度學習教程。


地址:https://github.com/yunjey/pytorch-tutorial




4.pytorch-exercises:PyTorch 練習題集。


地址:https://github.com/keon/pytorch-exercises




5.pytorch tutorials:各種官方 PyTorch 教程。


地址:https://github.com/pytorch/tutorials




6.pytorch examples:通過示例展示如何使用 PyTorch 的項目。


地址:https://github.com/pytorch/examples




7.pytorch practice:一些 PyTorch 腳本示例。


地址:https://github.com/napsternxg/pytorch-practice




8.pytorch mini tutorials:根據 Alec Radford"s Theano 教程改編的極簡教程。


地址:https://github.com/vinhkhuc/PyTorch-Mini-Tutorials




9.pytorch text classification:基於文本分類任務的簡單 CNN 實現。


地址:https://github.com/xiayandi/Pytorch_text_classification




10.cats vs dogs:用於 kaggle 競賽 Dogs vs. Cats Redux 的模型,該解決方案目前總排名第 27。


地址:https://github.com/desimone/pytorch-cat-vs-dogs




11.convnet:在各種數據集上(ImageNet、Cifar10、 Cifar100 和 MNIST)使用深度卷積神經網路的完整示例。


地址:https://github.com/eladhoffer/convNet.pytorch




12.pytorch-generative-adversarial-networks:簡單的生成對抗網路實現。


地址:https://github.com/mailmahee/pytorch-generative-adversarial-networks




13.T-SNE in pytorch:基於 PyTorch 的 t 分布隨機近鄰嵌入(t-SNE)實現。


地址:https://github.com/cemoody/topicsne




14.AAE_pytorch:對抗自編碼器。


地址:https://github.com/fducau/AAE_pytorch




15.Kind_PyTorch_Tutorial:很容易的 PyTorch 入門教程。


地址:https://github.com/GunhoChoi/Kind_PyTorch_Tutorial




16.pytorch-poetry-gen:實現字元級的 RNN 模型。


地址:https://github.com/justdark/pytorch-poetry-gen




17.pytorch-REINFORCE:REINFORCE 的 PyTorch 實現,該項目支持 OpenAI gym 中的連續型和離散型環境。


地址:https://github.com/JamesChuanggg/pytorch-REINFORCE




18.PyTorch-Tutorial:快速上手搭建神經網路。


地址:https://github.com/MorvanZhou/PyTorch-Tutorial




19.pytorch-intro:展示如何執行卷積神經網路和循環神經網路的一些腳本。


地址:https://github.com/joansj/pytorch-intro




論文實現




最近 Frankensteinian 等開發者爬取並統計了 ICLR 2019 提交論文提及不同框架的論文數量,其中 TensorFlow 的論文數量從 2018 年的 228 篇略微提升到了 266 篇,Keras 從 42 升到 56,但 Pytorch 的數量從 87 篇提升到了 252 篇。從這裡可以看出來 PyTorch 在研究中有非常廣泛的應用,很多研究論文都採用 PyTorch 作為首選框架。







因為動態計算圖的便利,很多原本使用 TensorFlow 實現的論文都有 PyTorch 復現版,例如下面的高速公路網路和多人實時姿態估計(CVPR"17)等。而更多的是本來就由 PyTorch 實現的論文,包括 DiscoGAN、AnimeGAN 和 TCN 等。這一部分收錄了 273 篇論文實現,但是限於長度,我們只展示了前 20 個項目,讀者可查閱原項目了解更多。




1.google_evolution :該項目實現了 Esteban Real 等人完成的圖像分類器大規模演化結果。


地址:https://github.com/neuralix/google_evolution




2.pyscatwave:通過 CuPy/PyTorch 實現的 Fast Scattering Transform。


地址:https://github.com/edouardoyallon/pyscatwave




3.scalingscattering:論文《Scaling The Scattering Transform : Deep Hybrid Networks》的實現


地址:https://github.com/edouardoyallon/scalingscattering




4.deep-auto-punctuation:PyTorch 實現字元級的自動標點符號模型。


地址:https://github.com/episodeyang/deep-auto-punctuation




5.Realtime_Multi-Person_Pose_Estimation :GitHub 項目 Realtime_Multi-Person_Pose_Estimation 的 PyTorch 版。


地址:https://github.com/tensorboy/pytorch_Realtime_Multi-Person_Pose_Estimation




6.PyTorch-value-iteration-networks:價值迭代網路(NIPS"16 論文)的 PyTorch 實現。


地址:https://github.com/onlytailei/PyTorch-value-iteration-networks




7.pytorch_Highway:基於 PyTorch 實現的高速公路網路。


地址:https://github.com/analvikingur/pytorch_Highway




8.pytorch_NEG_loss : 實現 NEG 損失函數。


地址:https://github.com/analvikingur/pytorch_NEG_loss




9.pytorch_RVAE:實現生成序列數據的循環變分自編碼器(Recurrent Variational Autoencoder)。


地址:https://github.com/analvikingur/pytorch_RVAE




10.pytorch_TDNN :時延神經網路(Time Delayed NN)的實現。


地址:https://github.com/analvikingur/pytorch_TDNN




11.eve.pytorch:Eve Optimizer 的實現,該最優化器在論文《proposed in Imploving Stochastic Gradient Descent with Feedback》中提出。


地址:https://github.com/moskomule/eve.pytorch




12.e2e-model-learning:基於任務的端到端模型學習。


地址:https://github.com/locuslab/e2e-model-learning




13.pix2pix-pytorch:使用條件對抗網路實現圖像到圖像的轉換。


地址:https://github.com/mrzhu-cool/pix2pix-pytorch




14.Single Shot MultiBox Detector :單次多框檢測器的 PyTorch 實現。


地址:https://github.com/amdegroot/ssd.pytorch




15.DiscoGAN:論文《Learning to Discover Cross-Domain Relations with Generative Adversarial Networks》的 PyTorch 實現


地址:https://github.com/carpedm20/DiscoGAN-pytorch




16.official DiscoGAN implementation:論文《Learning to Discover Cross-Domain Relations with Generative Adversarial Networks》的官方實現。


地址:https://github.com/SKTBrain/DiscoGAN




17.pytorch-es:進化策略的 PyTorch 實現。


地址:https://github.com/atgambardella/pytorch-es




18.piwise : 基於 VOC2012 數據集實現逐像素的分割。


地址:https://github.com/bodokaiser/piwise




19.pytorch-dqn:實現深度 Q 學習。


地址:https://github.com/transedward/pytorch-dqn




20.neuraltalk2-pytorch:實現圖像描述模型,其中 CNN 根據任務可微調。


地址:https://github.com/ruotianluo/neuraltalk2.pytorch




PyTorch 其它項目




這一部分主要介紹了 PyTorch 其它各種資源,包括教程論文列表、個人的學習經驗與實踐、好用的 PyTorch 插件等。這一部分相對於其它部分比較散,但是有一些項目還是非常有意思的,例如在 PyTorch 項目模板中,其介紹了構建 PyTorch 項目一般所採用的結構,包括文件夾及文件結構、各文件的編寫規範和示例等。這個項目一直在更新,下圖展示了構建 PyTorch 項目的一般文件結構:







1.the-incredible-pytorch:包含 PyTorch 各種教程、論文、項目和社區的項目。


地址:https://github.com/ritchieng/the-incredible-pytorch




2.generative models:收集 TensorFlow、Keras 和 PyTorch 的生成模型,即 GAN 和 VAE。


地址:

https://github.com/wiseodd/generative-models)




3.pytorch vs tensorflow:reddit 上 PyTorch 與 TensorFlow 對比。


地址:https://github.com/wiseodd/generative-models




4.Pytorch discussion forum:PyTorch 論壇。


地址:https://discuss.pytorch.org/




5.pytorch notebook: docker-stack :類似於 Jupyter Notebook 的項目。


地址:https://hub.docker.com/r/escong/pytorch-notebook/




6.drawlikebobross:使用神經網路做圖象風格遷移。


地址:https://github.com/kendricktan/drawlikebobross




7.pytorch-tvmisc:PyTorch 個人實現項目。


地址:https://github.com/t-vi/pytorch-tvmisc




8.pytorch-a3c-mujoco:在 Mujoco gym 環境下實現 A3C 項目。


地址:https://github.com/andrewliao11/pytorch-a3c-mujoco




9.pytorch_chatbot:使用 PyTorch 實現 ChatBot。


地址:https://github.com/jinfagang/pytorch_chatbot




10.sketchnet:輸入圖像並生成處理源碼,其可以再生成改圖像。


地址:https://github.com/jtoy/sketchnet




11.Deep-Learning-Boot-Camp:非贏利公司,5 天的深度學習訓練營。


地址:https://github.com/QuantScientist/Deep-Learning-Boot-Camp




12.Amazon_Forest_Computer_Vision:使用 PyTorch 或 Keras 的衛星圖像標註代碼,它有非常多 PyTorch 技巧。


地址:https://github.com/mratsim/Amazon_Forest_Computer_Vision




13.AlphaZero_Gomoku:用於五子棋的 AlphaZero 演算法實現。


地址:https://github.com/junxiaosong/AlphaZero_Gomoku




14.pytorch-cv:目標檢測、語義分割和姿態識別的實現項目。


地址:https://github.com/youansheng/pytorch-cv




15.deep-person-reid:深度人臉再識別 PyTorch 實現項目。


地址:https://github.com/KaiyangZhou/deep-person-reid




16.pytorch-template:PyTorch 項目模板。


地址:https://github.com/victoresque/pytorch-template




17.Deep Learning With Pytorch TextBook:使用 PyTorch 構建基於文本或視覺方面的神經網路指南。


地址:https://www.packtpub.com/big-data-and-business-intelligence/deep-learning-pytorch




18.compare-tensorflow-pytorch:對比使用 TensorFlow 寫的模型和用 PyTorch 寫的模型。


地址:https://github.com/jalola/compare-tensorflow-pytorch






本文為機器之心編譯,

轉載請聯繫本公眾號獲得授權



?------------------------------------------------


加入機器之心(全職記者 / 實習生):hr@jiqizhixin.com


投稿或尋求報道:

content

@jiqizhixin.com


廣告 & 商務合作:bd@jiqizhixin.com

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 機器之心 的精彩文章:

如何幫助大家找工作?領英利用深度表徵學習提升人才搜索和推薦系統
資源 | 正則表達式的功法大全,做NLP再也不怕搞不定字元串了

TAG:機器之心 |