警告:このAPIは非推奨であり、置き換えが安定した後 TensorFlowの将来のバージョンで削除される予定です。

このページは Cloud Translation API によって翻訳されました。
Switch to English

SparseMatrixSparseMatMul

パブリック最終クラスSparseMatrixSparseMatMul

スパース行列-2つのCSR行列 `a`と` b`を乗算します。

スパース行列 `a`とスパース行列` b`の行列乗算を実行します。 `a`または` b`のいずれかが転置または隣接されていない限り、スパース行列 `a * b`を返します。

各行列は、ブールパラメータ `transpose_a`、` adjoint_a`、 `transpose_b`、および` adjoint_b`に従って転置または随伴(共役および転置)することができます。 `transpose_a`または` adjoint_a`の最大1つがTrueになる可能性があります。同様に、 `transpose_b`または` adjoint_b`の最大で1つがTrueになる可能性があります。

入力は互換性のある形状である必要があります。つまり、 `a`の内側の寸法は` b`の外側の寸法と等しくなければなりません。この要件は、 `a`または` b`のいずれかが転置または隣接しているかどうかに応じて調整されます。

`type`パラメーターは、行列要素のタイプを示します。 `a`と` b`は両方とも同じタイプでなければなりません。サポートされているタイプは、 `float32`、` float64`、 `complex64`、および` complex128`です。

`a`と` b`は両方とも同じランクでなければなりません。ブロードキャストはサポートされていません。ランク3の場合、 `a`と` b`内の2DCRSSparseMatricesの各バッチは同じ密な形状である必要があります。

スパース行列積には、数値(非構造)のゼロが含まれる場合があります。 TODO(anudhyan):ゼロをプルーニングするかどうかを制御するブール属性を追加することを検討してください。

使用例:

from tensorflow.python.ops.linalg.sparse import sparse_csr_matrix_ops
 
     a_indices = np.array([[0, 0], [2, 3], [2, 4], [3, 0]])
     a_values = np.array([1.0, 5.0, -1.0, -2.0], np.float32)
     a_dense_shape = [4, 5]
 
     b_indices = np.array([[0, 0], [3, 0], [3, 1]])
     b_values = np.array([2.0, 7.0, 8.0], np.float32)
     b_dense_shape = [5, 3]
 
     with tf.Session() as sess:
       # Define (COO format) Sparse Tensors over Numpy arrays
       a_st = tf.sparse.SparseTensor(a_indices, a_values, a_dense_shape)
       b_st = tf.sparse.SparseTensor(b_indices, b_values, b_dense_shape)
 
       # Convert SparseTensors to CSR SparseMatrix
       a_sm = sparse_csr_matrix_ops.sparse_tensor_to_csr_sparse_matrix(
           a_st.indices, a_st.values, a_st.dense_shape)
       b_sm = sparse_csr_matrix_ops.sparse_tensor_to_csr_sparse_matrix(
           b_st.indices, b_st.values, b_st.dense_shape)
 
       # Compute the CSR SparseMatrix matrix multiplication
       c_sm = sparse_csr_matrix_ops.sparse_matrix_sparse_mat_mul(
           a=a_sm, b=b_sm, type=tf.float32)
 
       # Convert the CSR SparseMatrix product to a dense Tensor
       c_sm_dense = sparse_csr_matrix_ops.csr_sparse_matrix_to_dense(
           c_sm, tf.float32)
       # Evaluate the dense Tensor value
       c_sm_dense_value = sess.run(c_sm_dense)
 
`c_sm_dense_value`は、密行列積を格納します:
[[  2.   0.   0.]
      [  0.   0.   0.]
      [ 35.  40.   0.]
      [ -4.   0.   0.]]
 
a:` CSRSparseMatrix`。 b: `a`と同じタイプとランクの` CSRSparseMatrix`。 type: `a`と` b`の両方のタイプ。 transpose_a:Trueの場合、乗算の前に `a`が転置されます。 transpose_b:Trueの場合、乗算の前に `b`が転置されます。 adjoint_a:Trueの場合、乗算の前に `a`が随伴します。 adjoint_b:Trueの場合、乗算の前に `b`が随伴します。

ネストされたクラス

クラスSparseMatrixSparseMatMul.Options SparseMatrixSparseMatMulオプションの属性

パブリックメソッド

static SparseMatrixSparseMatMul.Options
adjointA (ブール値adjointA)
static SparseMatrixSparseMatMul.Options
adjointB (ブール値adjointB)
出力<オブジェクト>
asOutput ()
テンソルのシンボリックハンドルを返します。
出力<?>
c ()
CSRSparseMatrix。
static <T> SparseMatrixSparseMatMul
createスコープスコープ、オペランド<?> a、オペランド<?> b、クラス<T>タイプ、オプション...オプション)
新しいSparseMatrixSparseMatMul操作をラップするクラスを作成するファクトリメソッド。
static SparseMatrixSparseMatMul.Options
transposeA (ブール値transposeA)
static SparseMatrixSparseMatMul.Options
transposeB (ブール値transposeB)

継承されたメソッド

パブリックメソッド

public static SparseMatrixSparseMatMul.Options adjointA (ブール値adjointA)

パラメーター
adjointA `a`を活用するかどうかを示します。

public static SparseMatrixSparseMatMul.Options adjointB (ブール値adjointB)

パラメーター
adjointB `b`を活用するかどうかを示します。

public Output <Object> asOutput ()

テンソルのシンボリックハンドルを返します。

TensorFlow操作への入力は、別のTensorFlow操作の出力です。このメソッドは、入力の計算を表すシンボリックハンドルを取得するために使用されます。

パブリック出力<?> c ()

CSRSparseMatrix。

public static SparseMatrixSparseMatMul create スコープスコープ、オペランド<?> a、オペランド<?> b、クラス<T>タイプ、オプション...オプション)

新しいSparseMatrixSparseMatMul操作をラップするクラスを作成するファクトリメソッド。

パラメーター
範囲現在のスコープ
a CSRSparseMatrix。
b CSRSparseMatrix。
オプションオプションの属性値を運ぶ
戻り値
  • SparseMatrixSparseMatMulの新しいインスタンス

public static SparseMatrixSparseMatMul.Options transposeA (ブール値transposeA)

パラメーター
transposeA `a`を転置するかどうかを示します。

public static SparseMatrixSparseMatMul.Options transposeB (ブール値transposeB)

パラメーター
transposeB `b`を転置するかどうかを示します。