SparseMatrixSparseMatMul

classe final pública SparseMatrixSparseMatMul

Matriz esparsa multiplica duas matrizes CSR `a` e `b`.

Executa uma multiplicação de matrizes de uma matriz esparsa `a` com uma matriz esparsa `b`; retorna uma matriz esparsa `a * b`, a menos que `a` ou `b` sejam transpostos ou unidos.

Cada matriz pode ser transposta ou adjunta (conjugada e transposta) de acordo com os parâmetros booleanos `transpose_a`, `adjoint_a`, `transpose_b` e `adjoint_b`. No máximo um entre `transpose_a` ou `adjoint_a` pode ser True. Da mesma forma, no máximo um entre `transpose_b` ou `adjoint_b` pode ser True.

As entradas devem ter formatos compatíveis. Ou seja, a dimensão interna de `a` deve ser igual à dimensão externa de `b`. Este requisito é ajustado consoante «a» ou «b» sejam transpostos ou adjuntos.

O parâmetro `type` denota o tipo dos elementos da matriz. `a` e `b` devem ter o mesmo tipo. Os tipos suportados são: `float32`, `float64`, `complex64` e `complex128`.

Tanto `a` quanto `b` devem ter a mesma classificação. A transmissão não é suportada. Se eles tiverem classificação 3, cada lote de CSRSparseMatrices 2D dentro de `a` e `b` deverá ter a mesma forma densa.

O produto da matriz esparsa pode ter zeros numéricos (não estruturais). TODO(anudhyan): Considere adicionar um atributo booleano para controlar se os zeros devem ser removidos.

Exemplo de uso:

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` armazena o produto da matriz densa:
[[  2.   0.   0.]
      [  0.   0.   0.]
      [ 35.  40.   0.]
      [ -4.   0.   0.]]
 
a: Um `CSRSparseMatrix`. b: Um `CSRSparseMatrix` com o mesmo tipo e classificação de `a`. tipo: o tipo de `a` e `b`. transpose_a: Se True, `a` transposto antes da multiplicação. transpose_b: Se True, `b` transposto antes da multiplicação. adjoint_a: Se True, `a` adjacente antes da multiplicação. adjoint_b: Se True, `b` adjacente antes da multiplicação.

Classes aninhadas

Constantes

Corda OP_NAME O nome desta operação, conforme conhecido pelo mecanismo principal do TensorFlow

Métodos Públicos

SparseMatrixSparseMatMul.Options estática
adjointA (booleano adjointA)
SparseMatrixSparseMatMul.Options estática
adjointB (booleano adjuntoB)
Saída <TType>
asOutput ()
Retorna o identificador simbólico do tensor.
Saída <?>
c ()
Um CSRSparseMatrix.
estático <T estende TType > SparseMatrixSparseMatMul
create ( Escopo , Operando <?> a, Operando <?> b, Classe<T> tipo, Opções... opções)
Método de fábrica para criar uma classe que envolve uma nova operação SparseMatrixSparseMatMul.
SparseMatrixSparseMatMul.Options estática
transposeA (transposeA booleana)
SparseMatrixSparseMatMul.Options estática
transposeB (booleano transposeB)

Métodos herdados

org.tensorflow.op.RawOp
booleano final
é igual (objeto obj)
int final
Operação
op ()
Retorne esta unidade de cálculo como uma única Operation .
sequência final
booleano
é igual (objeto arg0)
aula final<?>
getClass ()
interno
código hash ()
vazio final
notificar ()
vazio final
notificar todos ()
Corda
toString ()
vazio final
espere (long arg0, int arg1)
vazio final
espere (arg0 longo)
vazio final
espere ()
org.tensorflow.op.Op
ambiente de execução abstrato
env ()
Retorne o ambiente de execução em que esta operação foi criada.
operação abstrata
op ()
Retorne esta unidade de cálculo como uma única Operation .
org.tensorflow.Operand
Saída abstrata <TType>
asOutput ()
Retorna o identificador simbólico do tensor.
TType abstrato
comoTensor ()
Retorna o tensor neste operando.
forma abstrata
forma ()
Retorna a forma (possivelmente parcialmente conhecida) do tensor referido pela Output deste operando.
Classe abstrata <TType>
tipo ()
Retorna o tipo de tensor deste operando
org.tensorflow.ndarray.Shaped
abstrato int
forma abstrata
forma ()
abstrato longo
tamanho ()
Calcula e retorna o tamanho total deste contêiner, em número de valores.

Constantes

String final estática pública OP_NAME

O nome desta operação, conforme conhecido pelo mecanismo principal do TensorFlow

Valor Constante: "SparseMatrixSparseMatMul"

Métodos Públicos

público estático SparseMatrixSparseMatMul.Options adjointA (booleano adjointA)

Parâmetros
adjuntoA Indica se `a` deve ser transposto por conjugado.

public static SparseMatrixSparseMatMul.Options adjointB (booleano adjointB)

Parâmetros
adjuntoB Indica se `b` deve ser transposto por conjugado.

saída pública < TType > asOutput ()

Retorna o identificador simbólico do tensor.

As entradas para operações do TensorFlow são saídas de outra operação do TensorFlow. Este método é usado para obter um identificador simbólico que representa o cálculo da entrada.

Saída pública <?> c ()

Um CSRSparseMatrix.

public static SparseMatrixSparseMatMul create ( Escopo escopo, Operando <?> a, Operando <?> b, Classe<T> tipo, Opções... opções)

Método de fábrica para criar uma classe que envolve uma nova operação SparseMatrixSparseMatMul.

Parâmetros
escopo escopo atual
um Um CSRSparseMatrix.
b Um CSRSparseMatrix.
opções carrega valores de atributos opcionais
Devoluções
  • uma nova instância de SparseMatrixSparseMatMul

public static SparseMatrixSparseMatMul.Options transposeA (booleano transposeA)

Parâmetros
transporA Indica se `a` deve ser transposto.

public static SparseMatrixSparseMatMul.Options transposeB (booleano transposeB)

Parâmetros
transporB Indica se `b` deve ser transposto.