變數型別:
variable:變數
constant:常量
指定引數
name:變數在tensorflow中的名字
dtype:變數的資料型別 可以是tf.float32, tf.int32之類的
e.g.
import tensorflow as tf
a=tf.variable(0,dtype=int32) #型別為int32的變數 ,賦初值為0
b=tf.constant(36,name="b") #名字為"b"的常量,值恒為36
c=tf.variable(a-b,name="c") #變數可以通過其他變數運算的結果賦初值
init=tf.global_variables_initializer #乙個對所有變數初始化的函式
session=tf.session() #乙個封裝了所有變數、常量的環境
session.run(init) #呼叫init函式
sesson
對session比較好的解釋:tensorflow文件。注意銷毀session的方式:session.close()
session.run(function):執行函式
session.run(variable):計算某個變數的值
佔位符
佔位符可以先分配記憶體,稍後賦值。對佔位符進行賦值一般在session.run中進行,值在feed_dict中。
xx=tf.placeholder(tf.int32,name="xx") #分配一塊int32大小的記憶體,沒有資料
res=session.run(xx**2,feed_dict=) #先將x賦值為30,然後平方,結果賦值給res
feed_dict=
矩陣
初始化(a,b)的矩陣:
常量:
x=tf.constant(np.random.randn(a,b), name="x")
變數:
x=tf.get_variable(name="x", shape=[3,2], dtype=tf.float32,initializer=tf.zeros_initializer())
全1:
tf.ones([a,b]):
全0:
tf.zeros([a,b])
相乘:
tf.matmul(a,b)
相加:
tf.add(a,b)
重要函式
sigmoid:
tf.sigmoid
relu:
tf.nn.relu
softmax計算cost function
tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits_v2(logits = ..., labels = ...))
其中,reduct_mean表示向量中各項總和,logits是z3不是a3
優化
optimizer = tf.train.gradientdescentoptimizer(learning_rate = learning_rate).minimize(cost)
_ , c = sess.run([optimizer, cost], feed_dict=)
讓cost最小,通過gradient descent進行優化。
x,y是在cost的計算函式(forward_propagation)中出現過的引數。
_儲存optimizer的值,不關心;c儲存cost的值
tensorflow一般步驟
1、建立tensorflow變數/常量
2、建立對這些變數進行操作的函式
3、建立初始化這些變數的函式(初始化只分配記憶體,不計算)
4、建立session
5、在session中執行初始化函式
6、在session中執行其他函式(計算)
Tensorflow基礎語法
import tensorflow as tf import numpy as np state tf.variable 0,name counter 引數值為0,name為counter print state.name one tf.constant 1 new value tf.add sta...
tensorflow語法詳記(一)
最近一直在學習tensorflow的理論知識,趁著複習的機會,做乙個小整理,方便自己以後查閱。其中加粗部分是需要自己輸入的。1 定義常量 tf.constant data name name 2 建立乙個計算圖 tf.graph 3 對當前預設計算圖的引用 tf.get default graph ...
Tensorflow 基礎概念
g v,e v operation 圖的節點 e tensor 圖的邊 g graph 圖 tensorflow tensor 多維陣列 flow graph 圖 op session回話上下文管理 variable tensor 多維資料變數 placeholder 外部傳入的引數變數 seesi...