当前位置: 首页 > news >正文

torch训练简单例子

import torch
import torch.nn as nn
import torch.optim as optim

# 定义一个简单的模型
class MyModel(nn.Module):
    def __init__(self):
        super(MyModel, self).__init__()
        self.fc = nn.Linear(10, 5)

    def forward(self, x):
        return self.fc(x)

# 创建模型实例
model = MyModel()

# 检查GPU是否可用
device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')

# 将模型移动到GPU
model.to(device)

# 创建优化器
optimizer = optim.SGD(model.parameters(), lr=0.1)

# 定义随机数生成的样本数量
batch_size = 32
# 定义训练轮数
num_epochs = 10

# 执行训练循环
for epoch in range(num_epochs):
    model.train()  # 设置模型为训练模式
    for _ in range(batch_size):
        # 生成随机输入数据和目标数据
        inputs = torch.randn(batch_size, 10).to(device)
        targets = torch.randn(batch_size, 5).to(device)

        # 前向传播
        outputs = model(inputs)
        loss = nn.MSELoss()(outputs, targets)

        # 反向传播和梯度更新
        optimizer.zero_grad()
        loss.backward()
        optimizer.step()

    # 在评估阶段禁用梯度计算
    with torch.no_grad():
        model.eval()  # 设置模型为评估模式
        for _ in range(batch_size):
            # 生成随机输入数据
            inputs = torch.randn(batch_size, 10).to(device)

            # 前向传播
            outputs = model(inputs)

            # 对输出进行处理...

相关文章:

  • C语言入门到精通之练习37:输入3个数a,b,c,按大小顺序输出。
  • AES加密原理
  • LeetCode 每日一题 2024/1/29-2024/2/4
  • 突破编程_C++_面试(基础知识(5))
  • 正点原子--STM32定时器学习笔记(2)
  • CSS Day11- 动画
  • Redis抓取数据到Logstash再推到Elasticsearch集群
  • 【Linux Day15 TCP网络通讯】
  • (bean配置类的注解开发)学习Spring的第十三天
  • 一文详解RTSP协议:流媒体传输控制协议
  • AtCoder Beginner Contest 338 G. evall(枚举+递推 统计贡献)
  • 【QT+QGIS跨平台编译】之二十六:【SpatialIndex+Qt跨平台编译】(一套代码、一套框架,跨平台编译)
  • 金和OA jc6 UploadFileBlock 任意文件上传漏洞复现
  • 学成在线:媒体资源管理系统(MAM)
  • onnx转换为rknn置信度大于1,图像出现乱框问题解决
  • crontab执行失败的多种原因
  • Debian下无root权限使用Python访问Oracle
  • Git的一些常用操作
  • Java反射-动态类加载和重新加载
  • PHP 的 SAPI 是个什么东西
  • SpringBoot几种定时任务的实现方式
  • vue总结
  • 阿里云ubuntu14.04 Nginx反向代理Nodejs
  • 深入浅出webpack学习(1)--核心概念
  • 使用 Node.js 的 nodemailer 模块发送邮件(支持 QQ、163 等、支持附件)
  • 树莓派 - 使用须知
  • 腾讯视频格式如何转换成mp4 将下载的qlv文件转换成mp4的方法
  • 通过获取异步加载JS文件进度实现一个canvas环形loading图
  • 文本多行溢出显示...之最后一行不到行尾的解决
  • 一道闭包题引发的思考
  • mysql 慢查询分析工具:pt-query-digest 在mac 上的安装使用 ...
  • 进程与线程(三)——进程/线程间通信
  • 如何在 Intellij IDEA 更高效地将应用部署到容器服务 Kubernetes ...
  • 如何在招聘中考核.NET架构师
  • ​DB-Engines 11月数据库排名:PostgreSQL坐稳同期涨幅榜冠军宝座
  • #QT(一种朴素的计算器实现方法)
  • $.ajax中的eval及dataType
  • (1/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (1综述)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练
  • (3)Dubbo启动时qos-server can not bind localhost22222错误解决
  • (C#)Windows Shell 外壳编程系列4 - 上下文菜单(iContextMenu)(二)嵌入菜单和执行命令...
  • (Redis使用系列) Springboot 使用redis实现接口Api限流 十
  • (附源码)springboot家庭财务分析系统 毕业设计641323
  • (提供数据集下载)基于大语言模型LangChain与ChatGLM3-6B本地知识库调优:数据集优化、参数调整、Prompt提示词优化实战
  • (原创)攻击方式学习之(4) - 拒绝服务(DOS/DDOS/DRDOS)
  • (转)c++ std::pair 与 std::make
  • (转)一些感悟
  • ******IT公司面试题汇总+优秀技术博客汇总
  • ./configure,make,make install的作用
  • .NetCore实践篇:分布式监控Zipkin持久化之殇
  • .net操作Excel出错解决
  • .net通用权限框架B/S (三)--MODEL层(2)
  • /proc/interrupts 和 /proc/stat 查看中断的情况
  • ??在JSP中,java和JavaScript如何交互?
  • @for /l %i in (1,1,10) do md %i 批处理自动建立目录