Я пытаюсь использовать метод экземпляра для изменения одного из атрибутов экземпляра следующим образом:
from torch.optim import SGD
from typing import Dict
class ChangeRateSgd(SGD):
def __init__(self, params, lr: float, lr_change_instructions: Dict):
super().__init__(params, lr)
self.lr_change_instructions = lr_change_instructions
def change_update_rate(self, input_epoch):
update_mapping = self.lr_change_instructions
if input_epoch in update_mapping.keys():
new_lr = self.lr_change_instructions[input_epoch]
self.lr = new_lr
Однако моя IDE помечает строку self.lr = new_lr
как не идеальную практику кодирования с предупреждением Instance attribute lr defined outside __init__
. Каков наилучший способ сделать то, что я пытаюсь сделать с помощью этого метода экземпляра?