def addmm(g, self, mat1, mat2, beta, alpha): if _try_get_scalar_type(self): old_type, self, mat1, mat2 = _try_cast_integer_to_float(g, self, mat1, mat2) return _cast_to_type( g, g.op("Gemm", mat1, mat2, self, beta_f=sym_help._scalar(beta), alpha_f=sym_help._scalar(alpha)), old_type) else: return g.op("Gemm", mat1, mat2, self, beta_f=sym_help._scalar(beta), alpha_f=sym_help._scalar(alpha))
def addcmul_symbolic(g, self, tensor1, tensor2, value=1, out=None): from torch.onnx.symbolic_opset9 import add, mul if out is not None: sym_help._unimplemented("addcmul", "Out parameter is not supported for addcmul") x = mul(g, tensor1, tensor2) value = sym_help._maybe_get_scalar(value) if sym_help._scalar(value) != 1: value = sym_help._if_scalar_type_as(g, value, x) if not sym_help._is_value(value): value = g.op("Constant", value_t=torch.tensor(value, dtype=torch.float32)) x = mul(g, x, value) return add(g, self, x)