PyTorch——優化器(9)

優化器根據梯度調整參數,以達到降低誤差

import torch.optim
import torchvision
from torch import nn
from torch.nn import Sequential, Conv2d, MaxPool2d, Flatten, Linear
from torch.utils.data import DataLoader# 加載CIFAR10測試數據集,設置transform將圖像轉換為Tensor
dataset = torchvision.datasets.CIFAR10("./data", train=False, transform=torchvision.transforms.ToTensor(),download=True)
# 創建數據加載器,設置批量大小為64
dataloader = DataLoader(dataset, batch_size=64)# 定義卷積神經網絡模型
class TY(nn.Module):def __init__(self):super(TY, self).__init__()# 構建網絡結構:3個卷積層+池化層組合,2個全連接層self.model1 = Sequential(Conv2d(3, 32, 5, padding=2),    # 輸入3通道,輸出32通道,卷積核5x5MaxPool2d(2),                   # 最大池化,步長2Conv2d(32, 32, 5, padding=2),   # 第二層卷積MaxPool2d(2),                   # 第二次池化Conv2d(32, 64, 5, padding=2),   # 第三層卷積MaxPool2d(2),                   # 第三次池化Flatten(),                      # 將多維張量展平為向量Linear(1024, 64),               # 全連接層,輸入1024維,輸出64維Linear(64, 10),                 # 輸出層,10個類別對應10個輸出)def forward(self, x):# 定義前向傳播路徑x = self.model1(x)return x# 定義損失函數(交叉熵損失適用于多分類問題)
loss = nn.CrossEntropyLoss()
# 實例化模型
ty = TY()
# 定義優化器(隨機梯度下降),設置學習率為0.01
optim = torch.optim.SGD(ty.parameters(), lr=0.01)# 訓練20個完整輪次
for epoch in range(20):running_loss = 0.0  # 初始化本輪累計損失# 遍歷數據加載器中的每個批次for data in dataloader:imgs, targets = data  # 獲取圖像和標簽outputs = ty(imgs)    # 前向傳播result_loss = loss(outputs, targets)  # 計算損失optim.zero_grad()     # 梯度清零,防止累積result_loss.backward()  # 反向傳播計算梯度optim.step()          # 更新模型參數running_loss += result_loss  # 累加損失值# 打印本輪訓練的累計損失print(f"Epoch {epoch+1}, Loss: {running_loss}")

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/84002.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/84002.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/84002.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

c++學習-this指針

1.基本概念 非靜態成員函數都會默認傳遞this指針(靜態成員函數屬于類本身,不屬于某個實例對象),方便訪問對象對類成員變量和 成員函數。 2.基本使用 編譯器實際處理類成員函數,this是第一個隱藏的參數,類…

【Oracle】數據倉庫

個人主頁:Guiat 歸屬專欄:Oracle 文章目錄 1. 數據倉庫概述1.1 為什么需要數據倉庫1.2 Oracle數據倉庫架構1.3 Oracle數據倉庫關鍵技術 2. 數據倉庫建模2.1 維度建模基礎2.2 星形模式設計2.3 雪花模式設計2.4 緩慢變化維度(SCD)處…

css-塞貝爾曲線

文章目錄 1、定義2、使用和解釋 1、定義 cubic-bezier() 函數定義了一個貝塞爾曲線(Cubic Bezier)語法:cubic-bezier(x1,y1,x2,y2) 2、使用和解釋 x1,y1,x2,y2,表示兩個點的坐標P1(x1,y1),P2(x2,y2)將以一條直線放在范圍只有 1 的坐標軸中,并…

函數式接口實現分頁查詢

你提供的 PageResult 類是一個非常完整、功能齊全的分頁結果封裝類,它包含了: 當前頁數據(list)總記錄數(totalCount)總頁數(totalPage)當前頁碼(pageNo)每頁…

Global Security Markets 第 10 章衍生品知識點總結?

一、衍生品的定義與本質 衍生品,作為一種金融工具,其價值并非獨立存在,而是緊密依賴于其他資產,如常見的股票、債券、商品,或者市場變量,像利率、匯率、股票指數等。這意味著衍生品的價格波動,…

DJango知識-模型類

一.項目創建 在想要將項目創鍵的目錄下,輸入cmd (進入命令提示符)在cmd中輸入:Django-admin startproject 項目名稱 (創建項目)cd 項目名稱 (進入項目)Django-admin startapp 程序名稱 (創建程序)python manage.py runserver 8080 (運行程序)將彈出的網址復制到瀏覽器中…

八股學習-JS的閉包

一.閉包的定義 閉包是指函數和其周圍的詞法環境的引用的組合。 簡單來說,就是函數可以記住并訪問其在定義時的作用域內的變量,即使該函數在其它作用域調用。 也就是說,閉包讓你可以在一個內層函數中訪問到其外層函數的作用域。 function …

qt使用筆記二:main.cpp詳解

Qt中main.cpp文件詳解 main.cpp是Qt應用程序的入口文件&#xff0c;包含程序的啟動邏輯。下面我將詳細解析其結構和功能。 基本結構 一個典型的Qt main.cpp 文件結構如下&#xff1a; #include <QApplication> // 或者 QGuiApplication/QCoreApplication #include &…

如何構建船舵舵角和船的航向之間的動力學方程?它是一個一階慣性環節嗎?

