state_dict中的keep_vars是什么意思?

时间:2019-08-17 08:58:32

标签: pytorch

state_dict(destination=None, prefix='', keep_vars=False)

keep_vars更改为True会做什么?

1 个答案:

答案 0 :(得分:1)

在PyTorch> = 0.4中,它没有用。

keep_vars已添加到提交中:Add keep_vars parameter to state_dict表示

  

当keep_vars为true时,它将为每个参数返回一个变量           (而不是张量)。

state_dict函数中,内部_save_to_state_dict被调用,其中包含以下代码

for name, param in self._parameters.items():
            if param is not None:
                destination[prefix + name] = param if keep_vars else param.data
        for name, buf in self._buffers.items():
            if buf is not None:
                destination[prefix + name] = buf if keep_vars else buf.data

param if keep_vars else param.dataVariable分开时,部分Tensor在PyTorch 0.4.0之前有所不同,但是现在合并时,keep_vars可能仅存在于向后兼容。选中Is .data still useful in pytorch?