日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

深度网络定义与使用

發布時間:2024/1/18 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 深度网络定义与使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

深度網絡定義與使用

深度網絡定義與使用

  • 深度網絡定義與使用
    • 1. 定義網絡
    • 2. 定義損失函數
    • 3. 定義優化方法
    • 實例:

具體可見:https://zh.d2l.ai/chapter_linear-networks/linear-regression-concise.html
深度學習總體框架包括:
數據準備,定義模型(輸入,輸出,前向傳播),定義損失函數(網絡輸出與真值的函數關系),定義優化方法(基于已有梯度更新參數的方法),訓練(迭代次數,輸出loss)

1. 定義網絡

class MLP(nn.Module)
init() 是數據準備,定義forward函數中所需要的參數
forwar()函數要跑一遍傳播過程
總體包括:
(可選)參數初始化
前向運算
激活函數,或者自己寫的任意函數,進行傳遞
輸出

2. 定義損失函數

網絡輸出與真值之間的損失函數

3. 定義優化方法

梯度可以通過自動求導求得。如何更新參數,要根據優化方法來確定。sgd,adam等
網絡是按照batch更新新的,梯度取batchsize的平均進行更新

實例:

num_epochs = 3 for epoch in range(num_epochs):for X, y in data_iter:l = loss(net(X) ,y)trainer.zero_grad()l.backward()#更新梯度(根據輸入緯度和網絡定義的緯度判斷batchsize并更新梯度)trainer.step()l = loss(net(features), labels)print(f'epoch {epoch + 1}, loss {l:f}')

總結

以上是生活随笔為你收集整理的深度网络定义与使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。