搭积木般构建深度学习网络 —— ResNet50完整代码解析

本文通过Keras解析ResNet50的完整代码,介绍了如何搭建深度残差网络。文章首先引入必要的库,接着提供预训练的ResNet50参数下载,并详细讲解了模型主体结构,包括identity部分和卷积块的实现。
摘要由CSDN通过智能技术生成

这里我们来看一下Keras中ResNet50的代码。关于ResNet的理解可以参阅深度残差网 点击打开链接

首先我们需要载入将会使用到的库文件

import numpy as np
import warnings

from keras.layers import Input
from keras import layers
from keras.layers import Dense
from keras.layers import Activation
from keras.layers import Flatten
from keras.layers import Conv2D
from keras.layers import MaxPooling2D
from keras.layers import GlobalMaxPooling2D
from keras.layers import ZeroPadding2D
from keras.layers import AveragePooling2D
from keras.layers import GlobalAveragePooling2D
from keras.layers import BatchNormalization
from keras.models import Model
from keras.preprocessing import image
import keras.backend as K
from keras.utils import layer_utils
from keras.utils.data_utils import get_file
from keras.applications.imagenet_utils import decode_predictions
from keras.applications.imagenet_utils import preprocess_input
from keras.applications.imagenet_utils import _obtain_input_shape
from keras.engine.topology import get_source_inputs

然后我们指定预训练模型的权重路径。权重可以从网上下载也可以是你自己此前训练并保存的权重,如何保存训练好的模型和权重可以参阅keras常见问题汇总 点击打开链接

这里提供网上预训练的ResNet50参数下载

WEIGHTS_PATH = 'https://github.com/fchollet/deep-learning-models/releases/download/v0.2/resnet50_weights_tf_dim_ordering_tf_kernels.h5'
WEIGHTS_PATH_NO_TOP = 'https://github.com/fchollet/deep-learning-models/releases/download/v0.2/resnet50_weights_tf_dim_ordering_tf_kernels_notop.h5'

在定义模型的主体结构前,如果你没有阅读本文开头关于深度残差网的链接文章,那么我们简单回顾一下它的模型结构。

现在我们可以来定义模型的主体结构部分。

首先我们来定义identity部分。输入变量包括input_tensor:输入张量;kenel_size:默认为3;filters:整数列表;stage:当前阶段标签;block:当前块标签;返回块的输出张量。

def identity_block(input_tensor, kernel_size, filters
  • 1
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值