例如,如果我有以下模型类:

class MyTestModel(nn.Module):

    def __init__(self):
        super(MyTestModel, self).__init__()

        self.seq1 = nn.Sequential(
            nn.Conv2d(3, 6, 3),
            nn.MaxPool2d(2, 2),
            nn.Conv2d(6, 16, 3),
            nn.MaxPool2d(2, 2),
            nn.Flatten(),
            nn.Linear(myflattendinput(), 120), # how to automate this?
            nn.ReLU(),
            nn.Linear(120, 84),
            nn.ReLU(),
            nn.Linear(84, 2),
        )
        self.softmax = nn.Softmax(dim=1)

    def forward(self, x):

        x = self.seq1(x)
        x = self.softmax(x)
        return x

我知道,通常情况下,你会让数据加载器给模型提供一个固定大小的输入,这样在nn.Flatten()之后就有一个固定大小的层输入,但是我想知道你是否可以自动计算这个?

推荐答案

PyTorch(>;=1.8)有LazyLinear个可推断输入尺寸.

Python相关问答推荐

Pandas 滚动最接近的价值

rame中不兼容的d类型

输出中带有南的亚麻神经网络

在Wayland上使用setCellWidget时,try 编辑QTable Widget中的单元格时,PyQt 6崩溃

如何将一个动态分配的C数组转换为Numpy数组,并在C扩展模块中返回给Python

如何从数据库上传数据到html?

在pandas/python中计数嵌套类别

python sklearn ValueError:使用序列设置数组元素

Polars map_使用多处理对UDF进行批处理

BeautifulSoup:超过24个字符(从a到z)的迭代失败:降低了首次深入了解数据集的复杂性:

如何用FFT确定频变幅值

PySpark:如何最有效地读取不同列位置的多个CSV文件

Python如何导入类的实例

如何防止html代码出现在quarto gfm报告中的pandas表之上

设置索引值每隔17行左右更改的索引

按列表分组到新列中

将Pandas DataFrame中的列名的长文本打断/换行为_STRING输出?

如何在Django查询集中生成带有值列表的带注释的字段?

正则表达式反向查找

是否将列表分割为2?