在 PyTorch 中,可以使用以下代码加载优化器: ```python import torch.optim as optim # 定义模型和损失函数 model=... criterion=... # 定义优化器 optimizer=optim.Adam(model.parameters(), lr=0.001) # 加载优化器 checkpoint=torch.load('checkpoint.pth') model.load_state_dict(checkpoint['model_state_dict']) optimizer.load_state_dict(checkpoint['optimizer_state_dict']) # 继续训练模型 for epoch in range(num_epochs): for i, data in enumerate(train_loader): # 前向传播、计算损失、反向传播 ... # 更新模型参数 optimizer.step() # 保存模型和优化器状态 checkpoint={ 'model_state_dict': model.state_dict(), 'optimizer_state_dict': optimizer.state_dict(), 'epoch': epoch } torch.save(checkpoint, 'checkpoint.pth') ``` 在加载优化器之前,需要先加载模型和损失函数的状态字典。优化器的状态字典包含了优化器的参数(如学习率等)以及优化器内部的动量等信息。因此,我们可以通过加载优化器状态字典,恢复模型训练时的状态,并继续训练模型。在训练过程中,可以定期保存模型和优化器的状态字典,以便在需要时恢复模型状态。