深度学习领域PyTorch项目-git源码整理

原文地址: http://www.sohu.com/a/164171974_741733
本文收集了大量基于 PyTorch 实现的代码链接,其中有适用于深度学习新手的“入门指导系列”,也有适用于老司机的论文代码实现,包括 Attention Based CNN、A3C、WGAN等等。所有代码均按照所属技术领域分类,包括机器视觉/图像相关、自然语言处理相关、强化学习相关等等。所以如果你打算入手这风行一世的 PyTorch 技术,那么就快快收藏本文吧!

PyTorch 是什么?

PyTorch即 Torch 的 Python 版本。Torch 是由 Facebook 发布的深度学习框架,因支持动态定义计算图,相比于 Tensorflow 使用起来更为灵活方便,特别适合中小型机器学习项目和深度学习初学者。但因为 Torch 的开发语言是Lua,导致它在国内一直很小众。所以,在千呼万唤下,PyTorch应运而生!PyTorch 继承了 Troch 的灵活特性,又使用广为流行的 Python 作为开发语言,所以一经推出就广受欢迎!

目录:

  1. 入门系列教程
  2. 入门实例
  3. 图像、视觉、CNN相关实现
  4. 对抗生成网络、生成模型、GAN相关实现
  5. 机器翻译、问答系统、NLP相关实现
  6. 先进视觉推理系统
  7. 深度强化学习相关实现
  8. 通用神经网络高级应用

入门系列教程

  1. PyTorch Tutorials
    https://github.com/MorvanZhou/PyTorch-Tutorial.git
    著名的“莫烦”PyTorch系列教程的源码。
  2. Deep Learning with PyTorch: a 60-minute blitz
    http://pytorch.org/tutorials/beginner/deep_learning_60min_blitz.html
    PyTorch官网推荐的由网友提供的60分钟教程,本系列教程的重点在于介绍PyTorch的基本原理,包括自动求导,神经网络,以及误差优化API。
  3. Simple examples to introduce PyTorch
    https://github.com/jcjohnson/pytorch-examples.git
    由网友提供的PyTorch教程,通过一些实例的方式,讲解PyTorch的基本原理。内容涉及Numpy、自动求导、参数优化、权重共享等。

入门实例

  1. Ten minutes pyTorch Tutorial
    https://github.com/SherlockLiao/pytorch-beginner.git
    知乎上“十分钟学习PyTorch“系列教程的源码。
  2. Official PyTorch Examples
    https://github.com/pytorch/examples
    官方提供的实例源码,包括以下内容:
    MNIST Convnets
    Word level Language Modeling using LSTM RNNs
    Training Imagenet Classifiers with Residual Networks
    Generative Adversarial Networks (DCGAN)
    Variational Auto-Encoders
    Superresolution using an efficient sub-pixel convolutional neural network
    Hogwild training of shared ConvNets across multiple processes on MNIST
    Training a CartPole to balance in OpenAI Gym with actor-critic
    Natural Language Inference (SNLI) with GloVe vectors, LSTMs, and torchtext
    Time sequence prediction - create an LSTM to learn Sine waves
  3. PyTorch Tutorial for Deep Learning Researchers
    https://github.com/yunjey/pytorch-tutorial.git
    据说是提供给深度学习科研者们的PyTorch教程←_←。教程中的每个实例的代码都控制在30行左右,简单易懂,内容如下:
    PyTorch Basics
    Linear Regression
    Logistic Regression
    Feedforward Neural Network
    Convolutional Neural Network
    Deep Residual Network
    Recurrent Neural Network
    Bidirectional Recurrent Neural Network
    Language Model (RNN-LM)
    Generative Adversarial Network
    Image Captioning (CNN-RNN)
    Deep Convolutional GAN (DCGAN)
    Variational Auto-Encoder
    Neural Style Transfer
    TensorBoard in PyTorch
  4. PyTorch-playground
    https://github.com/aaron-xichen/pytorch-playground.git
    PyTorch初学者的Playground,在这里针对一下常用的数据集,已经写好了一些模型,所以大家可以直接拿过来玩玩看,目前支持以下数据集的模型。
    mnist, svhn
    cifar10, cifar100
    stl10
    alexnet
    vgg16, vgg16_bn, vgg19, vgg19_bn
    resnet18, resnet34, resnet50, resnet101, resnet152
    squeezenet_v0, squeezenet_v1
    inception_v3

