Multi

Описание

Модуль, дающий возможность реализовать ансамбль из различных функций ошибок.

Инициализация

def __init__(self):

Параметры

-

Пояснения

-

Методы

def append(self, cost):
Функционал

Добавляет переданную функцию ошибки для дальнейших расчётов.

Параметры

Параметр Возможные типы Описание По умолчанию
cost Cost Объект класса-наследника Cost -

Пояснения

-

Примеры


Необходимые импорты:

import numpy as np
from PuzzleLib.Backend import gpuarray
from PuzzleLib.Cost import Multi, Abs, MSE

Info

gpuarray необходим для правильного размещения тензора на GPU.

Синтетические целевой и предсказательный тензоры:

pred = gpuarray.to_gpu(np.random.randn(10, 10).astype(np.float32))
target = gpuarray.to_gpu(np.random.randn(10, 10).astype(np.float32))

Инициализация функции ошибки:

multi = Multi().append(MSE()).append(Abs())

Расчёт ошибки и градиента на батче:

error, grad = multi([pred, pred], [target, target])
# error[0], grad[0] - ошибка и градиент для MSE-Loss
# error[1], grad[1] - ошибка и градиент для Abs-loss