TensorFlow中卷积神经网络相关函数

TensorFlow中CNN相关函数

卷积函数

tf.nn.conv2d(input,filter,strides,padding,use_cudnn_on=None,name=None)

input:需要做卷积的出入数量,注意是一个4维的张量([batch,in_height,in_width,in_channels]),要求类型为float32或float64其中之一

filter:卷积核。[filter_height,filter_with,in_channels,out_channels]

padding:定义匀速边框与元素内容之间的空间。"SAME"或"VALID",这个值决定了不同的卷积方式,当为"SAME"时,表示边缘填充,适用于全尺寸操作;当为"valid"时,表示边缘不填充

user_cudnn_on_gpu:bool类型,是否使用CUDNN加速

name:改操作名称

返回值:返回一个tensor,即feature map

python 复制代码
import tensorflow as tf
import numpy as np
input_data = tf.Variable(np.random.rand(10,9,9,4),dtype=np.float32)
filter_data = tf.Variable(np.random.rand(3,3,4,2),dtype=np.float32)
# y = tf.nn.conv2d(input_data,filter_data,strides=[1,1,1,1],padding='VALID')
y = tf.nn.conv2d(input_data,filter_data,strides=[1,1,1,1],padding='SAME')
print(input_data.shape)
print(y.shape)

池化函数

池化函数定义在tensorflow/python/ops下的nn.py和gen_nn_ops.py文件中:

最大池化:tf.nn.max_pool(value,ksize,strides,padding,name=None)

平均池化:tf.nn.avg_pool(value,ksize,strides,padding,name=None)

  • value:需要池化的输入,一版池化层姐在卷积层后面,所以输入通常conv2d所输出的feature map,依然是4维的张量([batch,height,width,channels])
  • ksize:池化窗口的大小,由于一版不在batch和channel上做池化,所以ksize一版是[1,height,width,1]
  • strides:图像每一维的步长,是一个一维向量,长度为4
  • padding:和卷积函数中padding含义一样
  • name:改操作的名称
  • 返回值:返回一个tensor
python 复制代码
import tensorflow as tf
import numpy as np
input_data = tf.Variable(np.random.rand(10,6,6,4),dtype=np.float32)
filter_data = tf.Variable(np.random.rand(2,2,4,2),dtype=np.float32)
# y = tf.nn.conv2d(input_data,filter_data,strides=[1,1,1,1],padding='VALID')
y = tf.nn.conv2d(input_data,filter_data,strides=[1,1,1,1],padding='SAME')
# 最大池化
output = tf.nn.max_pool(input=y,ksize=[1,2,2,1],strides=[1,2,2,1],padding='SAME')
print(input_data.shape)
print(y.shape)
print(output.shape)
# 最小池化
avg_output = tf.nn.avg_pool(input=y,ksize=[1,2,2,1],strides=[1,2,2,1],padding='SAME')
print(input_data.shape)
print(y.shape)
print(avg_output.shape)
相关推荐
j_xxx404_3 分钟前
Linux线程:核心机制与优雅的 C++ 封装实践|附源码
linux·运维·服务器·开发语言·c++·人工智能·ai
小糖学代码5 分钟前
LLM系列:1.python入门:19.Requests(网络库)
人工智能·pytorch·深度学习·自然语言处理
情绪总是阴雨天~6 分钟前
全面掌握 AI Skills:从概念理解到实战落地的完整指南
人工智能·skill
net3m338 分钟前
AI人工智能思路部分总结1---20260524
人工智能·ai·qkv
呆萌很8 分钟前
TP、FP、FN、TN 详解
人工智能
穗余10 分钟前
什么是ERC-8004
人工智能·web3·区块链
码海浮生10 分钟前
人工智能日报 每日AI新闻(2026年5月24日):Google I/O集中发布Gemini Omni,AI商业化继续走向场景落地
人工智能
数智工坊14 分钟前
《普通人打造AI小团队:通用智能体与企业级智能体搭建》第4、5、6章
人工智能
我爱cope15 分钟前
【Agent智能体3 | 智能体AI的优势】
人工智能·职场和发展
吃好睡好便好16 分钟前
创建随机矩阵
开发语言·人工智能·线性代数·算法·matlab·矩阵