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)
相关推荐
茶栀(*´I`*)1 小时前
【NLP入门笔记】:自然语言处理基础与文本预处理
人工智能·自然语言处理·nlp
却道天凉_好个秋1 小时前
Tensorflow数据增强(三):高级裁剪
人工智能·深度学习·tensorflow
藦卡机器人1 小时前
国产机械臂做的比较好的品牌有哪些?
大数据·数据库·人工智能
迎仔1 小时前
06-AI开发进阶
人工智能
陈天伟教授1 小时前
人工智能应用- 语言处理:01.机器翻译:人类语言的特点
人工智能·自然语言处理·机器翻译
Codebee1 小时前
OoderAgent 相比主流Agent框架的五大核心独特优势
人工智能
home_4981 小时前
与gemini关于神的对话
人工智能·科幻·神学
代码改善世界1 小时前
CANN深度解构:中国AI系统软件的原创性突破与架构创新
大数据·人工智能·架构
Fairy要carry1 小时前
面试-Torch函数
人工智能
aiguangyuan2 小时前
基于BERT的中文命名实体识别实战解析
人工智能·python·nlp