Есть ли способ сделать суммирование Эйнштейна при обратном распространении плотных слоев с ArrayFire? - PullRequest
0 голосов
/ 30 марта 2020

Я выполняю обратное распространение на плотном слое в нейронной сети, одновременно запускаю и распространяю несколько примеров одновременно.

Таким образом, при вычислении ошибок по весу я вычисляю сумму Эйнштейна для двумерного массива ( ошибки в нейронах в слое i + 1) с помощью двумерного массива (активация нейронов в слое i) для создания трехмерного массива.

Я делаю это в Rust , используя ndarray и ndarray_einsum_beta

Я делаю это так:

let weight_errors = einsum("ai,aj->aji", &[&error, &activations[last_index]]).unwrap();

Если вы не знакомы с Rust в псевдокоде, это может быть :

weight_errors = einsum("ai,aj->aji",error,activations)

Как бы я go о реализации такой операции с использованием ArrayFire ?

...