由於疫情在家無所事事,零基礎動手學習深度學習,參加datawhale的公益ai學習課程,使用伯禹平台和和鯨,本次學習參考教材使用pytorch版的動手學深度學習。
主要有三部分,(1)安裝anaconda軟體,pytorch安裝 ;(2)理論學習,包括線性回歸,softmax與分類模型,多層感知機,過擬合欠擬合及解決方案;(3)程式解讀。
線性回歸模型從零開始的實現
(1)生成資料集(自己生成的資料集,若有現成資料集,也可以直接匯入)
使用線性模型來生成資料集,生成乙個1000個樣本的資料集,下面是用來生成資料的線性關係:
price=warea⋅area+wage⋅age+b
(2)使用影象來展示生成的資料
plt.scatter(features[:, 1].numpy(), labels.numpy(), 1);
(3)讀取資料集
(4)初始化模型引數
對於w,一般產生乙個比0稍微偏差一點的數,而b,則初始化為0
(5)定義模型
定義用來訓練引數的訓練模型:
price=warea⋅area+wage⋅age+b
定義損失函式
使用的是均方誤差損失函式:
定義優化函式
在這裡優化函式使用的是小批量隨機梯度下降:
(6)訓練
當資料集、模型、損失函式和優化函式定義完了之後就可來準備進行模型的訓練了。
動手學深度學習PyTorch版 筆記彙總
pytorch的tensor,它可以是零維 又稱為標量或乙個數 一維 二維及多維的陣列。tensor自稱為神經網路界的numpy,它與numpy相似,二者可以共享記憶體,且之間的轉換非常方便和高效。不過它們也有不同之處,最大的區別就是numpy會把ndarray放在cpu中進行加速運算,而由torc...
《動手學深度學習》pytorch版筆記一
動手學深度學習 pytorch版筆記 與其說是筆記,不如說是問題集,有些已經搞清楚了,記錄一下。有些還沒搞清楚,先列在這裡,以後有空再慢慢查文件填坑。task 1 線性回歸 1.向量化運算以及矩陣的維度表示 2.torch.randn np.random.normal 等隨機數組生成函式 3.ten...
Pytorch 動手學深度學習(二)
學習安排如下 task03 過擬合 欠擬合及其解決方案 梯度消失 梯度 迴圈神經網路高階 1天 task04 機器翻譯及相關技術 注意力機制與seq2seq模型 transformer 1天 task05 卷積神經網路基礎 lenet 卷積神經網路高階 1天 梯度消失部分,主要是協變數偏移 標籤偏移...