我是靠谱客的博主 认真黄蜂,最近开发中收集的这篇文章主要介绍Keras学习笔记(layers说明),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1. 常用layers说明

1.1 Dense(维度不变)

全连接层,只对数据最后一个维度进行处理。

1.2 Embedding(维度增加)

词向量嵌入层,对输入文本的每一字扩展为一个向量,相当于对数据添加了一个维度。

1.3 LSTM(维度减少)

lstm只能处理文本维度的数据(不算batch为2维),将这两维的数据进行处理,输出值一维中。但是LSTM(16, return_sequences=True)时,有return_state=True则数据维度不会变。

1.4 lFlatten(维度减至一维)

数据展平,长度为各维(除batch维)相乘。

1.5 TimeDistributed(层封装器)

使用方法:

TimeDistributed(imag_model)(video_input)
# 或者:
TimeDistributed(Conv2D(64, (3, 3)), input_shape=(10, 299, 299, 3))

本来是3维的图片模型,使用TimeDistributed之后可以处理4维视频数据,就是在video_input的每一时间步都使用imag_model来处理。

1.6 Bidirectional(层封装器)

Bidirectional(LSTM(10, return_sequences=True),  input_shape=(5, 10))

2. 卷积层

2.1 Conv1D

1D 卷积层 (例如时序卷积)。

输入尺寸:
3D 张量 ,尺寸为 (batch_size, steps, input_dim)。

输出尺寸:
3D 张量,尺寸为 (batch_size, new_steps, filters)。 由于填充或窗口按步长滑动,steps 值可能已更改。

2.2 Conv2D

2D 卷积层 (例如对图像的空间卷积)。

输入尺寸:
如果 data_format='channels_first', 输入 4D 张量,尺寸为 (samples, channels, rows, cols)。
如果 data_format='channels_last', 输入 4D 张量,尺寸为 (samples, rows, cols, channels)。

输出尺寸:
如果 data_format='channels_first', 输出 4D 张量,尺寸为 (samples, filters, new_rows, new_cols)。
如果 data_format='channels_last', 输出 4D 张量,尺寸为 (samples, new_rows, new_cols, filters)

2.3 Conv2DTranspose

转置卷积层 (有时被成为反卷积)。

输入尺寸:
如果 data_format='channels_first', 输入 4D 张量,尺寸为 (batch, channels, rows, cols)。
如果 data_format='channels_last', 输入 4D 张量,尺寸为 (batch, rows, cols, channels)。

输出尺寸:
如果 data_format='channels_first', 输出 4D 张量,尺寸为 (batch, filters, new_rows, new_cols)。
如果 data_format='channels_last', 输出 4D 张量,尺寸为 (batch, new_rows, new_cols, filters)

2.4 3D 卷积层 (例如立体空间卷积)。

转置卷积层 (有时被成为反卷积)。

输入尺寸:
如果 data_format='channels_first', 输入 5D 张量,尺寸为 (samples, channels, conv_dim1, conv_dim2, conv_dim3)。
如果 data_format='channels_last', 输入 5D 张量,尺寸为 (samples, conv_dim1, conv_dim2, conv_dim3, channels)。

输出尺寸:
如果 data_format='channels_first', 输出 5D 张量,尺寸为 (samples, filters, new_conv_dim1, new_conv_dim2, new_conv_dim3)。
如果 data_format='channels_last', 输出 5D 张量,尺寸为 (samples, new_conv_dim1, new_conv_dim2, new_conv_dim3, filters)。
由于填充的原因,new_conv_dim1, new_conv_dim2 和 new_conv_dim3 值可能已更改。

最后

以上就是认真黄蜂为你收集整理的Keras学习笔记(layers说明)的全部内容,希望文章能够帮你解决Keras学习笔记(layers说明)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(60)

评论列表共有 0 条评论

立即
投稿
返回
顶部