tf.nn.conv2d:
tf.nn.conv2d(input, filter, strides, padding, use_cudnn_on_gpu=None, name=None)
input:輸入圖像,[圖片數(shù)量, 圖片高度, 圖片寬度, 圖像通道數(shù)],一個(gè)4維的tensor
filter:卷積核大小衔掸,[卷積核的高度宙帝,卷積核的寬度械巡,圖像通道數(shù)俱萍,卷積核個(gè)數(shù)]库菲,通道數(shù)應(yīng)該與input的通道數(shù)相同
strides:在計(jì)算卷積時(shí)在圖像每一維的步長琐鲁,常用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:默認(rèn)True
tf.placeholder和tf.Variable
tf.placeholder:主要用于存儲(chǔ)訓(xùn)練樣本,可在訓(xùn)練的過程中賦值
tf.Variable:需提供初始值惭每,一些訓(xùn)練變量(trainable variables)骨饿,比如模型的權(quán)重(weights,W)或者偏執(zhí)值(bias)台腥;
tf.truncated_normal(shape, mean=0.0, stddev=1.0, dtype=tf.float32, seed=None, name=None)
生成的值服從具有指定平均值和標(biāo)準(zhǔn)偏差的正態(tài)分布宏赘,如果生成的值大于平均值2個(gè)標(biāo)準(zhǔn)偏差的值則丟棄重新選擇。
參數(shù):
shape: 一維的張量黎侈,也是輸出的張量察署。
mean: 正態(tài)分布的均值。
stddev: 正態(tài)分布的標(biāo)準(zhǔn)差峻汉。
dtype: 輸出的類型贴汪。
seed: 一個(gè)整數(shù),當(dāng)設(shè)置之后休吠,每次生成的隨機(jī)數(shù)都一樣扳埂。
name: 操作的名字。