2
# Module caffe2.python.helpers.algebra
9
def transpose(model, blob_in, blob_out, use_cudnn=False, **kwargs):
12
kwargs['engine'] = 'CUDNN'
13
return model.net.Transpose(blob_in, blob_out, **kwargs)
16
def sum(model, blob_in, blob_out, **kwargs):
18
return model.net.Sum(blob_in, blob_out, **kwargs)
21
def reduce_sum(model, blob_in, blob_out, **kwargs):
23
return model.net.ReduceSum(blob_in, blob_out, **kwargs)
26
def sub(model, blob_in, blob_out, **kwargs):
28
return model.net.Sub(blob_in, blob_out, **kwargs)
31
def mat_mul(model, blob_in, blob_out, **kwargs):
32
"""Matrix multiplication"""
33
return model.net.MatMul(blob_in, blob_out, **kwargs)
36
def arg_min(model, blob_in, blob_out, **kwargs):
38
return model.net.ArgMin(blob_in, blob_out, **kwargs)
40
def batch_mat_mul(model, blob_in, blob_out,
41
enable_tensor_core=False, **kwargs):
42
if enable_tensor_core:
43
kwargs['engine'] = 'TENSORCORE'
45
return model.net.BatchMatMul(blob_in, blob_out, **kwargs)
47
def sparse_lengths_sum_4bit_rowwise_sparse(model, blob_in, blob_out, **kwargs):
48
return model.net.SparseLengthsSum4BitRowwiseSparse(blob_in, blob_out, **kwargs)