Multiply matrix "a" by matrix "b".
The inputs must be two-dimensional matrices and the inner dimension of "a" must match the outer dimension of "b". Both "a" and "b" must be `Tensor`s not `SparseTensor`s. This op is optimized for the case where at least one of "a" or "b" is sparse, in the sense that they have a large proportion of zero values. The breakeven for using this versus a dense matrix multiply on one platform was 30% zero values in the sparse matrix.
The gradient computation of this operation will only take advantage of sparsity in the input gradient when that gradient comes from a Relu.
Nested Classes
class | SparseMatMul.Options | Optional attributes for SparseMatMul
|
Constants
String | OP_NAME | The name of this op, as known by TensorFlow core engine |
Public Methods
static SparseMatMul.Options |
aIsSparse(Boolean aIsSparse)
|
Output<TFloat32> |
asOutput()
Returns the symbolic handle of the tensor.
|
static SparseMatMul.Options |
bIsSparse(Boolean bIsSparse)
|
static SparseMatMul | |
Output<TFloat32> |
product()
|
static SparseMatMul.Options |
transposeA(Boolean transposeA)
|
static SparseMatMul.Options |
transposeB(Boolean transposeB)
|
Inherited Methods
Constants
public static final String OP_NAME
The name of this op, as known by TensorFlow core engine
Public Methods
public Output<TFloat32> asOutput ()
Returns the symbolic handle of the tensor.
Inputs to TensorFlow operations are outputs of another TensorFlow operation. This method is used to obtain a symbolic handle that represents the computation of the input.
public static SparseMatMul create (Scope scope, Operand<? extends TNumber> a, Operand<? extends TNumber> b, Options... options)
Factory method to create a class wrapping a new SparseMatMul operation.
Parameters
scope | current scope |
---|---|
options | carries optional attributes values |
Returns
- a new instance of SparseMatMul