Py学习  »  机器学习算法

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

CVer • 4 年前 • 440 次点击  

点击上方“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的代码:


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


CVer学术交流群


扫码添加CVer助手,可申请加入CVer-目标检测交流群、图像分割、目标跟踪、人脸检测&识别、OCR、超分辨率、SLAM、医疗影像、Re-ID和GAN等群。一定要备注:研究方向+地点+学校/公司+昵称(如目标检测+上海+上交+卡卡)

▲长按加群


这么硬的论文精读,麻烦给我一个在在看


▲长按关注我们

麻烦给我一个在看

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/34248
 
440 次点击