深度学习:Pytorch nn模块函数解读

简介: 深度学习:Pytorch nn模块函数解读

深度学习:Pytorch nn模块函数解读

nn

nn.Parameter()

这个方法可以把不可以训练的Tensor变成可以通过反向传播更新的参数。
我们以线性回归为例:
先看一下普通的版本

import torch
from torch import nn


class Linear_Regression(nn.Module):
    def __init__(self):
        super(Linear_Regression, self).__init__()
        self.test = torch.rand(1, 2)
        self.linear = nn.Linear(2, 1)

    def forward(self, x):
        y = self.linear(x)
        return y


input = torch.rand([3, 2])
linear = Linear_Regression()
print(linear(input))
print((list(linear.named_parameters())))

打印结果分别为 线性回归的输出 与模型的参数
在这里插入图片描述

下面是 引用 nn.Parameter()的版本

import torch
from torch import nn


class Linear_Regression(nn.Module):
    def __init__(self):
        super(Linear_Regression, self).__init__()
        self.test = nn.Parameter(torch.rand(1, 2))
        self.linear = nn.Linear(2, 1)

    def forward(self, x):
        y = self.linear(x)
        return y


input = torch.rand([3, 2])
linear = Linear_Regression()
print(linear(input))
print((list(linear.named_parameters())))

结果如下:
发现可更新的参数多了个test
在这里插入图片描述

nn.Embedding()

nn.Embeddding接受两个重要参数:

num_embeddings:字典的大小,就是我这个序列有多少个词
embedding_dim:要将单词编码成多少维的向量

代码如下:
假设我有5个词,我要把这个5个词转换成3维的tensor

input = torch.arange(5)
print(input)
emb = nn.Embedding(5,3)
print(emb(input))

在这里插入图片描述

Torch

torch.squeeze

目录
相关文章
|
2月前
|
PyTorch 算法框架/工具
Pytorch学习笔记(五):nn.AdaptiveAvgPool2d()函数详解
PyTorch中的`nn.AdaptiveAvgPool2d()`函数用于实现自适应平均池化,能够将输入特征图调整到指定的输出尺寸,而不需要手动计算池化核大小和步长。
181 1
Pytorch学习笔记(五):nn.AdaptiveAvgPool2d()函数详解
|
2月前
|
PyTorch 算法框架/工具
Pytorch学习笔记(六):view()和nn.Linear()函数详解
这篇博客文章详细介绍了PyTorch中的`view()`和`nn.Linear()`函数,包括它们的语法格式、参数解释和具体代码示例。`view()`函数用于调整张量的形状,而`nn.Linear()`则作为全连接层,用于固定输出通道数。
113 0
Pytorch学习笔记(六):view()和nn.Linear()函数详解
|
2月前
|
PyTorch 算法框架/工具
Pytorch学习笔记(四):nn.MaxPool2d()函数详解
这篇博客文章详细介绍了PyTorch中的nn.MaxPool2d()函数,包括其语法格式、参数解释和具体代码示例,旨在指导读者理解和使用这个二维最大池化函数。
170 0
Pytorch学习笔记(四):nn.MaxPool2d()函数详解
|
2月前
|
PyTorch 算法框架/工具
Pytorch学习笔记(三):nn.BatchNorm2d()函数详解
本文介绍了PyTorch中的BatchNorm2d模块,它用于卷积层后的数据归一化处理,以稳定网络性能,并讨论了其参数如num_features、eps和momentum,以及affine参数对权重和偏置的影响。
237 0
Pytorch学习笔记(三):nn.BatchNorm2d()函数详解
|
2月前
|
机器学习/深度学习 PyTorch TensorFlow
Pytorch学习笔记(二):nn.Conv2d()函数详解
这篇文章是关于PyTorch中nn.Conv2d函数的详解,包括其函数语法、参数解释、具体代码示例以及与其他维度卷积函数的区别。
262 0
Pytorch学习笔记(二):nn.Conv2d()函数详解
|
24天前
|
机器学习/深度学习 自然语言处理 语音技术
深入探索深度学习中的兼容性函数:从原理到实践
深入探索深度学习中的兼容性函数:从原理到实践
34 3
|
24天前
|
机器学习/深度学习 自然语言处理 语音技术
揭秘深度学习中的兼容性函数:原理、类型与应用
揭秘深度学习中的兼容性函数:原理、类型与应用
|
24天前
|
机器学习/深度学习 自然语言处理 语音技术
揭秘深度学习中的注意力机制:兼容性函数的深度解析
揭秘深度学习中的注意力机制:兼容性函数的深度解析
|
1月前
|
机器学习/深度学习 监控 PyTorch
深度学习工程实践:PyTorch Lightning与Ignite框架的技术特性对比分析
在深度学习框架的选择上,PyTorch Lightning和Ignite代表了两种不同的技术路线。本文将从技术实现的角度,深入分析这两个框架在实际应用中的差异,为开发者提供客观的技术参考。
48 7
|
2月前
|
机器学习/深度学习 算法 PyTorch
深度学习笔记(十三):IOU、GIOU、DIOU、CIOU、EIOU、Focal EIOU、alpha IOU、SIOU、WIOU损失函数分析及Pytorch实现
这篇文章详细介绍了多种用于目标检测任务中的边界框回归损失函数,包括IOU、GIOU、DIOU、CIOU、EIOU、Focal EIOU、alpha IOU、SIOU和WIOU,并提供了它们的Pytorch实现代码。
310 1
深度学习笔记(十三):IOU、GIOU、DIOU、CIOU、EIOU、Focal EIOU、alpha IOU、SIOU、WIOU损失函数分析及Pytorch实现