tf.keras.layers.Conv2D,tf.keras.layers.SimpleRNN()主要参数讲解

本文详细解读了tf.keras.layers.Conv2D中的filter参数、输入输出矩阵格式,以及tf.keras.layers.SimpleRNN的记忆单元。通过实例演示,介绍了如何设置卷积核数量和尺寸,以及RNN中记忆体的作用。
摘要由CSDN通过智能技术生成


例如:

tf.keras.layers.Conv1D(
filters=128,                  # 卷积过滤器的数量,对应输出的维数
kernel_size=50,           # 整数,过滤器的大小,如果为一个整数则宽和高相同
strides=3, 		             # 横向和纵向的步长,如果为一个整数则横向和纵向相同
padding='same', 
activation=tf.nn.relu)
(input_ecg)               

一,tf.keras.layers.Conv2D()主要参数讲解

代码:

from keras.layers import (Input, Reshape)
import tensorflow as tf
input = Input(shape=(600, 600, 3), batch_size=2)
x = tf.keras.layers.Conv2D(64, (1, 1), strides=(1, 1), name='conv1')(input)
print(x)

batch-size中文翻译是批量大小,所谓的批量是指学习样本的数量,因为在训练模型时需要将祥本图像全部读入到内存中,这么做的原因是提升收敛速度。
epochs:迭代的次数。
结果:

KerasTensor(type_spec=TensorSpec(
shape=(2, 600, 600, 64), dtype=tf.float32, name=None), name='conv1/BiasAdd:0', description="created by layer 'conv1'")

1.1 参数filter

神经网络的卷积核(convolutional kernel)
例如输入224x224x3(rgb三通道),要得到输出是32位深度,选取卷积核尺寸为5x5。那么我们需要32个卷积核**(不同的卷积核的矩阵参数不同)**,每一个的尺寸为5x5x3(最后的3就是原图的rgb位深3),每一个卷积核的每一层是5x5(共3层)分别与原图的每层224x224卷积,然后将得到的三张新图叠加(算术求和),变成一张新的feature map。 每一个卷积核都这样操作,就可以得到32张新的feature map了。 也就是说:不管输入图像的深度为多少,经过一个卷积核(filter),最后都通过下面的公式变成一个深度为1的特征图。不同的filter可以卷积得到不同的特征,也就是得到不同的feature map。。。

在这里插入图片描述

1.2 输入,输出矩阵格式

输入矩阵格式:四个维度,依次为:样本数、图像高度、图像宽度、图像通道数
输出矩阵格式:与输出矩阵的维度顺序和含义相同,但是后三个维度(图像高度、图像宽度、图像通道数)的尺寸发生变化。
权重矩阵(卷积核)格式:同样是四个维度,但维度的含义与上面两者都不同,为:卷积核高度、卷积核宽度、输入通道数、输出通道数(卷积核个数)
输入矩阵、权重矩阵、输出矩阵这三者之间的相互决定关系
      卷积核的输入通道数(in depth)由输入矩阵的通道数所决定。
      输出矩阵的通道数(out depth)由卷积核的输出通道数所决定。
      输出矩阵的高度和宽度(height, width)这两个维度的尺寸由输入矩阵、卷积核、扫描方式所共同决定。

二,tf.keras.layers.SimpleRNN()主要参数:

2.1记忆体

import tensorflow as tf
import keras
from keras import Sequential
from keras.layers import SimpleRNN
model=Sequential()
model.add(SimpleRNN(3,input_shape=(None,4),activation='relu'))
model.summary()
U=model.get_weights()[0] #输入层和循环层之间的权重,维度为(5*4)
W=model.get_weights()[1]  #循环层与循环层之间的权重,维度为(3*3)
bias=model.get_weights()[2] #隐藏层的偏置项,3个

记忆体的个数就是:【-0.9,0.2,0.2】(个人看法)
在这里插入图片描述
每个循环核有多个记忆体,记忆体内存储着每个时刻的状态信息ℎ𝑡
我们可以设定记忆体的个数从而改变记忆容量,当记忆体个数被指定、输入,输出维度被指定,周围这些待训练参数的维度也就被限定了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值