图像、视觉、CNN相关实现

  1. PyTorch-FCN
    https://github.com/wkentaro/pytorch-fcn.git
    FCN(Fully Convolutional Networks implemented) 的PyTorch实现。
  2. Attention Transfer
    https://github.com/szagoruyko/attention-transfer.git
    论文 “Paying More Attention to Attention: Improving the Performance of Convolutional Neural Networks via Attention Transfer” 的PyTorch实现。
  3. Wide ResNet model in PyTorch
    https://github.com/szagoruyko/functional-zoo.git
    一个PyTorch实现的 ImageNet Classification 。
  4. CRNN for image-based sequence recognition
    https://github.com/bgshih/crnn.git
    这个是 Convolutional Recurrent Neural Network (CRNN) 的 PyTorch 实现。CRNN 由一些CNN,RNN和CTC组成,常用于基于图像的序列识别任务,例如场景文本识别和OCR。
  5. Scaling the Scattering Transform: Deep Hybrid Networks
    https://github.com/edouardoyallon/pyscatwave.git
    使用了“scattering network”的CNN实现,特别的构架提升了网络的效果。
  6. Conditional Similarity Networks (CSNs)
    https://github.com/andreasveit/conditional-similarity-networks.git
    《Conditional Similarity Networks》的PyTorch实现。
  7. Multi-style Generative Network for Real-time Transfer
    https://github.com/zhanghang1989/PyTorch-Style-Transfer.git
    MSG-Net 以及 Neural Style 的 PyTorch 实现。
  8. Big batch training
    https://github.com/eladhoffer/bigBatch.git
    《Train longer, generalize better: closing the generalization gap in large batch training of neural networks》的 PyTorch 实现。
  9. CortexNet
    https://github.com/e-lab/pytorch-CortexNet.git
    一个使用视频训练的鲁棒预测深度神经网络。
  10. Neural Message Passing for Quantum Chemistry
    https://github.com/priba/nmp_qc.git
    论文《Neural Message Passing for Quantum Chemistry》的PyTorch实现,好像是讲计算机视觉下的神经信息传递。

对抗生成网络、生成模型、GAN相关实现

  1. Generative Adversarial Networks (GANs) in PyTorch
    https://github.com/devnag/pytorch-generative-adversarial-networks.git
    一个非常简单的由PyTorch实现的对抗生成网络
  2. DCGAN & WGAN with Pytorch
    https://github.com/chenyuntc/pytorch-GAN.git
    由中国网友实现的DCGAN和WGAN,代码很简洁。
  3. Official Code for WGAN
    https://github.com/martinarjovsky/WassersteinGAN.git
    WGAN的官方PyTorch实现。
  4. DiscoGAN in PyTorch
    https://github.com/carpedm20/DiscoGAN-pytorch.git
    《Learning to Discover Cross-Domain Relations with Generative Adversarial Networks》的 PyTorch 实现。
  5. Adversarial Generator-Encoder Network
    https://github.com/DmitryUlyanov/AGE.git
    《Adversarial Generator-Encoder Networks》的 PyTorch 实现。
  6. CycleGAN and pix2pix in PyTorch
    https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix.git
    图到图的翻译,著名的 CycleGAN 以及 pix2pix 的PyTorch 实现。
  7. Weight Normalized GAN
    https://github.com/stormraiser/GAN-weight-norm.git
    《On the Effects of Batch and Weight Normalization in Generative Adversarial Networks》的 PyTorch 实现。

