tf矩陣乘法理解
阿新 • • 發佈:2019-02-05
拿簡單手寫數字影象識別例子來說
一個影象對應一維陣列[255,255,…]共784個元素
輸出結果為0-9數字的十種概率
怎麼定義權重w和偏移量b是關鍵
規律:
每個個體n個屬性
分類有c個結果
w=n行c列
b=c列
y=wx+b
import tensorflow as tf
import numpy as np
with tf.Session() as sess:
#一維向量 [0 1],簡單
print(sess.run(tf.constant(np.arange(2), shape=[2])))
print("----")
#二維矩陣
'''
幾行幾列,很輕鬆
[[1 2]
[3 4]]
'''
print(sess.run(tf.constant(np.arange(1,5), shape=[2, 2])))
print("----")
#三維
'''
有點煩
[[[1 2]
[3 4]]
[[5 6]
[7 8]]]
'''
print(sess.run(tf.constant(np.arange(1,9), shape=[2, 2, 2])))
#四維
'''
很煩
[[[[ 1 2]
[ 3 4]]
[[ 5 6]
[ 7 8]]]
[[[ 9 10]
[11 12]]
[[13 14]
[15 16]]]]
'''
print(sess.run(tf.constant(np.arange(1, 17), shape=[2, 2, 2,2])))
print("-1來啦")
v=tf.constant(np.arange(1, 17), shape=[2, 2, 2,2])
print(sess.run(tf.reshape(v, [-1])))
'''
[ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16]
'''
print(sess.run(tf.reshape(v, [-1,2,2,2])))#同[2, 2, 2,2]
print(sess.run(tf.reshape(v, [-1, 4, 1])))
'''
[[[ 1]
[ 2]
[ 3]
[ 4]]
[[ 5]
[ 6]
[ 7]
[ 8]]
[[ 9]
[10]
[11]
[12]]
[[13]
[14]
[15]
[16]]]
'''
-1代表的含義是不用我們自己指定這一維的大小,函式會自動計算,但列表中只能存在一個-1