【发布时间】:2021-11-25 08:21:42
【问题描述】:
我有一个 pytorch 模型:
model = torch.nn.Sequential(
torch.nn.LSTM(40, 256, 3, batch_first=True),
torch.nn.Linear(256, 256),
torch.nn.ReLU()
)
对于 LSTM 层,我只想从批次中检索最后一个隐藏状态以通过其余层。例如:
_, (hidden, _) = lstm(data)
hidden = hidden[-1]
不过,该示例仅适用于子类模型。我需要以某种方式在 nn.Sequential() 模型上执行此操作,这样当我保存它时,它可以正确地转换为 tensorflow.js 模型。我无法在 tensorflow.js 中制作和训练这个模型的原因是因为我正在尝试在 tensorflow.js 中实现这个 repo:Resemblyzer,同时仍然使用与在 pytorch 中制作的预训练 Resemblyzer 模型相同的权重一个子类模型。我曾想过使用 torchvisions.transformations.Lambda() 转换,但我认为这会使其与 tensorflow.js 不兼容。有什么方法可以在保证模型正确转换的同时实现这一点?
【问题讨论】:
标签: pytorch lstm tensorflow.js tensorflowjs-converter