tensorflow常用函式 一

2022-05-18 19:12:57 字數 1943 閱讀 7922

一、tf.transpose函式的用法

tf.transpose(input, [dimension_1, dimenaion_2,..,dimension_n]):這個函式主要適用於交換輸入張量的不同維度用的,如果輸入張量是二維,就相當是轉置。dimension_n是整數,如果張量是三維,就是用0,1,2來表示。這個列表裡的每個數對應相應的維度。如果是[2,1,0],就把輸入張量的第三維度和第一維度交換。

import

numpy as np

import

tensorflow as tf

a = np.array([[1,2,3],[4,5,6]])

x = tf.transpose(a, [1,0])

b = np.array([[[1,2,3],[4,5,6]]])

y = tf.transpose(b, [2,1,0])

with tf.session() as sess:

print("

a:\n

",a)

print("

new_a:\n

",sess.run(x))

print("

b:\n

",b)

print("

new_b:\n

",sess.run(y))

a:[[1 2 3]

[4 5 6]]

new_a:

[[1 4]

[2 5]

[3 6]]

b:[[[1 2 3]

[4 5 6]]]

new_b:

[[[1]

[4]]

[[2]

[5]]

[[3]

[6]]]

分析理解:對於第乙個二維矩陣a來說就比較簡單了,就是普通的轉置。對於第二個三維變數b,在轉置前可以理解為是1片2*3的矩陣,而轉置操作要求第一維和第三維置換,那就是要變成3片2*1的矩陣,這樣就好理解了,輸出結果正是3片1*2的矩陣。

二、tf.argmax函式用法

該函式就是找出每行或者每列的最大值所在的索引值,第二個引數為表示按行查詢還是按列查詢,1-按行,0-按列。

import

tensorflow as tf

c=[[9,8,3],[1,7,2]]

with tf.session() as sess:

print(sess.run(tf.argmax(c,1)))

[0 1]

三、tf.equal函式

vimport tensorflow as tf

import

numpy as np

a = [[1,3,4,5,6]]

b = [[1,3,4,3,2]]

with tf.session() as sess:

print(sess.run(tf.equal(a, b)))

輸出:    [[ true  true  true false false]]

四、tf.reduce_mean函式

a = [[1,3,4,5,6]]

b = [[1,3,4,3,2]]

correctpred=tf.equal(a,b)

accuracy =tf.reduce_mean(tf.cast(correctpred, tf.float32))

with tf.session() as sess:

print(sess.run(accuracy))

輸出:0.6  

解析:根據上述輸出,3個為true,所以accuracy=3/5=0.6

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