reduce_sum(input_tensor, axis=none, keepdims=false, name=none):求和函式
x = tf.constant([[
1,1,
1],[
1,1,
1]])
tf.reduce_sum(x)
# 6tf.reduce_sum(x,0)
# [2, 2, 2] 每列和
tf.reduce_sum(x,1)
# [3, 3] 每行和
tf.reduce_sum(x,
1, keepdims=
true
)# [[3], [3]] 保持輸入的dim和輸出的dim一致
tf.reduce_sum(x,[0
,1])
# 6
reduce_mean(input_tensor, axis=none, keepdims=false, name=none):返回平均值axis = none 表示所有元素的平均值 ,axis=0表示取每一列的平均值,axis=1表示取每一行的平均值。
x =[[
1,2,
3],[
1,2,
3]]xx = tf.cast(x, tf.float32)
a = tf.reduce_mean(xx, axis=0)
tf.tensor([1
.2.3
.], shape=(3
,), dtype=float32)
b = tf.reduce_mean(xx, axis=1)
tf.tensor([2
.2.]
, shape=(2
,), dtype=float32)
c = tf.reduce_mean(xx, axis=
1,keepdims=
true
)tf.tensor([[
2.][
2.]]
, shape=(2
,1), dtype=float32)
one_hot(indices, depth,on_value=none,off_value=none,axis=none,dtype=none, name=none):獨熱編碼on_value和off_value系統預設是1和0.
indices表示輸入的多個數值,通常是矩陣形式
depth表示輸出的尺寸
axis指定第幾階為depth維獨熱向量,預設為-1,即,指定張量的最後一維為獨熱向量
indices中元素預設不超過(depth-1),如果超過,輸出為[0,0,···,0]
若indices是n維向量,輸出矩陣大小為n行depth列若indices是mxn矩陣,輸出矩陣大小為mxnxdepth
a = tf.one_hot([1
,2,0
],3,axis=-1
)# 最後一維為獨熱編碼,即行
tf.tensor([[
0.1.
0.][
0.0.
1.][
1.0.
0.]]
, shape=(3
,3), dtype=float32)
b = tf.one_hot([1
,2,0
],3,axis=0)
# 0 ,表每一列沒獨熱編碼
tf.tensor([[
0.0.
1.][
1.0.
0.][
0.1.
0.]]
, shape=(3
,3), dtype=float32)
square(x, name=none) :每個元素取平方
argmax(input, axis=none, output_type=dtypes.int64, name=none)根據axis取值的不同返回每行或者每列最大值的索引
import tensorflow as tf
import numpy as np
test = np.array([[
1,2,
3],[
2,3,
4],[
5,4,
3],[
8,7,
2]])
a = tf.argmax(test,axis=0)
#每一列,取值最大的位置索引
tf.tensor([3
31], shape=(3
,), dtype=int64)
b = tf.argmax(test,axis=1)
#每一行,取值最大的位置索引
tf.tensor([2
200]
, shape=(4
,), dtype=int64)
reshape(tensor, shape, name=none):改變tensor的shapeshape引數通常是乙個列表
某乙個維度不知道填什麼數字,可用-1代替,後續會自動推出。
不會修改內部元素的數量以及相對順序
tf.reshape(x,[-
1,2,
1])== tf.reshape(x,[3
,2,1
])## true
expand_dims(input, axis, name):擴充套件維度,可使用 tf.reshape代替。
>>
> t =[[
1,2,
3],[
4,5,
6]]# shape [2, 3]
>>
> tf.expand_dims(t,0)
,2,3
), dtype=int32, numpy=
array([[
[1,2
,3],
[4,5
,6]]
], dtype=int32)
>
>>
> tf.expand_dims(t,1)
,1,3
), dtype=int32, numpy=
array([[
[1,2
,3]]
,[[4
,5,6
]]], dtype=int32)
>
>>
> tf.expand_dims(t,2)
,3,1
), dtype=int32, numpy=
array([[
[1],
[2],
[3]]
,[[4
],[5
],[6
]]], dtype=int32)
>
>>
> tf.expand_dims(t,-1
)# last dimension index. in this case, same as 2.
,3,1
), dtype=int32, numpy=
array([[
[1],
[2],
[3]]
,[[4
],[5
],[6
]]], dtype=int32)
>
TensorFlow 常用的函式
gettf.shape a 和a.get shape 比較 相同 都可以得到 tensor a 的尺寸不同 tf.shape 中a 資料的型別可以是 tensor,list,array 返回的是乙個 tensor 時。要想知道是多少,必須通過 sess.run tensor.get shape 返回...
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...