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

网站都是每年续费的吗天津房地产最新消息

网站都是每年续费的吗,天津房地产最新消息,微信小程序脚本,微营销官网一.区别DataLoader与Dataset在代码中我们经常会看到:from torch.utils.data import DataLoader from torch.utils.data import Dataset(1)DatasetDataset 是一个抽象类,用于表示数据集。它提供了一种通用的方式来访问和操作数据…

一.区别DataLoader与Dataset

在代码中我们经常会看到:

from torch.utils.data import  DataLoader
from  torch.utils.data import  Dataset

(1)Dataset

Dataset 是一个抽象类,用于表示数据集。它提供了一种通用的方式来访问和操作数据。你需要继承 Dataset 类并实现 __len__ 和 __getitem__ 方法。

作用:
  • 定义如何从数据集中获取单个数据样本。
  • 提供数据集的长度信息。

(2) DataLoader

DataLoader 是一个迭代器,它封装了 Dataset 并提供了批量处理、打乱数据、并行加载等功能。它使得数据加载更加高效和灵活。

作用:
  • 将 Dataset 中的数据分成小批量。
  • 提供数据打乱、并行加载等功能。

Dataset 和 DataLoader 在 PyTorch 中扮演着不同的角色。Dataset 用于定义数据集的结构和访问方式,而 DataLoader 用于高效地加载数据集并提供批量处理等功能。通常,你会先定义一个自定义的 Dataset,然后使用 DataLoader 来加载数据并进行训练。 

二 .shape()的理解

三,矩阵转置 

import  torch
start =torch.tensor([[2,3,2],[2,1,4]])
print(start)
s11=start.transpose(0,1)
print(s11)#输出:
tensor([[2, 3, 2],[2, 1, 4]])
tensor([[2, 2],[3, 1],[2, 4]])

四 .squeeze()的作用

from torch.utils.data import  DataLoader
from  torch.utils.data import  Dataset
import  torch
start =torch.tensor([[[2,3,2],[2,1,4]]])
print(start.size())s12=start.squeeze(0)
print(s12.size())#.squeeze() 的作用
# .squeeze() 的主要作用是 移除长度为 1 的维度,而不是移除指定的维度。
# 
# 如果你不指定 dim,它会移除所有长度为 1 的维度。
# 如果你指定 dim,它只会检查该维度是否长度为 1,如果是,则移除;否则,不做任何操作。输出:
torch.Size([1, 2, 3])
torch.Size([2, 3])

五.矩阵的拼接:

六,梯度的理解 

import  torch
start =torch.tensor([[1.,0.],[-1.,1.]],requires_grad=True)
z = start.pow(2).sum()
z.backward()
print(start.grad)

 输出:

tensor([[ 2.,  0.],[-2.,  2.]])

 注意:只有标量才能求梯度

七.depplearning全流程理解 

八. model.eval()与model.train() 


model.eval() 是一个简单的开关,用于告诉你的神经网络模型:“现在处于评估或推理阶段,请关闭所有只在训练时使用的特殊机制(如 Dropout 和 BN 的训练更新),以便我得到稳定可靠的输出。” 这对于获得准确的模型性能评估和可靠的预测结果至关重要。通常在训练循环之外,或者在准备进行推理之前调用它。

model.eval()主要作用和影响包括:

  1. 关闭 Dropout:在训练模式下(默认),Dropout 会在神经元之间随机断开连接,以防止过拟合。但在评估或推理时,我们需要使用完整的网络结构,因此 model.eval() 会关闭 Dropout 层,确保所有神经元都参与计算。

  2. 关闭 Batch Normalization 的训练更新:Batch Normalization (BN) 层在训练时,会根据当前 mini-batch 的数据计算均值和方差,并使用这些统计量进行归一化,同时还会维护一个移动平均来估计整个数据集的全局均值和方差。在评估模式下,BN 层会停止使用当前 mini-batch 的统计量,而是使用之前训练过程中积累的全局均值和方差来进行归一化,以保证评估结果的一致性。

  3. 保持模型状态:它不会改变模型学习到的参数(权重和偏置),只是改变了模型中某些层(如 Dropout 和 BN)的行为方式。

九,训练模型的保存与加载

torch.save(model.state_dict(), path)
#这行代码将模型的参数字典(即模型中所有的可学习参数)保存到一个文件中。model.state_dict() 返回一个#包含模型参数的字典,torch.save 将这个字典序列化并保存到指定的路径 path。
ckpt = torch.load(path)
#这行代码从一个文件中加载之前保存的模型参数字典。torch.load 从指定的路径 path 加载一个字典,并将其#赋值给变量 ckpt。
model.load_state_dict(ckpt)
#这行代码将加载的参数字典 ckpt 加载回模型中。model.load_state_dict 将字典中的参数复制到模型的相应#参数中,使得模型恢复到保存时的状态。

十,super()的作用 

import torch.nn as nn
class Mymodel(nn.Module):def __init__(self):super(Mymodel,self).__init__()#super(Mymodel, self).__init__() 这行代码的作用是调用父类 nn.Module 的构造函数 __init__#等价于 nn.Module.__init__(self)

十一,矩阵运算到模型预算(神图!!!)

十二,激活函数softmax() 在输出层的应用及其原理

分类问题中,在输出层(如图)我们一般都会加上softmax()激活函数,为什么呢?

首先讲softmax()的函数知识:
 

因为隐藏层的激活函数会得到一个向量,该向量有可能会大于1,而我们输出层一般都是希望得到概率值小于1,所以基于softmax()特性加上softmax() 函数。
ps:sigmod函数适用于二分类,softmax函数适用于多酚类。



今天学到这啦

谢谢大家O(∩_∩)O哈哈~

 

http://www.dtcms.com/wzjs/831657.html

相关文章:

  • 微信分销网站建设比较好免费做免费做人爱视频的网站
  • 公司网站建设概述网页设计免费模板情侣
  • 织梦可以做淘宝客网站吗搭建一个网站的基本流程
  • 中济建设官方网站wordpress 图册业民啊
  • 网站建设项目申请网页介绍模板
  • fwa 网站 欣赏网上举报平台
  • 拨付网站建设费用的报告wordpress图片如何排版
  • 番禺外贸型网站建设网站换关键词
  • 山东做网站网站建设需要几十万
  • 定制型网站建设推广网站建设三网
  • 广州做网站的公司哪家好襄汾县住房和建设局网站
  • 网站建设的简历制作建站系统破解源码
  • 如何提高网站访问速度成都动力无限科技有限公司做网站
  • 有哪些做头像的网站网站设计优缺点
  • 实力网站开发毕业设计做网站好做吗
  • 公司网站的建设哪家好中国建设工程造价网站
  • 西安电子商务网站个人网站 后台管理
  • 环保公司网站模版做网站什么内容吸引人
  • 长沙做网站开发哪里好手机中国官网
  • 犀牛云 做网站网站图片一般多大尺寸
  • 房产交易网上预约平台app优化是什么意思
  • 如何自己建造网站济宁百度竞价推广
  • 郑州网站优化培训互联网大厂有哪些
  • 微信群推广网站建设公司注册地址新规定
  • wordpress可以做电影网站吗网站开发进度时间表
  • php网站开发实例视频长春制作门户网站的公司
  • 注册网站做网销做网站卖机器
  • 教育行业网站建设从哪里找网站
  • 做内贸只要有什么网络推广网站电商网站建设投资预算
  • 电子鲜花php网站怎么做网站建设中栏目是什么