深度学习: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天前
|
机器学习/深度学习 人工智能 测试技术
深度学习中损失函数和激活函数的选择
深度学习中损失函数和激活函数的选择
5 0
|
2天前
|
机器学习/深度学习 PyTorch TensorFlow
Pytorch 与 Tensorflow:深度学习的主要区别(1)
Pytorch 与 Tensorflow:深度学习的主要区别(1)
16 2
|
2天前
|
机器学习/深度学习 PyTorch API
pytorch与深度学习
【5月更文挑战第3天】PyTorch,Facebook开源的深度学习框架,以其动态计算图和灵活API深受青睐。本文深入浅出地介绍PyTorch基础,包括动态计算图、张量和自动微分,通过代码示例演示简单线性回归和卷积神经网络的实现。此外,探讨了模型架构、自定义层、数据加载及预处理等进阶概念,并分享了实战技巧、问题解决方案和学习资源,助力读者快速掌握PyTorch。
33 5
|
2天前
|
机器学习/深度学习 PyTorch 算法框架/工具
【Python机器学习专栏】PyTorch在深度学习中的应用
【4月更文挑战第30天】PyTorch是流行的开源深度学习框架,基于动态计算图,易于使用且灵活。它支持张量操作、自动求导、优化器和神经网络模块,适合快速实验和模型训练。PyTorch的优势在于易用性、灵活性、社区支持和高性能(利用GPU加速)。通过Python示例展示了如何构建和训练神经网络。作为一个强大且不断发展的工具,PyTorch适用于各种深度学习任务。
|
2天前
|
机器学习/深度学习 自然语言处理 算法
PyTorch与NLP:自然语言处理的深度学习实战
随着人工智能技术的快速发展,自然语言处理(NLP)作为其中的重要分支,日益受到人们的关注。PyTorch作为一款强大的深度学习框架,为NLP研究者提供了强大的工具。本文将介绍如何使用PyTorch进行自然语言处理的深度学习实践,包括基础概念、模型搭建、数据处理和实际应用等方面。
|
2天前
|
机器学习/深度学习 并行计算 PyTorch
PyTorch与CUDA:加速深度学习训练
【4月更文挑战第18天】本文介绍了如何使用PyTorch与CUDA加速深度学习训练。CUDA是NVIDIA的并行计算平台,常用于加速深度学习中的矩阵运算。PyTorch与CUDA集成,允许开发者将模型和数据迁移到GPU,利用`.to(device)`方法加速计算。通过批处理、并行化策略及优化技巧,如混合精度训练,可进一步提升训练效率。监控GPU内存和使用调试工具确保训练稳定性。PyTorch与CUDA的结合对深度学习训练的加速作用显著。
|
2天前
|
PyTorch 算法框架/工具 Android开发
PyTorch 深度学习(GPT 重译)(六)(4)
PyTorch 深度学习(GPT 重译)(六)
38 2
|
2天前
|
机器学习/深度学习 PyTorch 算法框架/工具
PyTorch 深度学习(GPT 重译)(六)(3)
PyTorch 深度学习(GPT 重译)(六)
30 2
|
2天前
|
机器学习/深度学习 PyTorch 算法框架/工具
PyTorch 深度学习(GPT 重译)(六)(2)
PyTorch 深度学习(GPT 重译)(六)
41 1
|
2天前
|
机器学习/深度学习 PyTorch 算法框架/工具
PyTorch 深度学习(GPT 重译)(六)(1)
PyTorch 深度学习(GPT 重译)(六)
39 1