Tensorflow 2 0 線性回歸案例

2021-10-04 05:25:11 字數 1412 閱讀 6924

本文介紹乙個簡單的線性回歸例子:通過乙個隨機初始點(a1,b1)來擬合y=a*x+ b,

我們要擬合的函式模型:y= 6 * x + 3.68

**如下:

#匯入必要的模組

import tensorflow as tf

import numpy as np

#定義要擬合的函式模型

x =np.random.rand(

1000

)#隨機選擇1000個數進行1000次迭代

y =6

*x+3.68

#擬合過程中的初始點(隨機選擇乙個點)

weight=tf.variable(1.

,dtype=tf.float32,name=

'weight'

)bias=tf.variable(1.

,dtype=tf.float32,name=

'bias'

)#定義擬合函式

defmodel

(xs)

: logits=tf.multiply(xs,weight)

+bias

return logits

opt=tf.optimizers.adam(1e-

1)#選擇優化器,是一種梯度下降的方法

for xs,ys in

zip(x,y)

: xs=np.reshape(xs,[1

])#將資料reshape為一維張量

ys=np.reshape(ys,[1

])#用梯度下降法進行資料迭代

with tf.gradienttape(

)as tape:

_loss=tf.reduce_mean(tf.

pow(

(model(xs)

-ys),2

))/(

2*1000

) grads=tape.gradient(_loss,

[weight,bias]

)zip

(grads,

[weight,bias]))

print

('training loss is:'

,_loss.numpy())

print

(weight)

print

(bias)

1000此迭代以後的結果如下:

最後我們看到經過1000次的迭代,得到weight=5.999995和bias=3.6800025,也就是得到的擬合函式為 y =5.999995 * x + 3.6800025, 和實際函式y= 6 * x + 3.68相比誤差很小。

tensorflow2 0視訊記憶體設定

遇到乙個問題 新買顯示卡視訊記憶體8g但是tensorflow執行的時候介面顯示只有約6.3g的視訊記憶體可用,如下圖 即限制了我的視訊記憶體,具體原因為什麼我也不知道,但原來的視訊記憶體小一些的顯示卡就沒有這個問題。目前的解決辦法是 官方文件解決 然後對應的中文部落格 總結一下,就是下面的兩個辦法...

Tensorflow2 0 啟用函式

常用啟用函式及對應特點 神經網路結構的輸出為所有輸入的加權和,這導致整個神經網路是乙個線性模型。而線性模型不能解決異或問題,且面對多分類問題,也顯得束手無策。所以為了解決非線性的分類或回歸問題,啟用函式必須是非線性函式。神經網路中啟用函式的主要作用是提供網路的非線性建模能力。這是因為反向傳播演算法就...

初步了解TensorFlow2 0

為什麼要學習tensorflow?深度學習能夠更好地抽取資料中的規律,從而給公司帶來更大的價值 tensorflow是強大且靈活的開源框架 使用廣泛 2.0更加強大 易用 成熟 tensorflow是什麼?是google的開源軟體庫 採用資料流圖,用於數值計算 支援多平台 gpu cpu 移動裝置 ...