Tensorflow: tf.matmul() рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИ рдЬрдм рдореИрдЯреНрд░рд┐рдХреНрд╕ рд╡рд┐рд░рд▓ рд╣реЛрддреЗ рд╣реИрдВ, рднрд▓реЗ рд╣реА a_is_sparse рд╕реЗрдЯ рд╣реЛред рдЧреБрдкреНрдд рддреНрд░реБрдЯрд┐ред

рдХреЛ рдирд┐рд░реНрдорд┐рдд 9 рдЬреБрд▓ре░ 2016  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: tensorflow/tensorflow

tf.matmul(A, B, a_is_sparse=True) рдЧреВрдврд╝ рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рде a = ops.convert_to_tensor(a, name="a") рдкрд░ рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИред

рдЙрджрд╛рд╣рд░рдг рдХреЛрдб:

import tensorflow as tf
import numpy as np

x = tf.sparse_placeholder(tf.float32)
y = tf.Variable(tf.random_uniform([9, 9], minval=0.0, maxval=1.0, dtype=tf.float32))

with tf.Session() as sess:
    sess.run(tf.initialize_all_variables())
    indices = np.array([[3, 2], [4, 5]], dtype=np.int64)
    values = np.array([1.0, 2.0], dtype=np.float32)
    shape = np.array([9, 9], dtype=np.int64)
    _ = sess.run(tf.matmul(x, y), feed_dict={
        x: tf.SparseTensorValue(indices, values, shape)})

