神经网络——优化器

news2024/11/15 11:04:23

1.优化器介绍:

优化器集中在torch.optim中。

  • Constructing it

optimizer = optim.SGD(model.parameters(), lr=0.01, momentum=0.9)
optimizer = optim.Adam([var1, var2], lr=0.0001)
  • Taking an optimization step
for input, target in dataset:
    optimizer.zero_grad()
    output = model(input)
    loss = loss_fn(output, target)
    loss.backward()
    optimizer.step()

2.代码实战:

import torch
import torchvision
from torch import nn
from torch.nn import Sequential, Conv2d, MaxPool2d, Flatten, Linear
from torch.utils.data import DataLoader

dataset=torchvision.datasets.CIFAR10("data",train=False,transform=torchvision.transforms.ToTensor(),
                                     download=True)

#每个批次中加载的数据项数量
dataloader=DataLoader(dataset,batch_size=1)

class Tudui(nn.Module):
    def __init__(self):
        super(Tudui, self).__init__()

        self.model1=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 x

loss=nn.CrossEntropyLoss()
tudui=Tudui()

optim=torch.optim.SGD(tudui.parameters(),lr=0.01)

for epoch in range(20):
    running_loss=0.0
    for data in dataloader:
        imgs,targets = data
        outputs =tudui(imgs)
        result_loss=loss(outputs,targets)
        #清零
        optim.zero_grad()
        result_loss.backward()
        #调优
        optim.step()
        running_loss=running_loss+result_loss
    print(running_loss)

在这里插入图片描述
后面loss又升高,为反向优化

3.总结:

优化器的基本使用

  • 如果要知道各个优化器的详细用法
  • 需要对其有一定了解
  • 注意要多训练几轮

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2081209.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux 基础技术介绍

Linux 是最著名和最常用的开源操作系统。作为一种操作系统,Linux 是位于计算机上所有其他软件之下的软件,接收来自这些程序的请求并将这些请求转发到计算机的硬件。 图1 Linux的发行版之一 Ubuntu 23.04 在许多方面,Linux 与您之前可能使用过…

超详细Git的基本命令使用(三)

😀前言 本篇博文是关于Git的基本命令使用,希望你能够喜欢 🏠个人主页:晨犀主页 🧑个人简介:大家好,我是晨犀,希望我的文章可以帮助到大家,您的满意是我的动力&#x1f60…

【第51课】前后台功能点文件下载文件读取文件删除目录遍历目录穿越

免责声明 本文发布的工具和脚本,仅用作测试和学习研究,禁止用于商业用途,不能保证其合法性,准确性,完整性和有效性,请根据情况自行判断。 如果任何单位或个人认为该项目的脚本可能涉嫌侵犯其权利&#xff0…

(C语言) stdlib 程序终止

