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)
相关推荐
飞哥数智坊44 分钟前
我的“龙虾”罢工了!正好对比下GLM、MiniMax、Kimi 3家谁更香
人工智能
风象南2 小时前
很多人说,AI 让技术平权了,小白也能乱杀老师傅 ?
人工智能·后端
董董灿是个攻城狮3 小时前
大模型连载1:了解 Token
人工智能
RoyLin5 小时前
沉睡三十年的标准:HTTP 402、生成式 UI 与智能体原生软件的时代
人工智能
needn7 小时前
TRAE为什么要发布SOLO版本?
人工智能·ai编程
毅航7 小时前
自然语言处理发展史:从规则、统计到深度学习
人工智能·后端
前端付豪8 小时前
LangChain链 写一篇完美推文?用SequencialChain链接不同的组件
人工智能·python·langchain
ursazoo8 小时前
写了一份 7000字指南,让 AI 帮我消化每天的信息流
人工智能·开源·github
_志哥_12 小时前
Superpowers 技术指南:让 AI 编程助手拥有超能力
人工智能·ai编程·测试
YongGit12 小时前
OpenClaw 本地 AI 助手完全指南:飞书接入 + 远程部署实战
人工智能