机器翻译、问答系统、NLP相关实现

  1. DeepLearningForNLPInPytorch
    https://github.com/rguthrie3/DeepLearningForNLPInPytorch.git
    一套以 NLP 为主题的 PyTorch 基础教程。本教程使用Ipython Notebook编写,看起来很直观,方便学习。
  2. Practial Pytorch with Topic RNN & NLP
    https://github.com/spro/practical-pytorch
    以 RNN for NLP 为出发点的 PyTorch 基础教程,分为“RNNs for NLP”和“RNNs for timeseries data”两个部分。
  3. PyOpenNMT: Open-Source Neural Machine Translation
    https://github.com/OpenNMT/OpenNMT-py.git
    一套由PyTorch实现的机器翻译系统。(包含,Attention Model)
  4. Deal or No Deal? End-to-End Learning for Negotiation Dialogues
    https://github.com/facebookresearch/end-to-end-negotiator.git
    Facebook AI Research 论文《Deal or No Deal? End-to-End Learning for Negotiation Dialogues》的 PyTorch 实现。
  5. Attention is all you need: A Pytorch Implementation
    https://github.com/jadore801120/attention-is-all-you-need-pytorch.git
    Google Research 著名论文《Attention is all you need》的PyTorch实现。Attention Model(AM)。
  6. Improved Visual Semantic Embeddings
    https://github.com/fartashf/vsepp.git
    一种从图像中检索文字的方法,来自论文:《VSE++: Improved Visual-Semantic Embeddings》。
  7. Reading Wikipedia to Answer Open-Domain Questions
    https://github.com/facebookresearch/DrQA.git
    一个开放领域问答系统DrQA的PyTorch实现。
  8. Structured-Self-Attentive-Sentence-Embedding
    https://github.com/ExplorerFreda/Structured-Self-Attentive-Sentence-Embedding.git
    IBM 与 MILA 发表的《A Structured Self-Attentive Sentence Embedding》的开源实现。

先进视觉推理系统

  1. Visual Question Answering in Pytorch
    https://github.com/Cadene/vqa.pytorch.git
    一个PyTorch实现的优秀视觉推理问答系统,是基于论文《MUTAN: Multimodal Tucker Fusion for Visual Question Answering》实现的。项目中有详细的配置使用方法说明。
  2. Clevr-IEP
    https://github.com/facebookresearch/clevr-iep.git
    Facebook Research 论文《Inferring and Executing Programs for Visual Reasoning》的PyTorch实现,讲的是一个可以基于图片进行关系推理问答的网络。

深度强化学习相关实现

  1. Deep Reinforcement Learning withpytorch & visdom
    https://github.com/onlytailei/pytorch-rl.git
    多种使用PyTorch实现强化学习的方法。
  2. Value Iteration Networks in PyTorch
    https://github.com/onlytailei/Value-Iteration-Networks-PyTorch.git
    Value Iteration Networks (VIN) 的PyTorch实现。
  3. A3C in PyTorch
    https://github.com/onlytailei/A3C-PyTorch.git
    Adavantage async Actor-Critic (A3C) 的PyTorch实现。

