在tf1.0中,對卷積層重新進行了封裝,比原來版本的卷積層有了很大的簡化。
一、舊版本(1.0以下)的卷積函式:tf.nn.conv2d
conv2d(input,
filter,
strides,
padding,
use_cudnn_on_gpu=none,
data_format=none,
name=none
)
該函式定義在tensorflow/python/ops/gen_nn_ops.py
。
引數:
示例:
conv1=tf.nn.conv2d(x, w, strides=[1, 1, 1, 1], padding='same
')
二、1.0版本中的卷積函式:tf.layers.conv2d
conv2d(inputs,
filters,
kernel_size,
strides=(1, 1),
padding='
valid',
data_format='
channels_last',
dilation_rate=(1, 1),
activation=none,
use_bias=true,
kernel_initializer=none,
bias_initializer=tf.zeros_initializer(),
kernel_regularizer=none,
bias_regularizer=none,
activity_regularizer=none,
trainable=true,
name=none,
reuse=none
)
定義在tensorflow/python/layers/convolutional.py
.
引數多了很多,但實際用起來,卻更簡單。
示例:
conv1=tf.layers.conv2d(inputs=x,
filters=32,
kernel_size=5,
padding="
same",
activation=tf.nn.relu,
kernel_initializer=tf.truncatednormal(stddev=0.01))
更複雜一點的:
conv1 =tf.layers.conv2d(batch_images,filters=64,
kernel_size=7,
strides=2,
activation=tf.nn.relu,
kernel_initializer=tf.truncatednormal(stddev=0.01)
bias_initializer=tf.constant(0.1),
kernel_regularizer=tf.contrib.layers.l2_regularizer(0.003),
bias_regularizer=tf.contrib.layers.l2_regularizer(0.003),
name='
conv1
')
tensorflow學習之路 實現簡單的卷積網路
使用tensorflow實現乙個簡單的卷積神經,使用的資料集是mnist,本節將使用兩個卷積層加乙個全連線層,構建乙個簡單有代表性的卷積網路。是按照書上的敲的,第一步就是匯入資料庫,設定節點的初始值,tf.nn.conv2d是tensorflow中的2維卷積,引數x是輸入,w是卷積的引數,比如 5,...
Tensorflow學習五 卷積神經網路
一 tf中的卷積層 通過tf.get variable的方式建立過濾層的權重變數和偏置項變數。是乙個四維矩陣,前面兩個維度代表了 過濾器的尺寸,第三個維度代表當前層的深度,第四個代表過濾器的深度 filter weight tf.get variable name weight shape 5,5,...
Tensorflow生成高斯模糊並進行卷積操作
在卷積神經網路中用到了高斯模糊核對影象進行預處理。首先根據方差生成模糊核 def gauss kernel1d sigma sigma表示方差 if sigma 0 return 0 else tail int sigma 3 k tf.exp 0.5 x 2 sigma 2 for x in ra...