computational graph(用於計算的圖)是一系列排列在graph的節點上的tensorflow操作單元。讓我們來構建乙個簡單的computational graph。每個節點接受0個或多個tensor作為輸入,並且產生乙個tensor作為輸出。session(會話)
封裝了tensorflow執行時的控制項和狀態。
import tensorflow as tf
node1=tf.constant(3.0,tf.float32)
node2=tf.constant(4.0) #also a float32
常量型別是節點的一種型別。正如所有的tensorflow常量一樣,它是不接收輸入的,並且輸出乙個它內部儲存的值
。sess=tf.session()
print(sess.run(node1),sess.run(node2))
結果:3.0 4.0
#node3=tf.add(node1,node2)
node3=node1+node2
print(sess.run(node3))
結果;7.0
graph可以被引數化,並且通過placeholders(佔位符)來接受外部的輸入。
a=tf.placeholder(tf.float32)
b=tf.placeholder(tf.float32)
add_node=a+b
print(sess.run(add_node,))
print(sess.run(add_node,))
結果:
4.0計算(a+b)*3[ 4. 6.]
add_and_triple=add_node*3
print(sess.run(add_and_triple,))
結果:12.0
w=tf.variable([.3],tf.float32)
b=tf.variable([-.3],tf.float32)
x=tf.placeholder(tf.float32)
a=w*x+b
當呼叫tf.constant
時,常量被初始化,它們的值永遠不會改變。相比之下,變數tf.variable
在呼叫時不會被初始化。要初始化tensorflow程式中的所有變數,必須顯式呼叫特殊的初始化操作,如下所示:
init=tf.global_variables_initializer()
sess.run(init)
在這裡,直到我們呼叫sess.run
之前,變數是未初始化的。(真正把0.3和-0.3賦給w和b)
損失函式
a - y
建立乙個向量,其中每個元素是相應的樣本的誤差增量。我們稱之為平方。然後,我們使用tf.reduce_sum
將所有平方誤差求和,以建立乙個單一的標量,用於提取出表示所有樣本的總誤差值:
y=tf.placeholder(tf.float32)
loss=tf.reduce_mean(tf.square(y-a))
print(sess.run(loss,))
優化器optimizer
optimizer=tf.train.gradientdescentoptimizer(0.01) #使用梯度下降法進行優化,學習率為0.01
train=optimizer.minimize(loss) #優化目標;最小化loss(損失函式)
可以通過手動的將w
和b
的值重新賦值為-1
和1
的方式來提高我們的演算法的效果。變數可以初始化後將資料提供給tf.variable
物件,也可以使用像tf.assign
這樣的操作來更改。
fixw=tf.assign(w,[-1.])
fixb=tf.assign(b,[1.])
sess.run([fixw,fixb])
print(sess.run(linear_sum,))
tensorflow學習筆記
tensorflow安裝可以直接通過命令列或者原始碼安裝,在此介紹tensorflow8命令列安裝如下 安裝tensorflow sudo pip install upgrade 另外,解除安裝tensorflow命令為 sudo pip uninstall tensorflow tensorflo...
Tensorflow學習筆記
1.如何在虛擬機器中安裝tensor flow 1 首先安裝pip pip install 2 pip install 2.學習tensorflow需要學習 python and linux 3.使用 tensorflow,你必須明白 tensorflow 1 使用圖 graph 來表示計算任務.2...
TensorFlow學習筆記
1 擬合直線 import the library import tensorflow as tf import numpy as np prepare train data train x np.linspace 1,1,100 temp1 train x,temp2 train x.shape,...