通用神经网络高级应用

  1. PyTorch-meta-optimizer
    https://github.com/ikostrikov/pytorch-meta-optimizer.git
    论文《Learning to learn by gradient descent by gradient descent》的PyTorch实现。
  2. OptNet: Differentiable Optimization as a Layer in Neural Networks
    https://github.com/locuslab/optnet.git
    论文《Differentiable Optimization as a Layer in Neural Networks》的PyTorch实现。
  3. Task-based End-to-end Model Learning
    https://github.com/locuslab/e2e-model-learning.git
    论文《Task-based End-to-end Model Learning》的PyTorch实现。
  4. DiracNets
    https://github.com/szagoruyko/diracnets.git
    不使用“Skip-Connections”而搭建特别深的神经网络的方法。
  5. ODIN: Out-of-Distribution Detector for Neural Networks
    https://github.com/ShiyuLiang/odin-pytorch.git
    这是一个能够检测“分布不足”(Out-of-Distribution)样本的方法的PyTorch实现。当“true positive rate”为95%时,该方法将DenseNet(适用于CIFAR-10)的“false positive rate”从34.7%降至4.3%。
  6. Accelerate Neural Net Training by Progressively Freezing Layers
    https://github.com/ajbrock/FreezeOut.git
    一种使用“progressively freezing layers”来加速神经网络训练的方法。
  7. Efficient_densenet_pytorch
    https://github.com/gpleiss/efficient_densenet_pytorch.git
    DenseNets的PyTorch实现,优化以节省GPU内存。
        <link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/template/css/markdown_views-ea0013b516.css">
            </div>
  • 5
    点赞
  • 63
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 如果你想下载pytorch-yolov3源码,这里提供两种途径。第一种是从Github下载源码,这需要先安装Git。在终端输入以下指令: ``` git clone https://github.com/eriklindernoren/PyTorch-YOLOv3.git ``` 这将在当前目录下创建一个名为“PyTorch-YOLOv3”的文件夹,并将源码下载到该文件夹中。 第二种途径是在Github页面上直接下载压缩包。打开链接(https://github.com/eriklindernoren/PyTorch-YOLOv3),点击“Code”按钮,选择“Download ZIP”,将压缩包下载到本地。 下载完毕后,解压源码并进入该文件夹,在终端输入以下指令即可安装所需依赖: ``` pip install -r requirements.txt ``` 接着你可以通过以下指令进行训练或推理: ``` python train.py --data data/customdata/custom.data --batch-size 10 --epochs 100 --img-size 416 --cfg cfg/yolov3-custom.cfg --weights weights/yolov3.weights ``` ``` python detect.py --image-folder data/samples/ --cfg cfg/yolov3-custom.cfg --weights weights/yolov3-custom.pt ``` 其中,--data指定训练集路径,--batch-size指定批量大小,--epochs指定训练次数,--img-size指定图像大小,--cfg指定配置文件路径,--weights指定权重文件路径。对于detect.py,--image-folder指定待预测图片文件夹,--cfg和--weights同上。 ### 回答2: 要下载pytorch-yolov3源码,可以采取以下步骤: 1. 打开互联网浏览器,搜索pytorch-yolov3源码。 2. 在搜索结果中找到合适的代码存储库或网站,如GitHub、GitLab等。 3. 点击该存储库的链接,进入项目主页。 4. 在项目主页上找到代码的下载选项,通常是一个绿色的“Download”按钮或类似的指示。 5. 点击下载按钮,并选择保存代码的位置。可能需要等待一段时间,直到下载完成。 6. 一旦下载完成,解压缩源码文件。可以使用文件解压缩工具,如WinRAR、7-Zip等。 7. 打开解压缩后的文件夹,其中应该包含pytorch-yolov3源码的所有文件和文件夹。 8. 确认您已经安装了适用于pytorch的Python运行时环境。如果没有,请先安装pytorch和其他必要的依赖项。 9. 接下来,您可以使用任何您喜欢的文本编辑器或集成开发环境(IDE)打开源码文件。 10. 您可以阅读、修改和运行源码,或者将其用作您自己项目的基础。 希望以上步骤能帮助您成功下载pytorch-yolov3源码并进行后续的使用和探索。如果有任何问题,请随时提问。 ### 回答3: 要下载PyTorch-YOLOv3源码,可以按照以下步骤进行操作。 首先,打开GitHub网站,并搜索PyTorch-YOLOv3。找到相应的仓库后,点击进入。 在仓库主页上,找到并点击绿色的按钮,上面标有“Code”字样。点击后会弹出一个下拉菜单,在菜单中选择“Download ZIP”。 接下来,等待一段时间,直到ZIP文件下载完成。下载完成后,可以在电脑上的默认下载文件夹中找到这个ZIP文件。 找到ZIP文件后,双击打开它,将会解压缩成一个文件夹。进入解压后的文件夹,你将能够看到PyTorch-YOLOv3的所有源代码文件。 可以使用任何文本编辑器或者Python开发环境来打开和查看这些源代码文件。你可以在源码中学习和理解PyTorch-YOLOv3的实现细节,也可以根据自己的需求进行修改和拓展。 当然,这只是简单介绍如何下载PyTorch-YOLOv3的源码。如果你想要更深入地了解和使用这个项目,建议查阅官方文档或者相关教程,这样能够获得更详细的指导和指示。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值