我是Tensorflow的新手。我正在尝试在使用Tensorflow的python中编写一个函数,该函数在稀疏矩阵输入上运行。通常我会定义一个tensorflow占位符,但显然没有稀疏矩阵的占位符。在Tensorflow函数中使用稀疏矩阵参数
定义一个在tensorflow中对稀疏数据进行操作并将值传递给它的函数的正确方法是什么?
具体而言,我试图重写一个多层感知器的基本例子,在这里找到https://github.com/aymericdamien/TensorFlow-Examples/blob/master/examples/3_NeuralNetworks/multilayer_perceptron.py,接受稀疏输入,而不是密集。
作为一个虚拟的例子,你将如何编写一个看起来像这样的函数?
import tensorflow as tf
x = tf.placeholder("sparse")
y = tf.placeholder("float", [None, n_classes])
# Create model
def sparse_multiply(x, y):
outlayer = tf.sparse_tensor_dense_matmul(x, y)
return out_layer
pred = multiply(x, y)
# Launch the graph
with tf.Session() as sess:
result = sess.run(pred, feed_dict={x: x_input, y: y_input})
有人在链路https://github.com/tensorflow/tensorflow/issues/342建议,作为一种解决方法,传入构造稀疏矩阵所需要的元素,然后创建该函数内的飞稀疏矩阵。这似乎有点冒失,当我试图以这种方式构建它时,我会遇到错误。
任何帮助,特别是与代码的答案,将不胜感激!