keras.layers.Conv2D() 函数参数

2024-01-27 15:48

本文主要是介绍keras.layers.Conv2D() 函数参数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

tf.keras.layers.Conv2D() 函数

Conv2D (二维卷积层)

这一层创建了一个卷积核,它与这一层的输入卷积以产生一个输出张量

当使用此层作为模型的第一层时,提供关键字参数 input_shape (整数元组,不包括样本轴,不需要写batch_size)

def __init__(self, filters,kernel_size,strides=(1, 1),padding='valid',data_format=None,dilation_rate=(1, 1),activation=None,use_bias=True,kernel_initializer='glorot_uniform',bias_initializer='zeros',kernel_regularizer=None,bias_regularizer=None,activity_regularizer=None,kernel_constraint=None,bias_constraint=None,**kwargs):

参数

filters

int 类型,表示卷积核个数,filters 影响的是最后输入结果的的第四个维度的变化

import tensorflow as tf
from tensorflow.keras.layers import Conv2Dinput_shape = (4, 600, 600, 3)
input = tf.random.normal(input_shape)
x = keras.layers.Conv2D(64, (1, 1), strides=(1, 1), name='conv1')(input)
print(x.shape)OUTPUT:
(4, 600, 600, 64)

kernel_size

表示卷积核的大小,如果是方阵可以直接写成一个数,影响的是输出结果中间两个数据的维度

x = Conv2D(64, (2, 2), strides=(1, 1), name='conv1')(input)
#or Conv2D(64, 2, strides=(1, 1), name='conv1')(input)
print(x.shape)OUTPUT:
(4, 599, 599, 64)

strides

tuple (int, int) 步长,同样会影响输出的中间两个维度,值得注意的是,括号里的数据可以不一致,分别控制横坐标和纵坐标

x = Conv2D(64, 1, strides=(2, 2), name='conv1')(input)
print(x.shape)OUTPUT:
(4, 300, 300, 64)

padding

是否对周围进行填充,same 即使通过 kernel_size 缩小了维度,但是四周会填充 0,保持原先的维度;valid 表示存储不为 0 的有效信息

a = Conv2D(64, 1, strides=(2, 2), padding="same" , name='conv1')(input)
b = Conv2D(64, 3, strides=(2, 2), padding="same" , name='conv1')(input)
c = Conv2D(64, 3, strides=(1, 1), padding="same" , name='conv1')(input)
d = Conv2D(64, 3, strides=(1, 1), padding="valid", name='conv1')(input)
print(a.shape, b.shape, c.shape, d.shape)OUTPUT:
(4, 300, 300, 64)
(4, 300, 300, 64)
(4, 600, 600, 64)
(4, 598, 598, 64)

activation

激活函数,如果 activation 不是 None,则它会应用于输出


use_bias

boolean,表示是否使用偏置量,如果 use_bias 为真,则创建一个偏置项并添加到输出中


data_format

用于规定 input_shape 的格式

如果不填写,默认是 channels_last,否则可以填写 channels_first。前者的会把 input_shape 这个三元组给识别成 (batch_size, height, width, channels),后者则会识别成 (batch_size, channels, height, width) 不过样本轴 (batch_size) 不需要自己填写


dilation_rate

int, tuple(int, int), list[int, int],指定用于扩展卷积的扩展率。可以是单个整数,为所有空间维度指定相同的值。该参数定义了卷积核处理数据时各值的间距。

在相同的计算条件下,该参数提供了更大的感受野。该参数经常用在实时图像分割中。当网络层需要较大的感受野,但计算资源有限而无法提高卷积核数量或大小时,可以考虑使用。



返回值

返回一个四维的张量

第一个数是 batch 的大小,也就是有几组数据;后三个数表示一个张量的大小





同步更新于:SP-FA 的博客


这篇关于keras.layers.Conv2D() 函数参数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/650716

相关文章

【机器人工具箱Robotics Toolbox开发笔记(二十)】机器人工具箱SerialLink I类函数参数说明

