torch.optim.Optimizer.state_dict¶
- Optimizer.state_dict()[源代码]¶
将优化器的状态作为
dict
返回。它包含两个条目
state
: 一个包含当前优化状态的 Dict。其内容在不同的优化器类之间有所不同,但有一些共同的特点。例如,状态是按参数保存的,而参数本身并没有保存。
state
是一个字典,它将参数 ID 映射到一个 Dict,其中包含与每个参数相对应的状态。
param_groups
: 一个包含所有参数组的列表,其中每个参数组是一个 Dict。每个参数组包含特定于优化器的元数据,例如学习率和权重衰减,以及组中参数的 ID 列表。
注意:参数 ID 可能看起来像索引,但它们只是将状态与参数组关联的 ID。从 state_dict 加载时,优化器将对参数组
params
(整数 ID)和优化器param_groups
(实际的nn.Parameter
)进行压缩,以匹配状态,而无需额外的验证。返回的 state_dict 可能看起来像
{ 'state': { 0: {'momentum_buffer': tensor(...), ...}, 1: {'momentum_buffer': tensor(...), ...}, 2: {'momentum_buffer': tensor(...), ...}, 3: {'momentum_buffer': tensor(...), ...} }, 'param_groups': [ { 'lr': 0.01, 'weight_decay': 0, ... 'params': [0] }, { 'lr': 0.001, 'weight_decay': 0.5, ... 'params': [1, 2, 3] } ] }