6-SoftMax回归

news/2024/9/19 16:54:19/文章来源:https://www.cnblogs.com/morehair/p/18376447

https://blog.csdn.net/qq_43799400/article/details/131202148

写代码遇到问题
1、使用data.DataLoader时如果使用多进程num_workers,会报错

其原因可能是

https://blog.csdn.net/KaelCui/article/details/106184158
2、loss的backward
注意backward只能对标量,而不是对张量。
我们定义损失函数时,如果没有进行reduction=sum/mean,那么损失函数返回的是张量
3、DataLoader的第一个参数必须是dataset数据集
在线性回归中,我们先将数据转为dataset再放入DataLoader

这是因为我们要先将多个张量合并到pytorch的一个统一的数据集中才可以

import torch
from torch.utils import data# 准备数据
true_w = torch.tensor([2, -3.4])
true_b = 4.2def synthetic_data(w, b, num_examples):x = torch.normal(0, 1, size=(num_examples, 2))y = torch.matmul(x, w) + by += torch.normal(0, 1, size = y.shape)return x, y.reshape((-1, 1))features, labels = synthetic_data(true_w, true_b, 1000)# 获取数据
def load_data(data_arrays, batch_size, is_train = True):dataset = data.TensorDataset(*data_arrays) # 使用data.TensorDataset函数将输入的data_arrays中的张量组合成一个数据集return data.DataLoader(dataset, batch_size, shuffle=is_train) # 使用data.DataLoader函数将数据集包装成一个数据加载器data_iter = load_data((features, labels), 10)# 构造模型
net = torch.nn.Sequential(torch.nn.Linear(2, 1)) # 输入特征形状  输出特征形状
net[0].weight.data.normal_(0, 0.01)
net[0].bias.data.fill_(0)# 定义损失函数和优化器
loss = torch.nn.MSELoss()
optimizer = torch.optim.SGD(net.parameters(), lr=0.01)# 训练
epochs = 10
for epoch in range(epochs):for X, Y in data_iter:l = loss(net(X), Y)optimizer.zero_grad()l.backward()optimizer.step()l = loss(net(features), labels)print('epoch:{},  loss:{}'.format(epoch+1, l.item()))

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

浅谈C#中的值类型和引用类型

1. 值类型常见的值类型:int/long/short/byte/float/double/bool/char/Struct(用户建立的结构体通常是值类型的)/Nullable Types(这是一个特殊的值类型,表示一个正常值或者空,比如int?) 值类型的例子:int a=10; int b=a;Console.WriteLine($"a:{a}");//a:10 Co…

图解Kafka:Kafka架构演化与升级!

了解了 Kafka 架构就掌握了 Kafka 最核心的知识,Kafka 作为业界最知名、最流行的消息系统和流式处理组件,在面试中和日常工作中经常会见到。那么今天,我们就来聊聊 Kafka 的架构演化与升级,并通过图解的方式让你一目了然。 1.Kafka 初印象 Kafka 最初由 LinkedIn 公司开发,…

Nginx配置SSL证书:轻松实现网站的HTTPS加密!

成功配置SSL证书后,您将能够通过HTTPS加密通道安全访问Nginx服务器。一、准备材料 SSL证书绑定的域名已完成DNS解析,即您的域名与主机IP地址相互映射。您可以通过DNS验证证书工具,检测域名DNS解析是否生效。具体操作: 【1】登录数字证书管理服务控制台。 【2】在左侧导航栏…

为什么通过clear_refs可以使进程触发缺页?

平台 ARM64 Linux 6.10 作者 pengdonglin137@163.com 背景 最近在学习Linux的缺页异常时突然奇想,在不进行内存换出的情况下,如何让进程再次触发缺页? 基于对ARMv8的理解,它的MMU的页表项中有个AF位,当AF为0时,当访问到对应的虚拟页时,会触发缺页。如果AF位为0,当访问到…

复选框单选

const lastDataHandle = ref(null); // 上次选择的dataHandle值 const dataHandle: any = ref([]); const dataHandleALLList = [{ label: 无, value: 0 },{ label: 上传照片, value: 1 },{ label: 二维建模, value: 2 }, ]; // 单选 function setLastDataHandle() {lastDataHa…

解码“智慧市政”的创新实践与战略意义

在这个日新月异的信息时代,智慧城市建设已成为全球共识,而“智慧市政”作为其核心组成部分,正以前所未有的速度重塑城市管理和服务模式。智慧市政:定义与价值智慧市政,是指利用先进的信息技术,如地理信息系统(GIS)、物联网(IoT)、大数据分析、人工智能(AI)等,对城…

WPF 模仿前端大佬写一个Hover效果

先看一下效果吧: 原博主的地址:【动画进阶】神奇的卡片 Hover 效果与 Blur 的特性探究 - ChokCoco - 博客园 (cnblogs.com) 原效果是一个css效果,我们采用WPF的方式模仿一下 因为技术有限,没有原博主的那么好看,毕竟盗版永远比不过原版... 然后这里看一下盗版的怎么写吧 先…

信息收集利器|一款功能强大的子域收集工具

01工具介绍 (下载地址见最后) 在hw等攻防演练中,信息收集做为演练厨师阶段最重要的步骤,方式方法尤为重要,好的工具达到事半功倍的效果。OneForAll是一款集百家之长,功能强大的全面快速子域收集终极神器。 解决以下痛点: 在渗透测试中信息收集的重要性不言而喻,子域收集…

[poc] hw情报-泛微 e-cology v10 远程代码执行漏洞

漏洞介绍 (poc下载地址见最后)泛微披露了e-cology远程代码执行漏洞。该漏洞允许攻击者通过e-cology-10.0前台获取管理员访问令牌,然后利用JDBC反序列化,实现远程代码执行。 漏洞描述通过/papi/passport/rest/appThirdLogin接口获取管理员账号票据,根据该票据获取访问令牌,…

Tita的OKR :产品经理的OKR

产品经理制定的OKR,对组织发展有重大的意义,它能促使产品经理,产品团队,乃至是公司全体员工走出舒适区,超越能力边界。正因为挑战的存在,才使得产品经理才有忧患意识,不断改进产品,从而适应竞争激烈的市场。只有不断改善、创新和突破,才能让产品经理的能力不断提升,才…

About Living 生存之道

About Living 生存之道 爱 健康 财富 是人生值得追求的东西!人生不过是一段体验。我们都是时间的囚徒,活在当下。有趣!有料! 一个人的命运啊,当然要靠自我奋斗,但是也要考虑到历史的行程---奋斗是加法,趋势是乘法 我相信这世界上,有些人有些事有些爱,在见到的第一次,…

JAVA 封装

封装 1.“高内聚,低耦合” 2.属性私有 alt+insert创建get/set方法,方法内部可以进行判断参数是否合法 意义:1.提高程序的安全性,保护数据 2.隐藏代码的实现细节 3.统一接口(get/set方法) 4..增加系统的可维护性 成员变量的隐藏 “就近原则”,子类新定义的方法可以…