Использование 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, не обучаются на этапах обучения.