Pytorch学习--神经网络--优化器

server/2024/11/14 2:26:22/

一、头文件

torch.optim.Optimizer(params, defaults)
optim文档

python">for input, target in dataset:optimizer.zero_grad()output = model(input)loss = loss_fn(output, target)loss.backward()optimizer.step()

二、代码

不带优化器的代码框架

python">import torch
import torchvision
from torch import nn
from torch.nn import MaxPool2d, Conv2d, Flatten, Linear
from torch.utils.data import DataLoaderdataset = torchvision.datasets.CIFAR10("datasets",train=False,transform=torchvision.transforms.ToTensor(),download=True)
dataloader = DataLoader(dataset,batch_size=1)class Mary(nn.Module):def __init__(self):super(Mary,self).__init__()self.model1 = nn.Sequential(Conv2d(3, 32, 5, padding=2),MaxPool2d(2),Conv2d(32, 32, 5, padding=2),MaxPool2d(2),Conv2d(32, 64, 5, padding=2),MaxPool2d(2),Flatten(),Linear(1024, 64),Linear(64, 10))def forward(self,x):x = self.model1(x)return xYorelee = Mary()
loss = nn.CrossEntropyLoss()
optim = torch.optim.SGD(Yorelee.parameters(),lr=0.01)for epoch in range(20):total_loss = 0for data in dataloader:img,target = dataoutput = Yorelee(img)# print(output)# print(target)result_loss = loss(output,target)# print(result_loss)# print("***********************")optim.zero_grad()result_loss.backward()optim.step()total_loss += result_lossprint(total_loss)

输出:

python">tensor(18861.5215, grad_fn=<AddBackward0>)
tensor(16226.8633, grad_fn=<AddBackward0>)
tensor(15367.2148, grad_fn=<AddBackward0>)

http://www.ppmy.cn/server/140827.html

相关文章

不用JS实现鼠标悬停提示框,以及Emotion里:hover使用踩坑

不写onMouseEnter/onMouseLeave或者onMouseOver/onMouseOut&#xff0c;实现鼠标悬停提示框。Enter和Over的区别是&#xff0c;一个事件不冒泡&#xff0c;一个事件冒泡。 示例代码如下&#xff1a; <!DOCTYPE html> <html lang"zh"> <head><…

Unet++改进11:添加MLCA||轻量级的混合本地信道注意机制

本文内容:添加MLCA注意力机制 目录 论文简介 1.步骤一 2.步骤二 3.步骤三 4.步骤四 论文简介 注意机制是计算机视觉中应用最广泛的组成部分之一,它可以帮助神经网络突出重要元素,抑制无关元素。然而,绝大多数通道注意机制只包含通道特征信息,忽略了空间特征信息,导致…

Linux中.NET读取excel组件,不会出现The type initializer for ‘Gdip‘ threw an exception异常

组件&#xff0c;可通过nuget安装&#xff0c;直接搜名字&#xff1a; ExcelDataReader using ConsoleAppReadFileData.Model; using ExcelDataReader; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Task…

【大模型微调】一文掌握7种大模型微调的方法_大模型如何微调

本篇文章深入分析了大型模型微调的基本理念和多样化技术&#xff0c;细致介绍了LoRA、适配器调整(Adapter Tuning)、前缀调整(Prefix Tuning)等多个微调方法。详细讨论了每一种策略的基本原则、主要优点以及适宜应用场景&#xff0c;使得读者可以依据特定的应用要求和计算资源限…

IntelliJ IDEA 使用心得与常用快捷键

刚开始学习写Java的时候&#xff0c;用的eclipse&#xff0c;正式工作后&#xff0c;主要用的myeclipse&#xff0c;去年初在前辈的推荐下&#xff0c;在2折的时候买了正版的 IntelliJ IDEA 和 Pycharm&#xff0c;12.0版终生使用&#xff0c;一年更新。 使用前早就久闻其名&am…

IntelliJ IDEA 中创建目录时 `.` 和 `/` 的区别

前言 在使用 IntelliJ IDEA 进行项目开发时&#xff0c;合理地组织项目结构对于提高开发效率至关重要。尤其是在创建多级目录时&#xff0c;正确选择分隔符能够避免很多不必要的麻烦。本文将详细介绍在 IntelliJ IDEA 中创建目录时使用 . 和 / 的区别及其应用场景。 1. 使用 …

Docker配置及简单应用

谈论/理解 Docker 的常用核心部分&#xff0c;以下皆在 Ubuntu 操作系统下进行 1 国内源安装 Docker-ce 1.1 配置 Linux 内核流量转发 因为docker和宿主机的端口映射&#xff0c;本质是内核的流量转发功能&#xff0c;所以要对其进行配置 1.1.1 未配置流量转发 如果没有配置流…

记录一次element 表格中input不可编辑的原因

场景:从子组件中把列表数据显示到表格&#xff0c;表格中的数据input不可编辑。 showCouponSelect(couponSelect) {this.benefit.couponSelect JSON.parse(JSON.stringify(couponSelect))console.log(-----showCouponSelect-------)console.log(this.benefit.couponSelect)thi…