【问题标题】:What is the purpose of optimizer's state_dict in PyToch Big Graph's embedding dataset?PyTorch Big Graph 嵌入数据集中优化器 state_dict 的目的是什么?
【发布时间】:2021-06-24 15:29:24
【问题描述】:

PyTorch Big Graph (PBG) 的文档指出“可能存在一个额外的数据集,optimizer/state_dict,其中包含模型优化器的 state dict 的二进制 blob(通过 torch.save() 获得)。”检查此数据集时,它似乎存储为字节数组。有人可以从概念上解释 state_dict 的意义以及为什么将其存储为数组而不是字典吗?

【问题讨论】:

    标签: python pytorch bigdata data-science h5py


    【解决方案1】:

    有人可以从概念上解释 state_dict 的意义

    如果您了解 Adam 或 SGD 的动量,您可能知道优化器中的一些参数在每一步都会发生变化。当在加载模型权重的基础上恢复训练时,如果您也加载这些参数,将会加快收敛速度​​。

    没有它你也可以侥幸逃脱,只是有时你几乎就像从头开始训练一样。

    为什么它被存储为数组而不是字典?

    如果它真的是通过torch.save() 获得的,那么它实际上是存储在字典中或至少是一个字典列表中。只是你的“检查”过程是错误的。试试

    print(torch.load('path_to_the_file'))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-03
      • 1970-01-01
      • 2020-08-31
      • 1970-01-01
      • 2011-11-29
      • 1970-01-01
      • 2012-03-04
      • 2020-03-23
      相关资源
      最近更新 更多