我认为不可能得到底层代码。但是你可以通过 print 得到模型的摘要,包括层和主要参数。
model = SumModel(vocab_size=vocab_size, hiddem_dim=hidden_dim, batch_size=batch_size)
# saving model
torch.save(model, 'test_model.save')
# print summary of original
print(' - original model summary:')
print(model)
print()
# load saved model
loaded_model = torch.load('test_model.save')
# print summary of loaded model
print(' - loaded model summary:')
print(loaded_model)
这将输出如下所示的摘要。
- original model summary:
SumModel(
(word_embedding): Embedding(530734, 128)
(encoder): LSTM(128, 128, batch_first=True)
(decoder): LSTM(128, 128, batch_first=True)
(output_layer): Linear(in_features=128, out_features=530734, bias=True)
)
- loaded model summary:
SumModel(
(word_embedding): Embedding(530734, 128)
(encoder): LSTM(128, 128, batch_first=True)
(decoder): LSTM(128, 128, batch_first=True)
(output_layer): Linear(in_features=128, out_features=530734, bias=True)
)
使用 Pytorch 0.4.0 测试
如您所见,原始模型和加载模型的输出是一致的。
我希望这会有所帮助。