线性层(全连接层)pytorch

news2024/10/23 7:16:33

**前置知识: 

1、线性层和非线性激活函数:

组合使用:通常,线性层后面会接一个非线性激活函数。这样,网络先做一次简单的转换(线性),然后用激活函数(非线性)添加一些复杂性。

(即 output = activation(linear(input)) )

2、

  • 线性层:执行线性变换。
  • 全连接层:是一种特殊的线性层,所有输入节点与所有输出节点相连。

在实践中,两者常常被视作同义词。

3、linear_layer = nn.Linear(4, 2)

  • 输入特征数量:in_features (int) – size of each input sample

  • 输出特征数量:out_features (int) – size of each output sample

  • 偏置:bias (bool) – If set to False, the layer will not learn an additive bias. Default: True

(默认True,自动学习并添加偏置参数)

4、

import torch
from torch import nn

# 创建一个线性层,输入特征为 4,输出特征为 2
linear_layer = nn.Linear(4, 2)

# 创建一个示例输入,batch_size 为 3
input_tensor = torch.tensor([[1.0, 2.0, 3.0, 4.0],
                              [5.0, 6.0, 7.0, 8.0],
                              [9.0, 10.0, 11.0, 12.0]])

# 前向传播
output_tensor = linear_layer(input_tensor)

# 打印输出
print("Output Tensor:")
print(output_tensor)

#tensor([[ 1.3422, -1.4755],
#        [ 2.4565, -2.6873],
#        [ 3.5708, -3.8991]], grad_fn=<AddmmBackward0>)

这里,input_tensor形状为(3,4),意味着有3个样本(batch_size),每个样本有4个特征

(输入张量的每一列通常代表一个特征)

output_tensor形状为(3,4),意味着还是3个样本,但是特征数变成了2

5、具体如何计算,将 4 个输入特征转换为 2 个输出特征:

经过这样的计算,输入的 4 个特征被转换为 2 个特征,得到的输出张量将是:

output = [[3.1, 7.2],  # 第一个样本的输出
          [...],      # 第二个样本的输出
          [...]]      # 第三个样本的输出
 

6、关于权重和偏置:

在 PyTorch 中,线性层的权重矩阵 W 和偏置 b 是在模型创建时自动初始化的。

这些参数的具体值是在模型训练之前随机生成的,通常使用某种分布(如均匀分布或正态分布)进行初始化。

在训练过程中,权重和偏置会自动调整。(向前传播——计算损失——反向传播——更新参数)

**代码:

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

test_set=torchvision.datasets.CIFAR10(root="./dataset",train=False,transform=torchvision.transforms.ToTensor(),download=True)
dataloader=DataLoader(test_set,batch_size=64,drop_last=True)

class Xigua(nn.Module):
    def __init__(self):
        super().__init__()
        self.linear1=Linear(196608,10)

    def forward(self,input):
        output=self.linear1(input)
        return output
xigua1=Xigua()

for data in dataloader:
    imgs,targets=data #torch.Size([64, 3, 32, 32])
    # input=torch.reshape(imgs,(1,1,1,-1))#torch.Size([1, 1, 1, 196608])
    input=torch.flatten(imgs) #flatten展开成一行(仅一维)
    print(input.shape)
    output=xigua1(input)
    print(output)

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

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

相关文章

迈巴赫S480升级原厂魔毯悬挂功能有哪些作用

迈巴赫 S480 升级魔毯空气悬挂系统的功能介绍如下&#xff1a; 1. 平稳驾驶体验&#xff1a; • 路况适应&#xff1a;通过摄像头和雷达扫描车前方路面状况&#xff0c;提前获取路况信息&#xff0c;然后根据这些信息自动调节空气悬挂的软硬程度。无论是在平坦的高速公路&…

最新Spring Boot3框架入门教程,基础知识讲解(参考官方文档),同时基于MybatisPlus+MYSQL搭建后台管理系统基础流程(附源码)

