ric*_*ich 5 pytorch pytorch-lightning
我训练了一个普通的 vae,我从这个存储库修改了它。当我尝试使用经过训练的模型时,我无法使用 加载权重load_from_checkpoint。我的检查点对象和我的对象之间似乎不匹配lightningModule。
我VAEXperiment使用 . 设置了一个实验 ( ) pytorch-lightning LightningModule。我尝试使用以下方法将权重加载到网络中:
#building a new model
model = VanillaVAE(**config['model_params'])
model.build_layers()
#loading the weights
experiment = VAEXperiment(model, config['exp_params'])
experiment.load_from_checkpoint(path_to_checkpoint, config['exp_params'])
Run Code Online (Sandbox Code Playgroud)
我也尝试过:
checkpoint = torch.load(path_to_checkpoint, map_location=lambda storage, loc: storage)
model.load_state_dict(checkpoint['state_dict'])
Run Code Online (Sandbox Code Playgroud)
但我收到错误
Unexpected key(s) in state_dict: "model.encoder.0.0.weight", "model.encoder.0.0.bias"...
我还关注了https://github.com/PyTorchLightning/pytorch-lightning/issues/924 https://github.com/PyTorchLightning/pytorch-lightning/issues/2798上的问题
为什么我会收到此错误?是因为我的模型中的编码器和解码器模块吗?根据 git 上的问题日志,错误似乎已解决。我究竟做错了什么?
发布评论中的答案:
experiment.load_state_dict(checkpoint['state_dict'])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6008 次 |
| 最近记录: |