小编Jos*_*usa的帖子

如何在pytorch模型中加载检查点文件?

在我的 pytorch 模型中,我正在像这样初始化我的模型和优化器。

model = MyModelClass(config, shape, x_tr_mean, x_tr,std)
optimizer = optim.SGD(model.parameters(), lr=config.learning_rate)
Run Code Online (Sandbox Code Playgroud)

这是我的检查点文件的路径。

checkpoint_file = os.path.join(config.save_dir, "checkpoint.pth")

为了加载这个检查点文件,我检查并查看检查点文件是否存在,然后加载它以及模型和优化器。

if os.path.exists(checkpoint_file):
    if config.resume:
        torch.load(checkpoint_file)
        model.load_state_dict(torch.load(checkpoint_file))
        optimizer.load_state_dict(torch.load(checkpoint_file))
Run Code Online (Sandbox Code Playgroud)

另外,这是我保存模型和优化器的方式。

 torch.save({'model': model.state_dict(), 'optimizer': optimizer.state_dict(), 'iter_idx': iter_idx, 'best_va_acc': best_va_acc}, checkpoint_file)
Run Code Online (Sandbox Code Playgroud)

出于某种原因,每当我运行此代码时,我都会收到一个奇怪的错误。

model.load_state_dict(torch.load(checkpoint_file))
File "/home/Josh/.local/lib/python3.6/site-packages/torch/nn/modules/module.py", line 769, in load_state_dict
self.__class__.__name__, "\n\t".join(error_msgs)))
RuntimeError: Error(s) in loading state_dict for MyModelClass:
        Missing key(s) in state_dict: "mean", "std", "attribute.weight", "attribute.bias".
        Unexpected key(s) in state_dict: "model", "optimizer", "iter_idx", "best_va_acc"
Run Code Online (Sandbox Code Playgroud)

有谁知道我为什么会收到这个错误?

python python-3.x checkpointing pytorch

5
推荐指数
1
解决办法
9299
查看次数

Javascript - 如何防止 localStorage 将数据存储为字符串?

我当前正在使用一组数据,它是对象数组。为了尝试加快加载时间,我尝试使用 localStorage 来存储数据并快速访问它。最大的问题是数据不是存储为对象数组,而是存储为字符串。数据本身看起来像这样。

[{id: 1, name: "BP", industry: "oil and gas", indicator: "Board Oversight"}, 
{id: 2, name: "Shell", industry: "oil and gas", indicator: "Board Oversight"}]
Run Code Online (Sandbox Code Playgroud)

整个数组存储在一个名为 的变量中dataSet,我尝试将其存储到本地存储中,如下所示。

localStorage.setItem('finalDataset', dataSet)
Run Code Online (Sandbox Code Playgroud)

当我尝试获取该项目时,存储在其中的数据看起来是正确的,但该数据是一个字符串,而不是我真正想要的。那么如何以完全相同的格式将这些数据存储在 localStorage 中呢?

我也尝试这样做localStorage.setItem('finalDataset', JSON.stringify(dataSet)),并且也返回了一个字符串。

javascript arrays string object local-storage

1
推荐指数
1
解决办法
1247
查看次数