Вопрос знатокам про PyTorch

Ответить
Аватара пользователя
Uzito
⭐ Top 5 most interesting users
Reactions: 1448
Сообщения: 6172
Зарегистрирован: Пт июн 24, 2022 1:35 pm

Вопрос знатокам про PyTorch

Сообщение Uzito »

Есть типа функция, которая вычисляет mel spectrogram loss.

Код: Выделить всё

class MelSpectrogramLoss(torch.nn.Module):
    ...
    def forward(self, real, fake): 
        # real: torch(B, 1, T) , fake: torch(B, 1, T)
        real_mels = self.mel_spectrogram(real)
        fake_mels = self.mel_spectrogram(fake)
        real_logmels = torch.log(real_mels.clamp(min=1e-5).pow(1)) / self.log_base
        fake_logmels = torch.log(fake_mels.clamp(min=1e-5).pow(1)) / self.log_base
        loss = torch.nn.functional.l1_loss(real_logmels, fake_logmels)
    return loss
Есть ли какая нибудь разница какой параметр будет ей передан первым - сгенерированный генератором сигнал или настоящий, для обновления градиентов при дальнейшем .backward вызове?
caltrain
Reactions: 32
Сообщения: 180
Зарегистрирован: Чт авг 18, 2022 9:28 pm

Re: Вопрос знатокам про PyTorch

Сообщение caltrain »

а вы покупаете или продаете? (у вас там генератор или дискриминатор)
я бы предпочел первым real, если участвует кеш.


с точки зрения отладки, лучше сначала пускать fake, особенно, если он статичный, чтобы происходил fail-fast.
тогда под него можно писать юнит тест. и прежде чем запускать все-все-все и оно будет падать, первый вопрос - базовый тест прошел?
Аватара пользователя
Uzito
⭐ Top 5 most interesting users
Reactions: 1448
Сообщения: 6172
Зарегистрирован: Пт июн 24, 2022 1:35 pm

Re: Вопрос знатокам про PyTorch

Сообщение Uzito »

caltrain писал(а): Вт ноя 05, 2024 12:11 pm а вы покупаете или продаете? (у вас там генератор или дискриминатор)
я бы предпочел первым real, если участвует кеш.
с точки зрения отладки, лучше сначала пускать fake, особенно, если он статичный, чтобы происходил fail-fast.
тогда под него можно писать юнит тест. и прежде чем запускать все-все-все и оно будет падать, первый вопрос - базовый тест прошел?
Это GAN, там обучаются оба. Про базовый тест вопрос не понял. Функция возвращает одинаковый результат в независимости от порядка параметров. Мне просто парят что очень важно чтобы первым параметром был настоящий сигнал, типа ведь с ним сравнивают сгенерированный. Мне же интересно что там происходит за ширмой с градиентами что так важно первым параметром в l1_loss отдавать реальный сигнал. Или это совсем не важно?
Аватара пользователя
Sergunka
Reactions: 839
Сообщения: 2859
Зарегистрирован: Вт июн 14, 2022 9:35 pm
Откуда: Владивосток->Сан Франциско

Re: Вопрос знатокам про PyTorch

Сообщение Sergunka »

Uzito писал(а): Вт ноя 05, 2024 2:07 pm
caltrain писал(а): Вт ноя 05, 2024 12:11 pm а вы покупаете или продаете? (у вас там генератор или дискриминатор)
я бы предпочел первым real, если участвует кеш.
с точки зрения отладки, лучше сначала пускать fake, особенно, если он статичный, чтобы происходил fail-fast.
тогда под него можно писать юнит тест. и прежде чем запускать все-все-все и оно будет падать, первый вопрос - базовый тест прошел?
Это GAN, там обучаются оба. Про базовый тест вопрос не понял. Функция возвращает одинаковый результат в независимости от порядка параметров. Мне просто парят что очень важно чтобы первым параметром был настоящий сигнал, типа ведь с ним сравнивают сгенерированный. Мне же интересно что там происходит за ширмой с градиентами что так важно первым параметром в l1_loss отдавать реальный сигнал. Или это совсем не важно?
Насколько я помню там открытый код можно посмотреть.

У меня сын недавно правил код у них и даже статью написал по этому поводу
https://savvavy.wordpress.com/2024/07/2 ... te-finder/

Он сегодня зайдет к нам я спрошу Ваш вопрос у него, что он посоветует. Или просто тупо можете ему в линкидине написать на русском языке или английском.
https://www.linkedin.com/in/savva-v-a8a86a109/
Аватара пользователя
Uzito
⭐ Top 5 most interesting users
Reactions: 1448
Сообщения: 6172
Зарегистрирован: Пт июн 24, 2022 1:35 pm

Re: Вопрос знатокам про PyTorch

Сообщение Uzito »

Sergunka писал(а): Пт ноя 08, 2024 12:10 pm Насколько я помню там открытый код можно посмотреть.
Там надо лезть в сишный код, а там без бутылки не разобраться. Да и в общем-то не особо важно, переменные поставил как хотели для красоты. Не думаю что это на что-то влияет, так как функция вычисляет абсолютные значения разницы.
Ответить