nn.Identity 单位矩阵,同一矩阵

文章目录

  • [1. 说明](#1. 说明)
  • [2. pytorch 代码](#2. pytorch 代码)

1. 说明

在搭建网络结构中,为了保证搭建的网络具有高度扩展性和后续调试模型框架,在保证整体结构完整情况下,用nn.Identity 进行占位符处理。

2. pytorch 代码

  • pytorch代码
python 复制代码
import torch
import torch.nn as nn

class MyModel(nn.Module):
    def __init__(self, use_dropout=True):
        super(MyModel, self).__init__()
        self.features = nn.Sequential(
            nn.Conv2d(3, 16, kernel_size=3, padding=1),
            nn.ReLU(),
            # 根据配置决定使用 Dropout 还是 Identity
            nn.Identity() if not use_dropout else nn.Dropout(p=0.5),
            nn.Conv2d(16, 32, kernel_size=3, padding=1),
            nn.ReLU(),
        )
        self.classifier = nn.Linear(32 * 32 * 32, 10)  # 假设输入图像尺寸为 32x32

    def forward(self, x):
        x = self.features(x)
        x = x.view(x.size(0), -1)
        return self.classifier(x)

# 实例化模型时选择是否使用 Dropout
model_with_dropout = MyModel(use_dropout=True)
model_without_dropout = MyModel(use_dropout=False)

# 测试模型输出形状
x = torch.randn(4, 3, 32, 32)
print("Output with dropout:", model_with_dropout(x).shape)
print("Output without dropout:", model_without_dropout(x).shape)
  • result
python 复制代码
Output with dropout: torch.Size([4, 10])
Output without dropout: torch.Size([4, 10])
相关推荐
@心都2 小时前
机器学习数学基础:39.样本和隐含和残差协方差矩阵
算法·机器学习·矩阵
AIzealot无4 小时前
力扣hot 100之矩阵四题解法总结
算法·leetcode·矩阵
MF_AI4 小时前
颈椎X光数据集(cervical spine X-ray dataset)
图像处理·人工智能·深度学习·yolo·计算机视觉·spine
江苏学蠡信息科技有限公司5 小时前
基于RKNN的嵌入式深度学习开发(2)
人工智能·深度学习
紫雾凌寒6 小时前
计算机视觉|从0到1揭秘Diffusion:图像生成领域的新革命
深度学习·计算机视觉·stable diffusion·aigc·文生图·图像分割·diffusion
梦想是成为算法高手6 小时前
带你从入门到精通——自然语言处理(五. Transformer中的自注意力机制和输入部分)
pytorch·python·深度学习·自然语言处理·transformer·位置编码·自注意力机制
爱喝热水的呀哈喽6 小时前
kan pinn
深度学习
CoovallyAIHub7 小时前
如何用更少的内存训练你的PyTorch模型?深度学习GPU内存优化策略总结
pytorch·深度学习·性能优化
Y1nhl7 小时前
数据挖掘校招面经二
人工智能·python·深度学习·算法·机器学习·数据挖掘
Helene19008 小时前
Leetcode 378-有序矩阵中第 K 小的元素
算法·leetcode·矩阵