优化器(一)torch.optim.SGD-随机梯度下降法

news2024/11/15 22:22:53

torch.optim.SGD-随机梯度下降法

import torch
import torchvision.datasets
from torch import nn
from torch.utils.data import DataLoader

dataset = torchvision.datasets.CIFAR10(root='./data', train=False, download=True,
                                       transform=torchvision.transforms.ToTensor())
dataloader = DataLoader(dataset, batch_size=64, shuffle=True)


class Tudui(nn.Module):
    def __init__(self):
        super(Tudui, self).__init__()
        self.model1 = nn.Sequential(
            nn.Conv2d(in_channels=3, out_channels=32, kernel_size=5, stride=1, padding=2),
            nn.MaxPool2d(kernel_size=2),
            nn.Conv2d(in_channels=32, out_channels=32, kernel_size=5, stride=1, padding=2),
            nn.MaxPool2d(2),
            nn.Conv2d(32, 64, 5, padding=2),
            nn.MaxPool2d(2),
            nn.Flatten(),
            nn.Linear(1024, 64),
            nn.Linear(64, 10)
        )

    def forward(self, x):
        x = self.model1(x)
        return x


tudui = Tudui()
loss = nn.CrossEntropyLoss()
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 += result_loss
    print(running_loss)


在这里插入图片描述

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

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

相关文章

【51单片机】独立按键控制LED灯

不同于上篇文章只用代码控制,这次我们要再加上独立按键一同控制LED灯 目录 独立按键控制LED亮灭:代码实现: 独立按键控制LED状态:代码实现: 独立按键实现二进制LED显示:代码实现: 独立按键控制…

【C++】几种常用的类型转换

类型转换 c语言中的类型转换C的类型转换static_castreinterpret_castconst_castdynamic_cast c语言中的类型转换 在C语言中我们经常会遇到类型转化的问题,主要分为两种:显式类型转换和隐式类型转换。 显式类型转换:就是程序员使用强制类型转…

二叉树算法题(一)

根据二叉树创建字符串 根据二叉树创建字符串 给你二叉树的根节点 root ,请你采用前序遍历的方式,将二叉树转化为一个由括号和整数组成的字符串,返回构造出的字符串。 空节点使用一对空括号对 "()" 表示,转化后需要省…

SpringBoot全局Controller返回值格式统一处理