提問 船舵和船的航向之間的動力學方程是什么&#xff1f;是一個一階慣性環節嗎&#xff1f; 回答 船舵和船的航向&#xff08;航向角&#xff09;之間的動力學關系并不是一個簡單的一階慣性環節&#xff0c;雖然在某些簡化控制模型中可以近似為一階系統。實際上&#xff0c;…

抖去推--短視頻矩陣系統源碼開發

一、開發短視頻矩陣系統的源碼需要以下步驟&#xff1a; 確定系統需求&#xff1a; 根據客戶的具體業務目標&#xff0c;明確系統需實現的核心功能模塊&#xff0c;例如用戶注冊登錄、視頻內容上傳與管理、多維度視頻瀏覽與推薦、用戶互動&#xff08;評論、點贊、分享&#xf…

Windows 下搭建 Zephyr 開發環境

1. 系統要求 操作系統&#xff1a;Windows 10/11&#xff08;64位&#xff09;磁盤空間&#xff1a;至少 8GB 可用空間&#xff08;Zephyr 及其工具鏈較大&#xff09;權限&#xff1a;管理員權限&#xff08;部分工具需要&#xff09; 2. 安裝必要工具 winget安裝依賴工具&am…

三分算法與DeepSeek輔助證明是單峰函數

前置 單峰函數有唯一的最大值&#xff0c;最大值左側的數值嚴格單調遞增&#xff0c;最大值右側的數值嚴格單調遞減。 單谷函數有唯一的最小值&#xff0c;最小值左側的數值嚴格單調遞減&#xff0c;最小值右側的數值嚴格單調遞增。 三分的本質 三分和二分一樣都是通過不斷縮…

安全月報 | 傲盾DDoS攻擊防御2025年5月簡報

引言 在2025年5月&#xff0c;全球數字化進程高歌猛進&#xff0c;各行各業深度融入數字浪潮&#xff0c;人工智能、物聯網、大數據等前沿技術蓬勃發展&#xff0c;進一步夯實了數字經濟的基石。然而&#xff0c;在這看似繁榮的數字生態背后&#xff0c;網絡安全威脅正以驚人的…

【Spring】Spring哪些源碼解決了哪些問題P1

歡迎來到啾啾的博客&#x1f431;。 記錄學習點滴。分享工作思考和實用技巧&#xff0c;偶爾也分享一些雜談&#x1f4ac;。 有很多很多不足的地方&#xff0c;歡迎評論交流&#xff0c;感謝您的閱讀和評論&#x1f604;。 目錄 Spring是怎么處理請求的&#xff1f;Spring請求方…

堅持每日Codeforces三題挑戰:Day 4 - 題目詳解(2025-06-07,難度:1000, 1100, 1400)

前言&#xff1a; 此文章主要是記錄每天的codeforces刷題&#xff0c;還有就是給其他打算法競賽的人一點點點點小小的幫助&#xff08;畢竟現在實力比較菜&#xff0c;題目比較簡單&#xff0c;但我還是會認真寫題解&#xff09;。 之前忙學校事情&#xff0c;懈怠了一段時間…

6.7本日總結

一、英語 復習默寫list10list19&#xff0c;07年第3篇閱讀 二、數學 學習線代第一講&#xff0c;寫15講課后題 三、408 學習計組第二章&#xff0c;寫計組習題 四、總結 本周結束線代第一講和計組第二章&#xff0c;之后學習計網4.4&#xff0c;學完計網4.4之后開操作系…

PGSR : 基于平面的高斯濺射高保真表面重建【全流程分析與測試!】【2025最新版!!】

【PGSR】: 基于平面的高斯濺射高保真表面重建 前言 三維表面重建是計算機視覺和計算機圖形學領域的核心問題之一。隨著Neural Radiance Fields (NeRF)和3D Gaussian Splatting (3DGS)技術的發展&#xff0c;從多視角RGB圖像重建高質量三維表面成為了研究熱點。今天我們要深入…

從認識AI開始-----AutoEncoder:生成模型的起點

前言 從15年開始&#xff0c;在深度學習的重要模型中&#xff0c;AutoEncoder&#xff08;自編碼器&#xff09;可以說是打開生成模型世界的起點。它不僅是壓縮與重建的工具&#xff0c;更是VAE、GAN、DIffusion等復雜生成模型的思想起源。其實AutoEncoder并不復雜&#xff0c;…

解決MySQL8.4報錯ERROR 1524 (HY000): Plugin ‘mysql_native_password‘ is not loaded

最近使用了MySQL8.4 , 服務啟動成功,但是就是無法登陸,并且報錯: ERROR 1524 (HY000): Plugin mysql_native_password is not loaded 使用如下的命令也報錯 mysql -u root -p -P 3306 問題分析: 在MySQL 8.0版本中,默認的認證插件從mysql_native_password變更為cachi…

TDengine 開發指南——無模式寫入

簡介 在物聯網應用中&#xff0c;為了實現自動化管理、業務分析和設備監控等多種功能&#xff0c;通常需要采集大量的數據項。然而&#xff0c;由于應用邏輯的版本升級和設備自身的硬件調整等原因&#xff0c;數據采集項可能會頻繁發生變化。為了應對這種挑戰&#xff0c;TDen…