【说站】Python高级架构模式的整理
2023-06-13 09:13:26 时间
Python高级架构模式的整理
1、残差连接是目前常用的组件,解决了大规模深度学习模型梯度消失和瓶颈问题。
通常,在10层以上的模型中追加残差连接可能有帮助。
from keras import layers
x = ...
y = layers.Conv2D(128, 3, activation='relu', padding='same')(x)
y = layers.Conv2D(128, 3, activation='relu', padding='same')(y)
y = layers.MaxPooling2D(2, strides=2)(y)
# 形状不同,要做线性变换:
residual = layers.Conv2D(128, 1, strides=2, padding='same')(x) # 使用 1×1 卷积,将 x 线性下采样为与 y 具有相同的形状
y = layers.add([y, residual])
2、标准化用于使模型看到的不同样本更相似,有助于模型的优化和泛化。
# Conv
conv_model.add(layers.Conv2D(32, 3, activation='relu'))
conv_model.add(layers.BatchNormalization())
# Dense
dense_model.add(layers.Dense(32, activation='relu'))
dense_model.add(layers.BatchNormalization())
3、深度可分离卷积层,在Keras中被称为SeparableConv2D,其功能与普通Conv2D相同。
但是SeparableConv2D比Conv2D轻,训练快,精度高。
from tensorflow.keras.models import Sequential, Model
from tensorflow.keras import layers
height = 64
width = 64
channels = 3
num_classes = 10
model = Sequential()
model.add(layers.SeparableConv2D(32, 3,
activation='relu',
input_shape=(height, width, channels,)))
model.add(layers.SeparableConv2D(64, 3, activation='relu'))
model.add(layers.MaxPooling2D(2))
model.add(layers.SeparableConv2D(64, 3, activation='relu'))
model.add(layers.SeparableConv2D(128, 3, activation='relu'))
model.add(layers.MaxPooling2D(2))
model.add(layers.SeparableConv2D(64, 3, activation='relu'))
model.add(layers.SeparableConv2D(128, 3, activation='relu'))
model.add(layers.GlobalAveragePooling2D())
model.add(layers.Dense(32, activation='relu'))
model.add(layers.Dense(num_classes, activation='softmax'))
model.compile(optimizer='rmsprop', loss='categorical_crossentropy')
以上就是Python高级架构模式的整理,希望对大家有所帮助。
相关文章
- 快速入门Python机器学习(17)
- pycharm自带python环境吗_Python IDE环境之 新版Pycharm安装详细教程[通俗易懂]
- Python多线程通信_python socket多线程
- python实现矩阵的转置_Python实现矩阵转置的方法分析
- python中pygame怎么安_Python中pygame安装方法图文详解
- python进制转换函数-Python中进制转换函数的使用
- python删除首行_Python删除文件第一行
- python hashlib_Python hashlib模块实例使用详解
- python监控网页内容变化_使用Python监控文件内容变化代码实例
- Python元组_python输出元组
- Python:过滤序列的filter()函数
- python生成器详解_Python 生成器
- gyp ERR! stack Error: Can't find Python executable 'python'
- 【说站】python无法识别命令的解决
- 【说站】python解释器的多种使用
- Python 处理Excel总结
- Python 冒泡排序_python
- 数据导入与预处理-第4章-数据获取python读取docx文档
- python绘制条形柱状图_Python柱状图
- pycharm如何调试python程序_Pycharm断点调试Python程序的步骤方法
- python mmap_python mmap对象[通俗易懂]
- 让GAN随音乐律动的Python工具,网友:这是我见过的GAN的最佳用法 | reddit高赞
- 网络工程师学Python-17-日期时间
- Python Web 深度学习实用指南:第三部分
- Linux创建Python文件的步骤(linux新建python文件)
- Python简易操作MySQL入门教程(python操作mysql)
- Linux中如何离开Python环境(linux怎么退出python)