рддреНрд░реБрдЯрд┐:
рд▓рд╛рдЗрди 12, рдЗрдВрдЪ
_ = sess.run(tf.matmul(x, y, a_is_sparse=True), Feed_dict={
рдлрд╝рд╛рдЗрд▓ "/usr/local/lib/python2.7/site-packages/tensorflow/python/ops/math_ops.py", рд▓рд╛рдЗрди 1189, matmul рдореЗрдВ
a = ops.convert_to_tensor(a, name="a")
рдлрд╝рд╛рдЗрд▓ "/usr/local/lib/python2.7/site-packages/tensorflow/python/framework/ops.py", рд▓рд╛рдЗрди 620, Convert_to_tensor рдореЗрдВ
рд░рд┐рдЯ = рд░реВрдкрд╛рдВрддрд░рдг_рдлрдВрдХ (рдорд╛рди, dtype = dtype, рдирд╛рдо = рдирд╛рдо, as_ref = as_ref)
рдлрд╝рд╛рдЗрд▓ "/usr/local/lib/python2.7/site-packages/tensorflow/python/ops/constant_op.py", рд▓рд╛рдЗрди 179, _constant_tensor_conversion_function рдореЗрдВ
рд╡рд╛рдкрд╕реА рд╕реНрдерд┐рд░рд╛рдВрдХ (v, dtype=dtype, name=name)
рдлрд╝рд╛рдЗрд▓ "/usr/local/lib/python2.7/site-packages/tensorflow/python/ops/constant_op.py", рдкрдВрдХреНрддрд┐ резремреи, рд╕реНрдерд┐рд░рд╛рдВрдХ рдореЗрдВ
tensor_util.make_tensor_proto(рдорд╛рди, dtype=dtype, size=shape))
рдлрд╝рд╛рдЗрд▓ "/usr/local/lib/python2.7/site-packages/tensorflow/python/framework/tensor_util.py", рд▓рд╛рдЗрди 421, make_tensor_proto рдореЗрдВ
tensor_proto.string_val.extend([compat.as_bytes(x) for x in proto_values])
рдлрд╝рд╛рдЗрд▓ "/usr/local/lib/python2.7/site-packages/tensorflow/python/util/compat.py", рд▓рд╛рдЗрди 44, as_bytes рдореЗрдВ
TypeError рдмрдврд╝рд╛рдПрдВ ('рдЕрдкреЗрдХреНрд╖рд┐рдд рдмрд╛рдЗрдирд░реА рдпрд╛ рдпреВрдирд┐рдХреЛрдб рд╕реНрдЯреНрд░рд┐рдВрдЧ,% r'% рдмрд╛рдЗрдЯреНрд╕_or_text рдорд┐рд▓рд╛)
рд▓реЗрдЦрди рддреНрд░реБрдЯрд┐: рдЕрдкреЗрдХреНрд╖рд┐рдд рдмрд╛рдЗрдирд░реА рдпрд╛ рдпреВрдирд┐рдХреЛрдб рд╕реНрдЯреНрд░рд┐рдВрдЧ, рдорд┐рд▓ рдЧрдпрд╛

рдЧреБрдгрди рд╕реЗ рдкрд╣рд▓реЗ рд╡рд┐рд░рд▓ рд╕реЗ рдШрдиреЗ рдЯреЗрдВрд╕рд░ рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдХреЗ рддрдп рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:

import tensorflow as tf
import numpy as np

x = tf.sparse_placeholder(tf.float32)
z = tf.sparse_tensor_to_dense(x)
y = tf.Variable(tf.random_uniform([9, 9], minval=0.0, maxval=1.0, dtype=tf.float32))

with tf.Session() as sess:
    sess.run(tf.initialize_all_variables())
    indices = np.array([[3, 2], [4, 5]], dtype=np.int64)
    values = np.array([1.0, 2.0], dtype=np.float32)
    shape = np.array([9, 9], dtype=np.int64)
    _ = sess.run(tf.matmul(z, y), feed_dict={
        x: tf.SparseTensorValue(indices, values, shape)})

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдЭрдВрдбреЗ a_is_sparse рдФрд░ b_is_sparse рдСрдкрд░реЗрдВрдб SparseTensor s рд╣реЛрдиреЗ рдХрд╛ рд╕рдВрдХреЗрдд рдирд╣реАрдВ рджреЗрддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рд╡реЗ рджреЛ рдШрдиреЗ Tensor рдСрдкрд░реЗрдВрдб рдкрд░ рдЕрдзрд┐рдХ рдХреБрд╢рд▓ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрд▓реНрдЧреЛрд░рд┐рдердо рд╕рдВрдХреЗрдд рд╣реИрдВред

рдПрдХ рд╕реНрдкрд╛рд░реНрд╕ рдЯреЗрдВрд╕рд░ рдФрд░ рдШрдиреЗ рдЯреЗрдВрд╕рд░ рдХреЛ рдкрд░рд┐рдкрдХреНрд╡ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдЗрд╕рдХреЗ рдмрдЬрд╛рдп tf.sparse_tensor_dense_matmul() рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рд╕рднреА 3 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

@concretevitamin , рдХреНрдпрд╛ рдпрд╣ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЙрдореНрдореАрдж рд╣реИ, рдпрд╛ рдпрд╣ рд╡рд┐рд░рд▓ рдЯреЗрдВрд╕рд░ рдХреА рдПрдХ рдЬреНрдЮрд╛рдд рд╕реАрдорд╛ рд╣реИред

рдЭрдВрдбреЗ a_is_sparse рдФрд░ b_is_sparse рдСрдкрд░реЗрдВрдб SparseTensor s рд╣реЛрдиреЗ рдХрд╛ рд╕рдВрдХреЗрдд рдирд╣реАрдВ рджреЗрддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рд╡реЗ рджреЛ рдШрдиреЗ Tensor рдСрдкрд░реЗрдВрдб рдкрд░ рдЕрдзрд┐рдХ рдХреБрд╢рд▓ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрд▓реНрдЧреЛрд░рд┐рдердо рд╕рдВрдХреЗрдд рд╣реИрдВред

рдПрдХ рд╕реНрдкрд╛рд░реНрд╕ рдЯреЗрдВрд╕рд░ рдФрд░ рдШрдиреЗ рдЯреЗрдВрд╕рд░ рдХреЛ рдкрд░рд┐рдкрдХреНрд╡ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдЗрд╕рдХреЗ рдмрдЬрд╛рдп tf.sparse_tensor_dense_matmul() рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЭрдВрдбреЗ a_is_sparse рдФрд░ b_is_sparse рдСрдкрд░реЗрдВрдб рдХреЛ SparseTensors рд╣реЛрдиреЗ рдХрд╛ рд╕рдВрдХреЗрдд рдирд╣реАрдВ рджреЗрддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рд╡реЗ рджреЛ рдШрдиреЗ рдЯреЗрдВрд╕рд░ рдСрдкрд░реЗрдВрдб рдкрд░ рдПрдХ рдЕрдзрд┐рдХ рдХреБрд╢рд▓ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрд▓реНрдЧреЛрд░рд┐рдердо рд╕рдВрдХреЗрдд рд╣реИрдВред

рдпрд╣ matmut рдХреЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рдмрд╣реБрдд рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдзреНрд╡рдЬ a_is_sparse рдХреНрдпрд╛ рдХрд░рддрд╛ рд╣реИред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

nicholaslocascio picture nicholaslocascio  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

jricheimer picture jricheimer  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

3rduncle picture 3rduncle  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

waleedka picture waleedka  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

as1ndu picture as1ndu  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