本文所涉及的代码以及相关文件均上传至仓库:GitHub - yang66-hash/XDPropertyManagementSystemDemo: This is a demo template based on SpringBoot3 in the background of property management system. Spring Boot 是由 Pivotal 团队开发的一款开源框架&#xff0c;它可以帮助…

如何防止箱包发霉 工厂箱包防霉方案

工厂储存的皮具、箱包保存和防护是一个很重要的问题。尤其是在潮湿多雨的季节&#xff0c;很容易受到霉菌侵袭。那么&#xff0c;如何在不损害品质的前提下&#xff0c;实现其长期保存而不发霉呢?经ihaoer防霉人士介绍箱包发霉处理方法和防霉方法如下&#xff1a; 箱包发霉处理…

JavaScript 字符串魔法:实用技巧——WEB开发系列45

这篇文章&#xff0c;探讨一下 JavaScript 中的字符串操作。字符串是编程中的基本数据类型之一&#xff0c;它们无处不在&#xff0c;几乎在所有的代码中都需要处理。了解字符串的基础知识、常用的内置方法&#xff0c;通过实例来学习高效地操作字符串。 一、什么是字符串&…

史上最好用的html类word编辑器

前言 近期在做一个项目&#xff0c;需要用到大量的word模板生成对应资料还要打印&#xff0c;之前想的是用一款富文本编辑器即可使用&#xff0c;无赖客户比较刁钻要求系统中看到的所有页面尽量和word上效果一样&#xff0c;并且打印出来每一页内容和系统显示的要一致&#xf…

如何根据店铺商品选择合适的礼品代发平台?

随着电商行业的蓬勃发展&#xff0c;礼品代发服务已经成为很多店铺提升客户体验、增加订单量的重要策略。尤其是对于那些想要通过赠送小礼品、促销品或节日礼物来吸引顾客的商家来说&#xff0c;选择一个合适的礼品代发平台至关重要。如何根据店铺的商品特点选择一个最适合自己…

人员跌倒检测系统的设计与实现(Yolov Python38 深度学习)+文档

&#x1f497;博主介绍&#x1f497;&#xff1a;✌在职Java研发工程师、专注于程序设计、源码分享、技术交流、专注于Java技术领域和毕业设计✌ 温馨提示&#xff1a;文末有 CSDN 平台官方提供的老师 Wechat / QQ 名片 :) Java精品实战案例《700套》 2025最新毕业设计选题推荐…

数据结构与算法——Java实现 35.求数据流中的第K大元素

目录 703. 数据流中的第 K 大元素 思路 题目解析&#xff1a; 数据流&#xff1a; 数据流和数组的区别&#xff1a; 代码实现 小顶堆类 测试类 力扣 我想成为一个强大、坦荡又热血的人&#xff0c;我爱霓虹闪烁&#xff0c;也爱高山流水&#xff0c;更爱我自己 —— 24.10.13 7…

视频的编解码格式

文章目录 视频的编解码格式概念术语视频处理流程视频封装格式视频编码格式视频编解码器&#xff0c;视频容器和视频文件格式之间的区别补充视频码率 参考资料 视频的编解码格式 概念术语 两大组织主导视频压缩的组织及其联合(joint)组织 ITU-T(VCEG) ITU-T的中文名称是国际电信…

【wpf】05 几种容器动态创建控件的对比

今天利用一点时间&#xff0c;对wpf中在常用容器中动态创建控件的方法进行了学习和测试&#xff0c;本篇文章用来记录这个过程及一些心得。 1 容器说明 用于对比的wpf常用容器类包括如下七种&#xff1a; StackPanelGridScrollViewerWrapPanelCanvasUniformGridDockPanel 以…

Vue实现动态表单

使用 Vue 实现动态表单 在前端开发中&#xff0c;我们经常遇到根据用户输入动态生成不同表单项的需求。这类动态表单不仅提升了用户体验&#xff0c;还可以让复杂的交互流程变得简洁而高效。本文将详细讲解如何使用 Vue 3 的响应式特性&#xff0c;逐步构建一个递归动态表单。…

