1. 方法一,修改forward方法
最简单的方法是在模型的forward函数中直接打印每一层的输出张量的尺寸。
import torch
import torch.nn as nn
# 定义一个简单的模型
class SimpleCNN(nn.Module):
def __init__(self):
super(SimpleCNN, self).__init__()
self.conv1 = nn.Conv2d(3, 16, kernel_size=3, stride=1, padding=1)
self.conv2 = nn.Conv2d(16, 32, kernel_size=3, stride=1, padding=1)
self.fc = nn.Linear(32 * 56 * 56, 10) # 假设最后展平后输入全连接层
def forward(self, x):
x = self.conv1(x)
print(f"After conv1: {
x.shape}") # 打印第一层的输出尺寸
x = self.conv2(x)
print(f"After conv2: {
x.shape}") # 打印第二层的输出尺寸
x = torch.flatten(x, 1) # 展平
print(f"After flatten: {
x.shape}") # 打印展平后的尺寸


1708

被折叠的 条评论
为什么被折叠?



