Попытка использовать горелку для оптимизации параметров функции, но потери остаются прежними.Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Попытка использовать горелку для оптимизации параметров функции, но потери остаются прежними.

Сообщение Anonymous »

Я пытаюсь оптимизировать параметры функции, но потери остаются прежними
class BoardOptimizer(torch.nn.Module):
def __init__(self):
super().__init__()

# Initialize parameters with current values but make them trainable
self.highpass_freq = torch.nn.Parameter(torch.tensor(100.0), requires_grad=True)

def get_pedalboard(self):
highpass_freq = torch.clamp(self.highpass_freq, 20, 500)

board = Pedalboard([
HighpassFilter(cutoff_frequency_hz=float(highpass_freq)),
])

return board

def forward(self, sample_audio, sample_rate):
board = self.get_pedalboard()
music = board.process(sample_audio, sample_rate)
return music

model = BoardOptimizer()
criterion = torch.nn.MSELoss()
optimizer = torch.optim.SGD(model.parameters(), lr=1e-6)
print(type(criterion), y.shape, y_pred.shape)
for t in range(2000):
y_pred = torch.Tensor(model(x, 16000))

loss = criterion(y_pred, y)
if t % 100 == 99:
print(t, loss.item())

optimizer.zero_grad()
loss.requires_grad = True
loss.backward()
optimizer.step()

99 0.011413631960749626
199 0.011413631960749626
299 0.011413631960749626
399 0.011413631960749626

Я предположил, что ошибка произошла из-за того, что градиенты не были включены.
Попробовал распечатать это
for name, param in model.named_parameters():
print(f"{name}: grad = {param.grad}")

но я продолжал получать
highpass_freq: grad = None


Подробнее здесь: https://stackoverflow.com/questions/793 ... mains-same
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»