前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >重磅!深度学习网络模型大全来了(基于TensorFlow和PyTorch的开源复现)

重磅!深度学习网络模型大全来了(基于TensorFlow和PyTorch的开源复现)

作者头像
Amusi
发布2019-06-14 14:54:31
1.6K0
发布2019-06-14 14:54:31
举报
文章被收录于专栏:CVer

前戏

端午节快乐!今天 CVer 公众号就不更新重磅的最新论文了,大家还是放松一下,开心过节吧!(透露一下,CVer这边攒了好几篇目标检测、分割等论文,后面会分享给大家)

Amusi 在几个小时前,逛github的时候发现了一个名为:deeplearning-models 的项目。一开始不以为然,后来又几个小时后喵了一眼,居然这么多star,然后我就看了一下内容,真的很赞!迅速Mark,分享给大家~

https://github.com/rasbt/deeplearning-models

在介绍 deeplearning-models 项目之前,很必要介绍一下作者,因为真的太强了。

很难想象一个MLer:Sebastian Raschka,在github上居然有 9.7k Followers,这是 Amusi见到AI 领域 Followers第二的巨佬。

PS:如果本文点击 "在看" 的人数超过 500,那么 Amusi 会单独做一期 AI 领域 Followers第一的巨佬介绍~

Sebastian Raschka

Sebastian Raschka 是威斯康星大学麦迪逊分校的统计学助理教授,专注于深度学习和机器学习研究。

另外,据Amusi了解到,Sebastian Raschka 还是 2015年出版的《Python Machine Learning》原作者。

deeplearning-models

不到12小时,近1000 star,来看看这个项目到底有啥干货

https://github.com/rasbt/deeplearning-models

在Jupyter Notebooks中,基于TensorFlow和PyTorch实现的各种深度学习架构,模型和技巧的集合。

很明显,该项目中的所有网络模型都是用TensorFlow和PyTorch复现的,有的甚至给出了double 复现。

主要内容涵盖:

  • 传统机器学习
  • 多层感知机
  • 卷积神经网络(CNNs)
  • 度量学习
  • Autoencoders
  • GANs
  • RNNs
  • 训练技巧
  • PyTorch
  • TensorFlow

PS:巨佬的知识面是真的广啊~

传统机器学习

传统机器学习中的 Perception、Logistic Regression和Softmax Regression都提供了TF、PyTorch版本的代码。

打开 Perceptron的PyTorch代码,可见是基于PyTorch 1.0.0的版本,代码还添加详细的注释,作者真的很细心。

卷积神经网络

CNN 中介绍了基础的 CNN 原型网络、AlexNet、VGG、ResNet 还有很经典的Network in Network。

打开基于PyTorch的 ResNet 代码,里面居然有1193行信息(不全是代码),涵盖论文信息、数据集、论文重点内容简介、代码和注释。

简单粗暴看一下 ConvNet的代码:

代码语言:javascript
复制
class ConvNet(torch.nn.Module):

    def __init__(self, num_classes):
        super(ConvNet, self).__init__()
        
        #########################
        ### 1st residual block
        #########################
        # 28x28x1 => 28x28x4
        self.conv_1 = torch.nn.Conv2d(in_channels=1,
                                      out_channels=4,
                                      kernel_size=(1, 1),
                                      stride=(1, 1),
                                      padding=0)
        self.conv_1_bn = torch.nn.BatchNorm2d(4)
                                    
        # 28x28x4 => 28x28x1
        self.conv_2 = torch.nn.Conv2d(in_channels=4,
                                      out_channels=1,
                                      kernel_size=(3, 3),
                                      stride=(1, 1),
                                      padding=1)   
        self.conv_2_bn = torch.nn.BatchNorm2d(1)
        
        
        #########################
        ### 2nd residual block
        #########################
        # 28x28x1 => 28x28x4
        self.conv_3 = torch.nn.Conv2d(in_channels=1,
                                      out_channels=4,
                                      kernel_size=(1, 1),
                                      stride=(1, 1),
                                      padding=0)
        self.conv_3_bn = torch.nn.BatchNorm2d(4)
                                    
        # 28x28x4 => 28x28x1
        self.conv_4 = torch.nn.Conv2d(in_channels=4,
                                      out_channels=1,
                                      kernel_size=(3, 3),
                                      stride=(1, 1),
                                      padding=1)   
        self.conv_4_bn = torch.nn.BatchNorm2d(1)

        #########################
        ### Fully connected
        #########################        
        self.linear_1 = torch.nn.Linear(28*28*1, num_classes)

Autoencoders

自编码器(Autoencoder)内容也很多,具体如下:

GANS/RNNs/Tips

现在因为才上传不到12个小时,所以有些方向的内容不是很全,但基础内容都已经涵盖,下面看一下GANs、RNNs等内容

PyTorch

涵盖 PyTorch 相关的训练技巧、预处理、数据集加载工具、并行计算等内容

TensorFlow

涵盖 TensorFlow 数据集加载工具、训练和预处理技巧等内容

侃侃

不能说 deeplearning-models内容有多深度,但广度是有的,而且能面向大众的始终是简单易懂的。该项目的意义我觉得有三点:

1. 很适合刚入门的学生

2. 适合只专注一个领域,且想学习其它方向的学生

3. 锻炼TensorFlow和PyTorch的Coding能力和技巧

如果本文的点 "在看" 的人数超过 500,那么 Amusi 会单独做一期 AI 领域 Followers第一的巨佬介绍

https://github.com/rasbt/deeplearning-models

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-06-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 CVer 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • deeplearning-models
  • 侃侃
相关产品与服务
GPU 云服务器
GPU 云服务器(Cloud GPU Service,GPU)是提供 GPU 算力的弹性计算服务,具有超强的并行计算能力,作为 IaaS 层的尖兵利器,服务于生成式AI,自动驾驶,深度学习训练、科学计算、图形图像处理、视频编解码等场景。腾讯云随时提供触手可得的算力,有效缓解您的计算压力,提升业务效率与竞争力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档