Tensorflow 常用函式

2021-09-02 01:54:44 字數 2297 閱讀 9619

1. 

tqdm(list)方法可以傳入任意一種list,比如陣列

from tqdm import tqdm

for i in tqdm(range(1000)):

#do something

pass

2. 

w1 = tf.variable(tf.truncated_normal([5,5,1,inflated[0]], mean = mu, stddev = sigma))

tf.variable() 方法定義乙個變數

tf.truncated_normal()方法  是正態分佈產生函式,mean為均值,stddev為殘差

w1 = tf.variable(tf.truncated_normal([5,5,1,inflated[0]], mean = mu, stddev = sigma))
3.

l2_pool = tf.nn.max_pool(l2_act, [1,2,2,1],[1,2,2,1],'valid', name = 'l2_pool')

l2_pool = tf.nn.max_pool(l2_act, [1,2,2,1],[1,2,2,1],'valid', name = 'l2_pool')
引數是四個,和卷積很類似:

第乙個引數value:需要池化的輸入,一般池化層接在卷積層後面,所以輸入通常是feature map,依然是[batch, height, width, channels]這樣的shape

第二個引數ksize:池化視窗的大小,取乙個四維向量,一般是[1, height, width, 1],因為我們不想在batch和channels上做池化,所以這兩個維度設為了1

第三個引數strides:和卷積類似,視窗在每乙個維度上滑動的步長,一般也是[1, stride,stride, 1]

第四個引數padding:和卷積類似,可以取'valid' 或者'same'

返回乙個tensor,型別不變,shape仍然是[batch, height, width, channels]這種形式

4.tf.nn.dropout()是tensorflow裡面為了防止或減輕過擬合而使用的函式,它一般用在全連線層

dropout就是在不同的訓練過程中隨機扔掉一部分神經元。也就是讓某個神經元的啟用值以一定的概率p,讓其停止工作,這次訓練過程中不更新權值,也不參加神經網路的計算。但是它的權重得保留下來(只是暫時不更新而已),因為下次樣本輸入時它可能又得工作了

tf.nn.dropout函式說明

tf.nn.dropout(x,keep_prob,noise_shape=none,seed=none,name=none)
引數說明:

x:指輸入,輸入tensor

keep_prob: float型別,每個元素被保留下來的概率,設定神經元被選中的概率,在初始化時keep_prob是乙個佔位符, keep_prob = tf.placeholder(tf.float32) 。tensorflow在run時設定keep_prob具體的值,例如keep_prob: 0.5

noise_shape  : 乙個1維的int32張量,代表了隨機產生「保留/丟棄」標誌的shape。

seed : 整形變數,隨機數種子。

name:指定該操作的名字

dropout必須設定概率keep_prob,並且keep_prob也是乙個佔位符,跟輸入是一樣的

keep_prob = tf.placeholder(tf.float32)

train的時候才是dropout起作用的時候,test的時候不應該讓dropout起作用

原文: 

5.tf.reduce_mean函式的作用是求平均值。第乙個引數是乙個集合,可以是列表、二維陣列和多維陣列。第二個引數指定在哪個維度上面求平均值。預設對所有的元素求平均

6.tf.argmax就是返回最大的那個數值所在的下標。

7.tf.cast(x, dtype, name=none) 

將x的資料格式轉化成dtype.例如,原來x的資料格式是bool, 

那麼將其轉化成float以後,就能夠將其轉化成0和1的序列。反之也可以

8.tf.equal(a, b)是對比這兩個矩陣或者向量的相等的元素,如果是相等的那就返回true,反正返回false,返回的值的矩陣維度和a是一樣的

9.shuffle()

shuffle()方法將序列的所有元素隨機排序。

tensorflow常用函式

1.variable 主要在於一些可訓練變數 trainable variables 比如模型的權重 weights 或者偏執值 bias 1 宣告時,必須提供初始值 2 在真實訓練時,其值是會改變的,自然事先需要指定初始值 weights tf.variable tf.random normal ...

TensorFlow常用函式

使用tensorflow計算流程 1 prepare train data 2 define model and graph 3 choose optimizer 4 create a session to run import tensorflow as tf 1.tf.reduce mean i...

Tensorflow常用函式

w1 tf.variable tf.random normal 2,3 sttdev 1,seed 1 生成矩陣的均值為0,方差為2。使用seed 1指定隨機種子,可以保證每次執行得到的結果相同。sess.run w1.initializer 初始化w1 sess.run tf.initiable ...