1. 程式人生 > >TensorFlow學習筆記之疑問解答(持續更新)

TensorFlow學習筆記之疑問解答(持續更新)

1、tensorflow中一箇中括號和兩個中括號是什麼意思?

b = tf.constant([3,3])
c = tf.constant([[3,3]])
with tf.Session() as sess:
    print(b,c)
    print(sess.run(b))
    print(sess.run(c))

返回結果:

Tensor("Const_7:0", shape=(2,), dtype=int32) Tensor("Const_8:0", shape=(1, 2), dtype=int32)
[3 3]
[[3 3]]

解答:
b是shape=(2, )的一維constant
c是shape=(1, 2)的二維constant

2、TensorFlow的fetch使用時,sess.run([這裡op的順序]),run裡面op的順序是否會有影響?

#Fech
input1 = tf.constant(3.0)
input2 = tf.constant(2.0)
input3 = tf.constant(5.0)

add = tf.add(input2,input3)
mu1 = tf.multiply(input1,add)

with tf.Session() as sess:
    result1 = sess.run([mu1,add])
    result2 = sess.run([add,mu1])
    print(result1,result2)

返回結果:[21.0, 7.0] [7.0, 21.0]
解答:
返回結果只是fetch的順序不同,不影響結果。

3、TensorFlow中CNN的兩種padding方式“SAME”和“VALID”
對於“VALID”,輸出的形狀計算: new_height=new_width=⌈ (W–F+1) / S ⌉
對於“SAME”,輸出的形狀計算: new_height=new_width=⌈ W / S ⌉
其中,W為輸入的size,F為filter為size,S為步長,⌈⌉為向上取整符號。

4、Tensor 和 numpy array互轉
①numpy array 到 Tensor

numpyData = np.zeros
((1,10,10,3),dtype=np.float32) tf.convert_to_tensor(numpyData)

②Tensor到 numpy array

eval()
tf.constant([1,2,3]).eval()

5、ord()函式是chr()函式(對於8位的ASCII字串)或unichr()函式(對於Unicode物件)的配對函式,它以一個字元(長度為1的字串)作為引數,返回對應的ASCII數值,或者Unicode數值,如果所給的Unicode字元超出了你的Python定義範圍,則會引發一個TypeError的異常。