tf.keras.layers.Conv2D用法总结

article/2025/10/2 8:15:10

概述

tf.keras.layers.Conv2D()函数用于描述卷积层。

用法

tf.keras.layers.Conv2D(filters, kernel_size,strides=(1, 1), padding='valid', data_format=None,dilation_rate=(1, 1), activation=None
)

1.filter:卷积核的个数
2.kenel_size:卷积核尺寸,如果是正方形,则用一个整数表示;如果是长方形,则需要明确指明高用h表示,宽用w表示,可以用元组或者列表的形式表示两者(如:[h,w]或者{h, w})
3.strides:滑动步长,默认横纵向滑动步长均为1(1,1),也可以设置其他步长(纵向步长,横向步长)
4.padding:补零策略,当padding = 'same’时,全零填充,当padding = ‘valid’,则不需要填充。不区分大小写
5.data_format:输入数据的格式,值有两种channels_first(输入和输出的shape为(batch_size, channels,height, width),即为(图片数量,通道数, 长,宽))、channels_last(默认值通道数为左最后一个)
6.dalition_rate:数组或者列表,卷积核的膨胀系数(将卷积核进行形状膨胀,新的位置用0填充)
新卷积核的尺寸核膨胀系数的计算公式如下:原卷积核的尺寸S,膨胀系数K,则膨胀后的卷积核尺寸为size = K*(S-1)+1
7.activaton:激活函数,相当于经过卷积输出后,再经过一次激活函数(常见的激活函数有relu,softmax,selu)

例子

1.filters

import tensorflow as tf
from keras.layers import (Input, Reshape)input = Input(shape=(600, 600, 3))
x = tf.keras.layers.Conv2D(64, (1,1),strides=(1, 1),name='conv')(input) # filters影响的是最后输入结果的第三个维度的变化
x

OUT:
在这里插入图片描述
2.kernel_size

import tensorflow as tf
from keras.layers import (Input, Conv2D)input = Input(shape=(600, 600, 3))
Conv2D(64, (2, 2), strides=(1, 1), name='conv1')(input)  # 也可以写为Conv2D(64, 2, strides=(1, 1), name='convl)
# kernel_size影响的是输出结果前两个数据的维度

OUT:
在这里插入图片描述
3.strides

import tensorflow as tf
from keras.layers import (Input, Conv2D)input = Input(shape=(600, 600, 3))
Conv2D(64, 1, strides=(2, 2), name='conv1')(input) #strides 步长会影响输出的前两个维度

OUT:
在这里插入图片描述
4.padding

import tensorflow as tf
from keras.layers import (Input, Conv2D)Conv2D(64, 3, strides=(2, 2), padding='valid', name='conv1')(input) # padding 表示是否对周围进行填充,same通过kernel_size缩小维度,但四周会填充0,保持原先的维度;valid则会储存不为0的有效信息

OUT:
在这里插入图片描述

import tensorflow as tf
from keras.layers import (Input, Conv2D)Conv2D(64, 3, strides=(2, 2), padding='same', name='conv1')(input)

OUT:
在这里插入图片描述


希望这篇文章对大家的学习有所帮助!


http://chatgpt.dhexx.cn/article/pi46PepI.shtml

相关文章

CNN中stride(步幅)和padding(填充)的详细理解

步幅:卷积核经过输入特征图的采样间隔 填充:在输入特征图的每一边添加一定数目的行列,使得输出的特征图的长、宽 输入的特征图的长、宽 两个参数的核心: 设置步幅的目的:希望减小输入参数的数目,减少计…

java输出(java输出语句快捷键)

java最简单的输入输出 java输出语句怎么写 去百度文库,查看完整内容> 内容来自用户:白岸海歌 System.out.print ——标准输出流 Java的流类,主要是:输入流类InputStream输出流类OutputStream Java系统预先定义好3个流对象,静态…

Java程序入口+输出语句+数据类型

一(Java程序入口):要想执行一个java程序,就必须有一个程序入口,且该入口为固定格式:public static void main(String[ ] args){}。注意:是main而不是mian,Str…

JAVA 循环控制语句以及输入输出

JAVA 循环控制语句以及输入输出 顺序结构分支结构if 语句switch 语句 循环结构while 循环for 循环do while 循环 输入输出输出到控制台从键盘输入 JAVA 里的程序控制语句主要分为顺序结构、分支结构(选择)和循环结构。 顺序结构 顺序结构比较简单&#x…

JAVA输出语句及变量

文章目录 语句输出在.java文件里一共能存在2样东西;注释的分类:变量标识符变量名的命名规范: 语句输出 格式一:println.带有换行效果 格式二:print.不带换行效果 (语句是程序执行的最小单元,是以";"结束的.) “ System.out.println();”输入快捷方法…

