基于tensorflow的NN,用張量表示數(shù)據(jù)唆鸡,用計(jì)算圖搭建神經(jīng)網(wǎng)絡(luò)窃判,用會(huì)話執(zhí)行計(jì)算圖,優(yōu)化線上的權(quán)重(參數(shù))喇闸,得到模型袄琳。
張量(tensor):多維數(shù)組(列表),階(張量的維數(shù))燃乍,可以表示0階到n階數(shù)組(列表)
維數(shù) | 階 | 名字 | 例子 |
---|---|---|---|
0-D | 0 | 標(biāo)量scalar | s=1 2 3 |
1-D | 1 | 向量vector | v=[1 2 3] |
2-D | 2 | 矩陣matrix | m = [[1,2,3],[4,5,6],[7,8,9]] |
n-D | n | 張量tensor | t = [[[...(n個(gè)) |
import tensorflow as tf
a = tf.constant([1.0,2.0]) #常數(shù)
b = tf.constant([3.0,4.0])
result = a+b
print(result) #是一個(gè)張量
"add"節(jié)點(diǎn)名唆樊,“0”第0個(gè)輸出,shape維度刻蟹,(2逗旁,)一維數(shù)據(jù),長(zhǎng)度是2舆瘪,dtype數(shù)據(jù)類(lèi)型
計(jì)算圖(graph):承載多個(gè)計(jì)算節(jié)點(diǎn)片效,搭建神經(jīng)網(wǎng)絡(luò)的計(jì)算過(guò)程,只搭建英古,不運(yùn)算淀衣。
x = tf.constant([[1.0, 2.0]])
w = tf.constant([[3.0], [4.0]])
y = tf.matmul(x,w)
print(y)
會(huì)話(session):執(zhí)行計(jì)算圖中的節(jié)點(diǎn)運(yùn)算,來(lái)得到運(yùn)算結(jié)果
with tf.Session() as sess:
print(sess.run(y))
with tf.Session() as sess:
print(sess.run(y))
x = tf.constant([[1.0, 2.0]])
w = tf.constant([[3.0], [4.0]])
y = tf.matmul(x,w)
print(y)
with tf.Session() as sess:
print(sess.run(y))
參數(shù):即神經(jīng)網(wǎng)絡(luò)上神經(jīng)元的權(quán)重召调,用變量表示膨桥,隨機(jī)給初值。
w = tf.Variable(tf.random_normal([2,3], stddev=2, mean=0, seed=1)) #隨機(jī)生成參數(shù)唠叛,正態(tài)分布只嚣,矩陣2*3,標(biāo)準(zhǔn)差是2艺沼,均值為0