tensorflow 初步嘗試
##建立資料
#搭建模型
#計算誤差
#傳播誤差
#初始會話
#不斷訓練
import
tensorflow as tf
import
numpy as np
#建立資料
x_data = np.random.rand(100).astype(np.float32)
y_data = x_data * 0.1 + 0.3
#定義神經元可變引數
w = tf.variable(tf.random_uniform([1],-1.0,1.0))
b = tf.variable(tf.zeros([1]))
y = w * x_data +b
#計算誤差
loss = tf.reduce_mean(tf.square(y -y_data))
#採用梯度下降法反向傳播誤差
optimizer = tf.train.gradientdescentoptimizer(0.2)
train =optimizer.minimize(loss)
#初始化所有的神經元可變引數
init =tf.global_variables_initializer()
#建立會話
sess =tf.session()
#執行初始化步驟
sess.run(init)
#不斷的訓練資料,提公升網路效能
for i in range(1000):
sess.run(train)
if i % 100 ==0:
(i,sess.run(w),sess.run(b))
print("
loss:%.11f
" % sess.run(loss))
tensorflow 中的session
session
是 tensorflow 為了控制、和輸出檔案的執行的語句.
執行session.run()
可以獲得你要得知的運算結果, 或者是你所要運算的部分
importtensorflow as tf
#建立兩個矩陣
m1 = tf.constant([[3,3]])
m2 = tf.constant([[2],[2]])
p =tf.matmul(m1,m2)
#[12]]
#使用session 啟用p 得到計算結果
## 方法1 ##
sess =tf.session()
result =sess.run(p)
(result)
sess.close()
## 方法2 ##
with tf.session() as sess:
result2 =sess.run(p)
print(result2)
tensorflow 中使用variable
tensorflow 中,定義了某字串是變數,它才是變數
importtensorflow as tf
state = tf.variable(0,name='
jike')
#定義常量
one = tf.constant(1)
#定義加法步驟【但沒有直接運算】
new =tf.add(state,one)
#將 state更新成 new
update =tf.assign(state,new)
#如果定義了variable,一定要 initialize
init =tf.global_variables_initializer()
#使用session
with tf.session() as sess:
sess.run(init) #啟用
for i in range(3):
sess.run(update)
print(sess.run(state)) #
將sess的指標指向 state
tensorflow 中的placeholder
placeholder
是 tensorflow 中的佔位符,暫時儲存變數.
tensorflow 如果想要從外部傳入data, 那就需要用到tf.placeholder()
importtensorflow as tf
#在 tensorflow 中需要定義 placeholder 的 type ,一般為 float32 形式
x =tf.placeholder(tf.float32)
y =tf.placeholder(tf.float32)
#mul = multiply 是將input1和input2 做乘法運算,並輸出為 output
z =tf.multiply(x,y)
#傳值的工作交給了 sess.run() , 需要傳入的值放在了feed_dict={}
with tf.session() as sess:
print(sess.run(z,feed_dict=))
莫煩 Tensorflow 變數
理解了tensorflow必須通過session去run才能輸出值,如果不通過session,那麼只能得到變數名字和型別,加深理解了tensorflow的機制。import tensorflow as tf state tf.variable 0,name counter print state 輸...
莫煩tensorflow系列教程學習
1.普通機器學習 函式係數 y 0.1x 0.3 coding gbk import tensorflow as tf import numpy as np 生成資料,y 0.1x 0.3 x data np.random rand 100 astype np.float32 y data x da...
莫煩Tensorflow 建造自己的NN
1 定義 add layer 定義乙個新增層的函式可以很容易的新增神經層 神經層裡常見的引數通常有weights biases和激勵函式 權重 偏置 啟用函式 import tensorflow as tf 輸入值 輸入的大小 輸出的大小和激勵函式,我們設定預設的激勵函式是none def add ...