机器人工具箱中的SerialLink表示串联机器人型机器人的具体类。该类使用D-H参数描述,每个关节一组。SerialLink I类包含的参数如表1所示。 表1 SerialLink I类参数 参  数 意    义 参  数 意    义 plot 显示机器人的图形表示 jacobn 工具坐标系中的雅可比矩阵 plot3D 显示机器人3D图形模型 Jacob_dot

OpenXR Monado compositor处理应用layers(cheduled->delivered)

OpenXR Monado compositor处理应用的layer,scheduled->delivered  @src/xrt/targets/common/target_instance.ct_instance_create_system@src/xrt/compositor/main/comp_compositor.ccomp_main_create_system_composito

Kaggle刷比赛的利器,LR,LGBM,XGBoost,Keras

刷比赛利器,感谢分享的人。 摘要 最近打各种比赛,在这里分享一些General Model,稍微改改就能用的 环境: python 3.5.2 XGBoost调参大全: http://blog.csdn.net/han_xiaoyang/article/details/52665396 XGBoost 官方API: http://xgboost.readthedocs.io/en

深度学习 之 keras

注意使用keras 首先压迫安装theano 或者tensorflow,keras默认使用tensorflow   首先创建一个moel from keras.models import Sequentialmodel = Sequential()   然后添加神经层及激活函数 from keras.layers import Dense, Activationmodel.ad

图像识别之目标检测keras-tensorflow 实现yolo3

关于windows gpu环境请参考https://liuhuiyao.blog.csdn.net/article/details/109271898  keras-yolo3 地址  https://github.com/qqwweee/keras-yolo3 本人真实实现的情况是: windows 10 tensorboard             1.8.0 tensorflow-

windows 机器学习 tensorflow-gpu +keras gpu环境的 相关驱动安装-CUDA,cuDNN。

本人真实实现的情况是: windows 10 tensorboard             1.8.0 tensorflow-gpu          1.8.0 pip install -i https://pypi.mirrors.ustc.edu.cn/simple/ tensorflow-gpu==1.8.0 Keras                   2.2.4 pip

C++---函数参数的内存开辟

参数类型: 形参:函数名后括号中的变量; 实参:真实传给函数的参数,可以是:常量、变量、表达式、函数等。无论实参是何种类型,调用时,它们必须有确定的值,以便把这些值传送给形参。 调用前: 形参:由于函数没有调用,编译系统没有给函数的形参分配实际内存空间,因此没有实际的参数值。 调用时: 形参:实际调用时,系统会给函数的各形参分配存储空间,同时将实参的值依次传递给各形参,调用结束后,系统

Tensorflow 中train和test的batchsize不同时, 如何设置: tf.nn.conv2d_transpose

大家可能都知道, 在tensorflow中, 如果想实现测试时的batchsize大小随意设置, 那么在训练时, 输入的placeholder的shape应该设置为[None, H, W, C]. 具体代码如下所示: # Placeholders for input data and the targetsx_input = tf.placeholder(dtype=tf.float32, s

prometheus grafana sql 常用函数参数

1. sum(..) by(instance) (increase()) 以instance分组然后相加        2. sum(..) without(instance) 去除instance,以剩下的标签分组然后相加   3. increase(..[1m])  一分钟内的值    4. rate(..[1m])  一分钟内的值除以60秒,如果是2m, 就除以120

C++入门基础知识47——【关于C++函数】之函数参数及参数默认值

成长路上不孤单😊【14后,C++爱好者,持续分享所学,如有需要欢迎收藏转发😊😊😊😊😊😊😊!!!!!!今日分享关于C++函数之函数参数及参数默认值的相关内容! (接上篇……) 四、函数参数 如果函数要使用参数,则必须声明接受参数值的变量。这些变量称为函数的形式参数。 形式参数就像函数内的其他局部变量,在进入函数时被创建,退出函数时被销毁。 当调用函数时,有两种向函数传递