关于pytorch和keras的Model类之间的区别

最近在看keras代码,然后想用pytorch复现,虽然在数据处理方面却别很小,但是在类之间的区别还是比较大的,比如

from keras import models
layer_outputs = [layer.output for layer in model.layers[:8]]
activation_model = models.Model(inputs=model.input, outputs=layer_outputs)

如果转成pytorch类的代码就不好转,因为要知道keras的model类和pytorch的nn.model类之间的区别。

keras的model类的官方文档

关于 Keras 模型 - Keras 中文文档

pytorch的model的官方文档

Module — PyTorch 1.10 documentationhttps://pytorch.org/docs/stable/generated/torch.nn.Module.html#torch.nn.Module如果转换在,真的很麻烦.

keras中如果要得到CNN的某一层,可以通过model.layer[n]得到

而pytorch可以通过childer得到,named_children()返回name,model,其中name是层的名字,而model的nn.Sequential

你可能感兴趣的:(pytorch,pytorch,keras,深度学习)