Использование SparseTensor в качестве обучаемой переменной?

Я пытаюсь использоватьSparseTensor представлять весовые переменные в полностью связанном слое.
Однако, похоже, что TensorFlow 0.8 не позволяет использовать SparseTensor в качестве tf.Variable.
Есть ли способ обойти это?

я пробовал

import tensorflow as tf

a = tf.constant(1)
b = tf.SparseTensor([[0,0]],[1],[1,1])

print a.__class__  # shows <class 'tensorflow.python.framework.ops.Tensor'>
print b.__class__  # shows <class 'tensorflow.python.framework.ops.SparseTensor'>

tf.Variable(a)     # Variable is declared correctly
tf.Variable(b)     # Fail

Кстати, моя конечная цель использования SparseTensor - навсегда замаскировать некоторые соединения в плотной форме. Таким образом, эти обрезанные соединенияигнорируется при расчете и применении градиентов.

В моей текущей реализации MLP, SparseTensor и его редкая формаmatmul ops успешно сообщает результаты вывода. Однако веса, объявленные с помощью SparseTensor, не обучаются на этапах обучения.

Ответы на вопрос(4)

Ваш ответ на вопрос