一、Controller返回值格式统一 1、WebResult类 在 Controller对外提供服务的时候,我们都需要统一返回值格式。一般定义一个 WebResult类。 统一返回值(WebResult类)格式如下: {"success": true,"code": 2…

PID各种算法的基本优缺点

PID时间系数对PID本身的影响 积分时间过小积分作用增强。 微分时间过大,微分控制作用过强,容易产生振荡。 在这里的时间系统,一般指的是采样的时间,也就是PID控制的周期。在无人机当中一般采用10ms控制一次。 一般来说采样周期越小…

PMP过了就是中级职称?

🌻PMP项目管理专业人士认证在全球范围内受到广泛认可,许多人就误以为获得PMP证书就等同于获得中级职称。但是,事实真的如此吗❓ 1️⃣PMP不属于职称认证 ✅PMP证书: 是由美国项目管理协会(PMI)颁发的专业认证,旨在证明…

GeoServer发布地图服务(WMS、WFS)

文章目录 1. 概述2. 矢量数据源3. 栅格数据源 1. 概述 我们知道将GIS数据大致分成矢量数据和栅格数据(地形和三维模型都是兼具矢量和栅格数据的特性)。但是如果用来Web环境中,那么使用图片这个栅格形式的数据载体无疑是最为方便的&#xff0…

入库和出库的成本对不上如果如何解决

入库是前期手工录入的车价是对的,出库是根据销售出库单生成的 入库成本和出库成本不一致的解决方法 解决方法: 整车管理——正车库存——库存核算——整车出库 成本核算

FC SAN光纤交换机维护介绍

一、什么是FC SAN ? ​存储区域网络(Storage Area Network,SAN)采用网状通道(Fibre Channel ,简称FC,区别与Fiber Channel光纤通道)技术,通过FC交换机连接存储阵列和服务…

QT上位机开发(会员充值软件)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 所有的控件当中,除了label、edit、radio、combobox和button之外,另外一个用的比较多的控件就是grid,也可称之为…

李沐-《动手学深度学习-02-目标检测

一 、目标检测算法 1. R-CNN a . 算法步骤 使用启发式搜索算法来选择锚框(选出多个锚框大小可能不一,需要使用Rol pooling)使用预训练好的模型(去掉分类层)对每个锚框进行特征抽取(如VGG,AlexNet…)训练…

CAD安装教程

CAD安装教程 目录 一. 下载CAD二. 安装CAD 一. 下载CAD 如果需要CAD安装包请私信。 二. 安装CAD 解压压缩包AutoCAD2022中文版,以管理员身份运行AutoCAD_2022_Simplified_Chinese_Win_64bit_dlm.sfx。 选择解压路径。…

DockerUI本地如何部署并结合内网穿透实现远程访问管理界面

文章目录 前言1. 安装部署DockerUI2. 安装cpolar内网穿透3. 配置DockerUI公网访问地址4. 公网远程访问DockerUI5. 固定DockerUI公网地址 前言 DockerUI是一个docker容器镜像的可视化图形化管理工具。DockerUI可以用来轻松构建、管理和维护docker环境。它是完全开源且免费的。基…

NACHI机器人虚拟示教器报I2101异常

前言 机器人示教器报:I2101 异常停止按钮或外部停止信号被输入 无法再示教模式下进行程序的运行! 解决方法 结果 最后测试可以正常的运行程序

大模型实战营Day2 轻松玩转书生·浦语大模型趣味Demo

大模型:参数数量巨大,拥有庞大计算能力和参数规模的模型 InternLM :是一个开源的轻量级训练框架,旨在支持模型预训练,而无需广泛的依赖关系。通过单一代码库,它支持在具有数千个 GPU 的大规模集群上进行预训…

Spark回归分析与特征工程

回归分析是统计学和机器学习中的一个重要分支,用于建立因变量与自变量之间的关系模型。在大数据领域,Apache Spark为回归分析提供了强大的工具和库,以处理大规模数据集。本文将深入探讨如何使用Spark进行回归分析以及如何进行特征工程&#x…

论文阅读记录SuMa SuMa++

首先是关于SuMa的阅读,SuMa是一个完整的激光SLAM框架,核心在于“基于面元(surfel)”的过程,利用3d点云转换出来的深度图和法向量图来作为输入进行SLAM的过程,此外还改进了后端回环检测的过程,利用提出的面元的概念和使…

软件测试|Windows系统安装Cypress教程

前言 每当提起web自动化测试,大家首先想到的就是selenium,最近这两年时间,出现了playwright和cypress这两款新的工具,不过现在应用范围还是不如selenium,之前我们介绍了playwright的使用,现在开始&#xf…

【c++】list的特性及使用

目录 一、list的介绍 二、list的深度剖析与模拟实现 1、list图解 2、list增删查改模拟实现 三、list与vector的对比 一、list的介绍 STL中的list指的是带头双向循环链表。list是可以在常数范围内任意位置进行插入和删除的序列式容器,并且可以前后双向迭代。lis…

【AI视野·今日CV 计算机视觉论文速览 第283期】Thu, 4 Jan 2024

AI视野今日CS.CV 计算机视觉论文速览 Thu, 4 Jan 2024 Totally 85 papers 👉上期速览✈更多精彩请移步主页 Daily Computer Vision Papers LEAP-VO: Long-term Effective Any Point Tracking for Visual Odometry Authors Weirong Chen, Le Chen, Rui Wang, Marc P…