Tensorflowを初めて使用しています。私は、PythonでTensorflowを使って、疎な行列入力で動作する関数を記述しようとしています。通常はテンソルフローのプレースホルダーを定義しますが、スパース行列のプレースホルダーはありません。Tensorflow関数でスパース行列引数を使用する
テンソルフローのスパースデータで動作し、値を渡す関数を定義する適切な方法は何ですか?
具体的には、ここではhttps://github.com/aymericdamien/TensorFlow-Examples/blob/master/examples/3_NeuralNetworks/multilayer_perceptron.pyにある多層パーセプトロンの基本的な例を、密度の代わりに疎な入力を受け入れるように書き直そうとしています。
ダミーの例として、どのようにこのような関数を記述しますか?リンクhttps://github.com/tensorflow/tensorflow/issues/342で
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})
誰かがスパース行列を構築するために必要な要素を渡し、その後、関数内でその場で疎行列を作成、回避策として、推奨されます。それはちょっとハッキリしているように見えます。そのように構築しようとするとエラーが発生します。
何か助け、特にコードによる回答をいただければ幸いです。