tensorflow簡單示例 訓練線性模型

2021-09-21 17:59:27 字數 1442 閱讀 2841

import tensorflow as tf

import numpy as np

#使用numpy生成100個隨機點

#x_data,y_data表示的就是一條直線,斜率0.1,截距0.2

x_data=np.random.rand(100)

y_data=x_data*0.1+0.2

#構乙個造線性模型

b=tf.variable(0.) #截距是乙個小數的變數,初值為0

k=tf.variable(0.) #斜率是乙個小數的變數,初值為0

y=k*x_data+b

#定義二次代價函式,reduce_mean表示求平均值

#y_data表示真實值,y表示**值

loss=tf.reduce_mean(tf.square(y_data-y))

#定義優化器:使用梯度下降法來進行訓練的優化器,學習率為0.2

optimizer=tf.train.gradientdescentoptimizer(0.2)

#訓練的目的是最小化代價函式

#loss越小,表示我們**的y越接近於y_data,也就是說k越接近於0.1,b越接近於0.2

train=optimizer.minimize(loss)

#初始化所有變數

init=tf.global_variables_initializer()

#定義會話

with tf.session() as sess:

sess.run(init)

#迭代訓練

for step in range(201):

sess.run(train)

#每迭代20次,輸出k和b的值

if step%20==0:

print("step",step,":",sess.run([k,b]))

執行結果:

step 0 : [0.051535882, 0.09921893]

step 20 : [0.101684995, 0.19912249]

step 40 : [0.10089934, 0.1995317]

step 60 : [0.10047999, 0.19975007]

step 80 : [0.10025618, 0.19986661]

step 100 : [0.10013673, 0.1999288]

step 120 : [0.100072995, 0.19996199]

step 140 : [0.10003896, 0.19997971]

step 160 : [0.10002078, 0.19998918]

step 180 : [0.10001109, 0.19999422]

step 200 : [0.10000592, 0.19999692]

tensorflow學習之新增層並簡單訓練

import tensorflow as tf import numpy as np def add layer inputs,in size,out size,activation function none weights tf.variable tf.random normal in size...

TensorFlow簡單介紹

tensorflow簡單介紹 tensorflow中文社群 中文社群中是這個介紹的 tensorflow tensorflow是乙個採用資料流圖 data flow graphs 用於數值計算的開源軟體庫。節點 nodes 在圖中表示數學操作,圖中的線 edges 則表示在節點間相互聯絡的多維資料陣...

Tensorflow基本概念理解示例

tensorflow 主要包括兩部分 構建圖模型和計算圖模型。圖模型的基本構成是節點,每個節點代表的是乙個操作 operation 或者理解成函式,每個節點都有輸入輸出,每個節點通過線條相連。例如常數節點 constant node 沒有輸入,輸出為常數 變數節點 variable node 可以更...