tensorflow 1 0 學習 卷積層

2021-09-07 11:46:47 字數 1799 閱讀 3856

在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...