Pytorch:自动确定Conv1d之后Linear层的输入形状

问题描述 投票:0回答:1

我想构建一个模型,其中包含多个

Conv1d
层,然后是几个
Linear
层。
Conv1d
层适用于任何给定长度的数据,问题出现在第一个
Linear
层,因为数据长度在初始化时是未知的。每次输入数据的长度发生变化时,
Conv1d
层的输出大小都会发生变化,因此第一个
in_features
层所需的
Linear
也会发生变化。

注意:我学习了 CNN,并且知道如何手动计算输出维度。我正在寻找一种编程方法来确定它,因为我必须使用不同长度的输入数据进行多次实验。 问题:在

pytorch

中,如何自动计算出多个 Conv1d 层后的输出维度,并为接下来的

in_features
层设置
Linear
    

python deep-learning neural-network pytorch conv-neural-network
1个回答
8
投票

nn.LazyLinear

 它将在第一次推理时找到 
in_features 并相应地初始化适当数量的权重:
linear = nn.LazyLinear(out_features)

© www.soinside.com 2019 - 2024. All rights reserved.