tf.nn.conv2d:
tf.nn.conv2d(input, filter, strides, padding, use_cudnn_on_gpu=None, name=None)
input:输入图像,[图片数量, 图片高度, 图片宽度, 图像通道数],一个4维的tensor
filter:卷积核大小,[卷积核的高度,卷积核的宽度,图像通道数,卷积核个数],通道数应该与input的通道数相同
strides:在计算卷积时在图像每一维的步长,常用strides = [1, stride, stride, 1].
padding:"SAME" or "VALID"
来源:https://stackoverflow.com/questions/37674306/what-is-the-difference-between-same-and-valid-padding-in-tf-nn-max-pool-of-t
For theSAMEpadding, the output height and width are computed as:
out_height = ceil(float(in_height) / float(strides[1]))
out_width = ceil(float(in_width) / float(strides[2]))
For theVALIDpadding, the output height and width are computed as:
out_height = ceil(float(in_height - filter_height + 1) / float(strides[1]))
out_width = ceil(float(in_width - filter_width + 1) / float(strides[2]))
use_cudnn_on_gpu:默认True
tf.placeholder和tf.Variable
tf.placeholder:主要用于存储训练样本,可在训练的过程中赋值
tf.Variable:需提供初始值,一些训练变量(trainable variables),比如模型的权重(weights,W)或者偏执值(bias);
tf.truncated_normal(shape, mean=0.0, stddev=1.0, dtype=tf.float32, seed=None, name=None)
生成的值服从具有指定平均值和标准偏差的正态分布,如果生成的值大于平均值2个标准偏差的值则丢弃重新选择。
参数:
shape: 一维的张量,也是输出的张量。
mean: 正态分布的均值。
stddev: 正态分布的标准差。
dtype: 输出的类型。
seed: 一个整数,当设置之后,每次生成的随机数都一样。
name: 操作的名字。