一、回歸(使用tf.keras訓練模型)
1-在jupyter notebook環境中執行程式
import pandas as pd//pandas為資料處理工具
data = pd.
read_csv
('eee.csv'
)//在建立的notebook檔案當前目錄下建立csv資料檔案,並匯入。圖中csv檔案為自己簡單建立。
data//顯示資料
import matplotlib.pyplot as plt
%matplotlib inline
plt.
scatter
(data.ed, data.mm)
//繪圖
x=data.ed
y=data.mm//定義x軸、y軸資料
model = tf.keras.
sequential()
//使用順序模型sequential
model.
add(tf.keras.layers.
dense(1
,input_shape=(1
,)))
//添dense層-確定輸入輸出維度為1
model.
summary()
//檢視模型
model.
compile
(optimizer=
'adam'
,//優化方法
loss=
'mse'
//損失函式-均方差
)//編譯
history = model.
fit(x, y, epochs=
5000
)//記錄訓練過程
張量依據維數可以分為一維、二維和三維張量,舉例分別為[1,2,3] [[1,2,3],[4,5,6]] [[[1,2,3],[4,5,6]], [[7,8,9],[10,11,12]]]
可以理解為向量,矩陣和多頁矩陣。
張量的階數也稱為維度,或軸axis。
比如乙個矩陣[[1,2],[3,4]],是個二維張量,有兩個維度。
沿著第0個軸可以看到 [1,2] [3,4],按行取出,每一行作為乙個向量;
沿著第1個軸可以看到[1,3] [2,4] ,按列取出,每一列作為乙個向量。
import numpy as np
a = np.array([[1,2],[3,4]])
s0 = np.sum(a, axis=0) #即[1,2],[3,4]相加
s1 = np.sum(a, axis=1) #即[1,3],[2,4]相加
print(s0)
print(s1)
結果顯示為:
[4, 6]
[3, 7]
形象話理解
具體見輸出維度在哪個維度上求和則相應去掉哪個維度。比如3x2x2,在axis=0上求和,則輸出2x2.
三、誤差計算相關概念
3.1均方差
mse函式把輸出向量和真實向量對映到笛卡爾座標系兩個點,計算歐式距離衡量誤差;
3.2交叉熵
資訊熵來衡量資訊的不確定度,熵越大,不確定性越大
TensorFlow2 0入門筆記 3
tensorflow2.0求梯度預設是eager模式,每行 順序執行,沒有了構建圖的過程 也取消了control dependency的用法 要乙個上下文管理器 context manager 來連線需要計算梯度的函式和變數,方便求解同時也提公升效率。from future import absol...
tensorflow2 0視訊記憶體設定
遇到乙個問題 新買顯示卡視訊記憶體8g但是tensorflow執行的時候介面顯示只有約6.3g的視訊記憶體可用,如下圖 即限制了我的視訊記憶體,具體原因為什麼我也不知道,但原來的視訊記憶體小一些的顯示卡就沒有這個問題。目前的解決辦法是 官方文件解決 然後對應的中文部落格 總結一下,就是下面的兩個辦法...
Tensorflow2 0 啟用函式
常用啟用函式及對應特點 神經網路結構的輸出為所有輸入的加權和,這導致整個神經網路是乙個線性模型。而線性模型不能解決異或問題,且面對多分類問題,也顯得束手無策。所以為了解決非線性的分類或回歸問題,啟用函式必須是非線性函式。神經網路中啟用函式的主要作用是提供網路的非線性建模能力。這是因為反向傳播演算法就...