algebra.py 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. ## @package algebra
  2. # Module caffe2.python.helpers.algebra
  3. def transpose(model, blob_in, blob_out, use_cudnn=False, **kwargs):
  4. """Transpose."""
  5. if use_cudnn:
  6. kwargs['engine'] = 'CUDNN'
  7. return model.net.Transpose(blob_in, blob_out, **kwargs)
  8. def sum(model, blob_in, blob_out, **kwargs):
  9. """Sum"""
  10. return model.net.Sum(blob_in, blob_out, **kwargs)
  11. def reduce_sum(model, blob_in, blob_out, **kwargs):
  12. """ReduceSum"""
  13. return model.net.ReduceSum(blob_in, blob_out, **kwargs)
  14. def sub(model, blob_in, blob_out, **kwargs):
  15. """Subtract"""
  16. return model.net.Sub(blob_in, blob_out, **kwargs)
  17. def mat_mul(model, blob_in, blob_out, **kwargs):
  18. """Matrix multiplication"""
  19. return model.net.MatMul(blob_in, blob_out, **kwargs)
  20. def arg_min(model, blob_in, blob_out, **kwargs):
  21. """ArgMin"""
  22. return model.net.ArgMin(blob_in, blob_out, **kwargs)
  23. def batch_mat_mul(model, blob_in, blob_out,
  24. enable_tensor_core=False, **kwargs):
  25. if enable_tensor_core:
  26. kwargs['engine'] = 'TENSORCORE'
  27. return model.net.BatchMatMul(blob_in, blob_out, **kwargs)
  28. def sparse_lengths_sum_4bit_rowwise_sparse(model, blob_in, blob_out, **kwargs):
  29. return model.net.SparseLengthsSum4BitRowwiseSparse(blob_in, blob_out, **kwargs)