Задать вопрос
SemenAnnigilator
@SemenAnnigilator

Как в Pytorch реализовать пользовательскую функцию потерь?

Вот код функции потерь(log_loss - это потеря из sklearn), у меня проблема с backward, не могу понять как его реализовать(уже пытался это сделать через autograd function).
from torch.autograd.function import Function
class custom_loss:#(Function):
    def __init__(self, preds, targets):
        self.preds = preds
        self.targets = targets
    #@staticmethod
    def forward(self):
        log_loss_ = 0
        #self.preds.save_for_backward(self.targets)
        #gt = np.array(gt)
    
        for i in range(10):
            log_loss_ += log_loss(self.target[:, i], self.preds[:, i])
        
        return torch.tensor(log_loss_ / 10, requires_grad = True)
  • Вопрос задан
  • 177 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Python-разработчик: расширенный курс + нейросети
    12 месяцев
    Далее
  • Академия Эдюсон
    Python-разработчик
    9 месяцев
    Далее
  • ProductStar × РБК
    Профессия: Python-разработчик + ИИ
    8 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
@xandox
А чего бы не воспользоваться родным для торча? https://pytorch.org/docs/stable/generated/torch.nn...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
ITK academy Краснодар
от 220 000 до 300 000 ₽
ITK academy Краснодар
от 75 000 ₽
DimaTech Ltd Краснодар
от 140 000 до 140 000 ₽