服务器虚拟化的好处有哪些

1.什么是服务器虚拟化&#xff1f; 在计算服务中&#xff0c;有7种虚拟化包括硬件虚拟化&#xff08;即服务器虚拟化&#xff09;、软件虚拟化、内存虚拟化、存储虚拟化、数据虚拟化、网络虚拟化和桌面虚拟化。 其中&#xff0c;服务器虚拟化的初衷是让Windows和Linux操作系统…

【环境搭建】更换电脑后的开发环境怎么重建

目录 &#x1f378;前言 &#x1f37b;一、系统配置检查 &#x1f37a;二、开发环境搭建 &#x1f379;三、章末 &#x1f378;前言 小伙伴们大家好&#xff0c;这次文章跟技术没有关联&#xff0c;因为最近刚更换了装备&#xff0c;开发环境啥的残缺不全&#xff0c;也不能…

多倍体重测序-经典分析思路

你知道吗&#xff1f;甘蔗不仅是全球糖分的主要来源&#xff0c;而且它还隐藏着许多未被发掘的秘密。今天&#xff0c;我们就来聊聊科学家们是如何通过全基因组测序技术解开甘蔗品种改良之谜的&#xff01; 广东省科学院南繁种业研究所在《The Plant Journal》杂志上发表题为“…

vue3项目在vue平台下添加nvue文件会报[plugin:vite:nvue-css]

项目运行是会报大量的[plugin:vite:nvue-css]作警告 解决办法&#xff1a;在app.vue引入公共css文件外添加#ifndef APP-PLUS-NVUE条件 // #ifndef APP-PLUS-NVUE import "uview-plus/index.scss"; /*每个页面公共css */ import "colorui/main.css"; //#en…

微信小程序考试系统(lw+演示+源码+运行)

摘要 随着信息技术在管理上越来越深入而广泛的应用&#xff0c;管理信息系统的实施在技术上已逐步成熟。本文介绍了微信小程序考试系统的开发全过程。通过分析微信小程序考试系统管理的不足&#xff0c;创建了一个计算机管理微信小程序考试系统的方案。文章介绍了微信小程序考…

Leetcode 1168. 水资源分配优化

1.题目基本信息 1.1.题目描述 村里面一共有 n 栋房子。我们希望通过建造水井和铺设管道来为所有房子供水。 对于每个房子 i&#xff0c;我们有两种可选的供水方案&#xff1a;一种是直接在房子内建造水井&#xff0c;成本为 wells[i – 1] &#xff08;注意 -1 &#xff0c;…

双十一买什么东西比较好?2024双11好物攻略诚意分享

双十一活动已经准备要开始了&#xff0c;很多人摩拳擦掌准备入手划算好物&#xff0c;但是有的人也比较迷茫&#xff0c;双十一买什么东西比较好&#xff1f;为了帮助大家在这场购物狂欢中理性消费&#xff0c;提升购物体验&#xff0c;我们精心整理了一份2024双11好物攻略诚意…

扭亏年只是开始,赛力斯的成长性仍在继续

赛力斯的三季度业绩报告发出之后&#xff0c;不少股民在评论区如释重负&#xff1a; 大雪压我两三年&#xff0c;我笑大雪轻如棉。 业绩预告显示&#xff0c;赛力斯2024年前三季度营业收入同比大增518%到559%&#xff0c;达1030.0亿元到1100.0亿元&#xff1b;同时净利润连续…

2018年计算机网络408真题解析

第一题&#xff1a; 解析&#xff1a;TCP/IP体系结构应用层常用协议及其相应的运输层协议 TCP协议是面向连接可靠数据传输服务&#xff0c;UDP无连接不可靠的数据传输服务&#xff0c;IP无连接不可靠的数据连接服务。 FTP协议&#xff0c;SMTP协议和HTTP协议使用TCP协议提供的面…