TensorFlow1 x入門(4) 線性回歸

2021-10-04 15:41:48 字數 2054 閱讀 4899

本教程有同步的github位址

0. 統領篇

1. 計算圖的建立與啟動

2. 變數的定義及其操作

3. feed與fetch

4. 線性回歸

5. 構建非線性回歸模型

6. 簡單分類問題

7. dropout與優化器

8. 手動調整學習率與tensorboard

9. 卷積神經網路(cnn)

10. 迴圈神經網路(rnn)

11. 模型的儲存與恢復

線性回歸:是回歸問題,形式如y=k

×x+b

y=k\times x + b

y=k×x+

b。np.random.rand()通過這個函式可以生成乙個或者一組從0-1均勻分布的隨機樣本值。隨機樣本的取值範圍是[0, 1)。

tf.square()計算平方,針對乙個或者一組資料進行平方計算,即x^2

tf.reduce_mean()計算平均數,計算乙個list的平均數。

tf.train.gradientdescentoptimizer()定義sgd優化器。

#%% md

# 線性回歸

#%%import tensorflow as tf

import numpy as np

#%% md

生成隨機的資料點100個

np.random.rand(

)函式作用:

通過本函式可以返回乙個或一組服從「0

~1」均勻分布的隨機樣本值。隨機樣本取值範圍是\[0,

1),不包括1。

#%%x_data = np.random.rand(

100)

y_data =

0.1* x_data +

0.2#%%

x_data

#%%y_data

#%% md

構造線性模型

#%%b = tf.variable(0.

)k = tf.variable(0.

)y = k * x_data + b

#%%k

#%%b

#%%y

#%% md

建立二次代價函式

`tf.square(

)`計算平方

`tf.reduce_mean(

)`計算均值

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

)#%%

loss

#%% md

定義優化器

#%%optim = tf.train.gradientdescentoptimizer(

0.2)

#%%optim

#%% md

最小化代價函式

#%%train_step = optim.minimize(loss)

#%%train_step

#%% md

初始化全部的變數

#%%init = tf.global_variables_initializer(

)#%% md

訓練迭代

#%%with tf.session(

)as sess:

sess.run(init)

for step in

range

(2000):

sess.run(train_step)

if step %

20==0:

k_value, b_value, loss_value = sess.run(

[k, b, loss]

)print

("k={}, b={}, loss={}"

.format

(k_value, b_value, loss_value)

)#%%

tensorflow1 x具體安裝過程

安裝方案1 已有環境解除安裝 conda uninstall env name 安裝命令為 conda install tensorflow 1.7.0 或者安裝離線tf包 pip install d 安裝包 tensorflow 1.4.0rc1 cp36 cp36m win amd64.whl ...

重新整理tensorflow 1 x基本概念(2)

variable 在tensorflow中,用variable表示可以改變其值的特殊tensor,是用於表示程式處理的共享持久狀態的推薦方法。許多高階的庫 如 tf.keras 使用 tf.variable 來儲存模型引數。要建立變數,請提供乙個初始值。tf.variable 與初始值的 dtype...

tensorflow入門筆記(1)

計算圖 tf.graph 張量 tf.tensor 會話 tf.session 計算圖的每乙個節點都是乙個運算,計算圖的邊則表示了運算之間的傳遞關係。張量是乙個多維陣列,主要儲存三個屬性 名字 維度 型別 型別一旦定義不能改變 在張量中並沒有真正儲存數字,它儲存的是如何得到這些數字的計算過程。a t...