java的打印语句_java打印输出语句是什么?

打印输出语句有:换行打印“System.out.println();”,不换行打印“System.out.print();”,字节输出“System.out.write();”,按格式输出“System.out.printf();”。 Java中的输出语句有以下四种:System.out.println(111…

Java输入/输出

File类文本(Text)输入/输出 输出用PrintWriter类try-with-resources来自动关闭资源用Scanner来读取文本流式处理文本文件和二进制文件 二进制(Binary)文件输入/输出 二进制输入/输出到文件FilterInputStream/FilterOutputStream D…

Java输入输出

源代码见:点击打开链接 引言:在平时java开发中,被输入输出搞得头疼。特此写下这篇博客,一是为了总结输入输出,二是为了和大家分享。如果大家觉得写得好,就请高抬贵手点个赞呗!!&…

JAVA的输入输出

1.Java的输出 System,out,println(); //输出且换行 System.out.print(); //输出不换行 System.out.printf(); //提供字符格式化 示例 class Output{public static void main(String args[]){System.out.println("1.println");System.out.println("2.println&qu…

[JAVA]java中的打印输出语句

java中的打印语句分为三种: System.out.print(); System.out.println(); System.out.printf(); 1.System.out.print(); 打印在引号里的字符串 int x 5; System.out.print("今天是周" x); 打印结果: 2.System.out.println(); 和print…

java怎么完成输出语句

我们在前面的文章和案例中,其实早就知道Java是如何实现输出功能的了。没错,就是利用System.out.println()语句来实现的!接下来壹哥就给大家详细解读一下这个语句的作用及其含义。 1. System 我们先来看看System是个什么东东。 System是Jav…

Java的输出语句与注释

控制台输出语句 在Java中想要用控制台输出语句首先得先初步认识如下代码: 一,代码块System.out.print("输出内容");注意:Java严格区分大小写,大小写不能搞错。括号里要打引号。代码块结束之后加上; 二,方法…

Java中简单的输入输出语句

Java中简单的输入输出语句 一、输入语句 1.使用Scanner类 使用步骤: (1)导包 import java.util.Scanner; 这一步是必须要做的!!! (2)使用Scanner创建对象 Scanner scnew Scanner(System.in);//sc是你所创建的变量名&#…

Java016——Java输入输出语句

一、输出语句 Java常用的输出语句有三种: 1)System.out.println(); 换行输出,输出后会自动换行。 //示例 System.out.println("Hello"); System.out.println("World");//输出 Hello World2)System.out.pri…

【单元测试】Junit 4(七)--junit4 TestRunnner

Test Runners 我没想到一个特别合适的词来形容Test Runners的作用,所以多说几句: Test Runners 是具有特殊功能的执行测试用例的通道,也可以理解为测试的执行者,例如可以同时运行多个测试用例,也可以具有这个测试执行…

浅谈单元测试 Junit4

JUint是Java编程语言的单元测试框架,用于编写和运行可重复的自动化测试。本文主要针对Junit4要点进行梳理总结。 一、浅谈单元测试 1.1 什么是单元测试 单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证。对于…

JUnit4高级篇-由浅入深

JUnit4是JUnit框架有史以来的最大改进,其主要目标便是利用Java5的Annotation特性简化测试用例的编写。 先简单解释一下什么是Annotation,这个单词一般是翻译成元数据。元数据是什么?元数据就是描述数据的数据。也就是说,这个东西在…

Junit4Junit5对比

Junit是Java编程语言的单元测试框架&#xff0c;用来编写单元测试代码。随着Junit5的盛行&#xff0c;与Junit4有何差异。 JDK支持 Junit4需要Java5版本 Junit5需要Java8版本 Maven依赖 Junit4不区分模块&#xff0c;只有一个jar&#xff1a; <dependency><groupId>…

eclipse中Junit4(单元测试)的配置和使用

在项目的实际开发中&#xff0c;我们需要在完成每层的功能代码实现之后去对该功能的代码进行测试&#xff0c;这是因为如果在所有的代码都写完之后在测试的话&#xff0c;会造成调试困难&#xff0c;代码修改起来也很繁琐&#xff0c;这样开发效率会大大降低&#xff0c;不利于…

IDEA中添加junit4的三种方法

1、第一种方法 首先创建一个工程&#xff0c;创建好一个测试类&#xff0c;类的名称最好不要取Test&#xff0c;接下来写下一个注解Test&#xff0c;此时会报错。 报错的原因是创建的工程项目没有导入Junit4依赖&#xff0c;具体查看是在左上角 file–>project structure …