tf sparse redu_sum с градиентами - PullRequest
       14

tf sparse redu_sum с градиентами

0 голосов
/ 28 января 2020

Я пытаюсь уменьшить размеры двух разреженных тензоров, умножить их (нужно вещание), а затем снова уменьшить_сум. По крайней мере, одна из разреженных матриц действительно разрежена даже после сокращения, и я не могу выполнить ошибки памяти графического процессора.

Есть ли причина, по которой tf.sparse_reduce_sum не может создать разреженный тензор с градиентами? Может ли он быть эффективно создан?

минимальный код:

import tensorflow as tf 
from tensorflow.python.ops import math_ops

# outputs sparse dim = batch_dim, dim1, dim2, dim3, dim4
outputs = tf.sparse.reduce_sum(outputs, axis=-1)
# gates sparse dim = batch, dim1, dim2
gates = tf.sparse.reduce_sum(gates, axis=-1) 
gates = math_ops.sigmoid(out)
gates = expand_dims(gates, -1)
gates = tf.tile(gates, [1, 1, 1, tf.shape(outputs)[-1]
outputs = math_ops.multiply(gates, outputs)
outputs = math_ops.reduce_sum(outputs, [-2])
...