文章目录 💣前言💣程序终止🧨EXIT_SUCCESS & EXIT_FAILURE🧨_Exit (C99)🧨exit & atexit🧨🧨exit🧨🧨atexit 🧨quick_exit & at_quick_exit (C11…

config.h-config.cpp详解

config.h定义四种组合方式切换“ET LT” listenfd触发模式 ET LT connfd触发模式 ET LT LT是电平触发、ET是边缘触发。 level-triggered VS edge-triggered 电平触发:只要有就能触发。 边缘触发:从无到有才能触发。 以socket为例 可读:有数据…

Node 缓存、安全与鉴权

Node 缓存、安全与鉴权 1、Cookie1.1 Set-Cookie1.2 Cookie 的生命周期1.3 如何保证Cookie安全性1.4 Cookie 的作用域Domain 属性Path 属性 1.5 SameSite attribute1.6 JS操作Cookie1.7 安全性 2、 Node缓存2.1 缓存作用2.2 缓存类型强制缓存对比缓存(协商缓存&…

ET6框架(三)前后端通讯分析

文章目录 一、信息的通讯二、网络通讯协议的“理像模型”三、网络通讯协议的“四层模型”四、什么是 Socket?五、Socket通讯流程 一、信息的通讯 网络消息的发送类似于邮寄信件的流程,需要一个地址及收件人。 在网络通讯中通常我们需要一个IP地址及端口…

P2709 小B的询问

*原题链接* 非常简单的莫队板子题,让我们求出区间[l,r]中每个数出现次数的平方和,设枚举到,原来答案是res,如果加上后,则原来的变为,即res相比原来加上,删除同理。知道如何维护一个数的添加和删除后&#…

录屏软件合集【收藏版】

嘎嘎好用 为了提高办公效率,满足办公需求,我已经整理到下面了↓↓↓想要的可以自拿喔!自行领取吧

大模型本地化部署2-Docker部署MaxKB

大模型本地化部署2-Docker部署MaxKB 0、MaxKB简介1、安装docker2、在docker中拉取MaxKB镜像3、运行镜像4、访问MaxKB5、创建应用6、使用应用进行对话 0、MaxKB简介 MaxKB是一款基于LLM大预言模型的知识库问答系统。具有以下特点: 多模型支持:支持对接主…

Qt 调用执行 Python 函数

一.环境 Qt 5.15.2 python-3.12.5 二.安装 1.安装python-3.12.5.exe 三.配置 1.设置环境变量 2.设置Qt 编译环境 3.新建Python文件 4.运行 四.源码 1.修改pro文件 2.testPy.py 注意: .py文件需要拷贝到build目录下 def myPrint(string):print(string)def ad…

抖音ip会莫名其妙变成北京吗

‌‌抖音IP会莫名其妙变成北京吗?抖音的IP地址可能会莫名其妙变成‌北京‌,这通常是由于多种原因导致的,包括但不限于网络连接、用户使用的网络服务提供商等问题。以下是一些可能导致这种情况发生的原因和解决方法。 原因分析: 网…

mysql学习下

1:添加数据 1.1为表中所有字段添加数据 1.1.1NSERT 语句中指定所有字段名 语法:INSERT INTO 表名(字段名1,字段名2,…)VALUES(值1,值2,…); 例题:向student表中插⼊(id为1&#…

src-登陆框的常见测试思路

常见的登陆形式 第三方平台 OAuth 认证 用户名 密码 手机号 短信验证码 邮箱 邮件验证码 登陆框的常见测试思路 弱口令 弱口令指的是人为设定、复杂度较低的密码口令 为系统账户(尤其是管理员账户)设置弱口令会使得整个系统的身份认证模块…

graalvm jenkins maven 配置

1. maven 使用指定jdk编译 设置 JAVA_HOME环境变量: linux: linux: export JAVA_HOME/data/java/graalvm-jdk-22.0.29.1window: set JAVA_HOMED:\develop\Java\graalvm-jdk-22.0.29.1 2.mvn编译报错 问题 : Unable to make field private final java.util.Comparator java.…

波束搜索算法图解【Beam Search】

许多 NLP 应用程序(例如机器翻译、聊天机器人、文本摘要和语言模型)都会生成一些文本作为其输出。此外,图像字幕或自动语音识别(即语音转文本)等应用程序也会输出文本,即使它们可能不被视为纯 NLP 应用程序…

#网络高级 笔记

modbus_tcp协议 modbus_rtu协议和modbus库 http协议和web服务器搭建 服务器原码分析和基于WebServer的工业数据采集项目 第H5,即网页制作,项目完善 一、modbus起源 1.起源 Modbus由Modicon公司于1979年开发,是一种工业现场总线协议标准 Mo…

Harmony(鸿蒙)使用之Bugly的简单使用

Bugly环境:Bugly Harmony 版本,支持Harmony OS Next平台 开发工具版本:DevEco Studio NEXT Developer Beta1(以上),API 12 步骤一、创建产品,填写产品相关信息 1、注册完成后,可在…

R 语言学习教程,从入门到精通,R 绘图 中文支持(25)

1、R 绘图 中文支持 不同系统的字体库目录: Linux 一般在 /usr/share/fonts 下,我们可以使用 fc-list 命令查看: # fc-list /usr/share/fonts/truetype/dejavu/DejaVuSerif-Bold.ttf: DejaVu Serif:styleBold /usr/share/fonts/truetype/de…

vue事件监听

我们可以使用 v-on 指令 (简写为 ) 来监听 DOM 事件,并在事件触发时执行对应的 1.回车事件(点击回车触发) confirm 适用uni-app keyup.enter 适用vue3 运用场景:通常在文本框输入的时候使用 2.点击事件(鼠标左键…