Spaces:
Sleeping
Sleeping
| # Copyright (c) Facebook, Inc. and its affiliates. | |
| # All rights reserved. | |
| # | |
| # This source code is licensed under the BSD-style license found in the | |
| # LICENSE file in the root directory of this source tree. | |
| import torch | |
| # pointwise operators can go through a faster pathway | |
| tensor_magic_methods = ["add", ""] | |
| pointwise_magic_methods_with_reverse = ( | |
| "add", | |
| "sub", | |
| "mul", | |
| "floordiv", | |
| "div", | |
| "truediv", | |
| "mod", | |
| "pow", | |
| "lshift", | |
| "rshift", | |
| "and", | |
| "or", | |
| "xor", | |
| ) | |
| pointwise_magic_methods = ( | |
| *(x for m in pointwise_magic_methods_with_reverse for x in (m, "r" + m)), | |
| "eq", | |
| "gt", | |
| "le", | |
| "lt", | |
| "ge", | |
| "gt", | |
| "ne", | |
| "neg", | |
| "pos", | |
| "abs", | |
| "invert", | |
| "iadd", | |
| "isub", | |
| "imul", | |
| "ifloordiv", | |
| "idiv", | |
| "itruediv", | |
| "imod", | |
| "ipow", | |
| "ilshift", | |
| "irshift", | |
| "iand", | |
| "ior", | |
| "ixor", | |
| "int", | |
| "long", | |
| "float", | |
| "complex", | |
| ) | |
| pointwise_methods = (*(f"__{m}__" for m in pointwise_magic_methods),) | |
| pointwise = ( | |
| *(getattr(torch.Tensor, m) for m in pointwise_methods), | |
| torch.nn.functional.dropout, | |
| torch.where, | |
| torch.Tensor.abs, | |
| torch.abs, | |
| torch.Tensor.acos, | |
| torch.acos, | |
| torch.Tensor.acosh, | |
| torch.acosh, | |
| torch.Tensor.add, | |
| torch.add, | |
| torch.Tensor.addcdiv, | |
| torch.addcdiv, | |
| torch.Tensor.addcmul, | |
| torch.addcmul, | |
| torch.Tensor.addr, | |
| torch.addr, | |
| torch.Tensor.angle, | |
| torch.angle, | |
| torch.Tensor.asin, | |
| torch.asin, | |
| torch.Tensor.asinh, | |
| torch.asinh, | |
| torch.Tensor.atan, | |
| torch.atan, | |
| torch.Tensor.atan2, | |
| torch.atan2, | |
| torch.Tensor.atanh, | |
| torch.atanh, | |
| torch.Tensor.bitwise_and, | |
| torch.bitwise_and, | |
| torch.Tensor.bitwise_left_shift, | |
| torch.bitwise_left_shift, | |
| torch.Tensor.bitwise_not, | |
| torch.bitwise_not, | |
| torch.Tensor.bitwise_or, | |
| torch.bitwise_or, | |
| torch.Tensor.bitwise_right_shift, | |
| torch.bitwise_right_shift, | |
| torch.Tensor.bitwise_xor, | |
| torch.bitwise_xor, | |
| torch.Tensor.ceil, | |
| torch.ceil, | |
| torch.celu, | |
| torch.nn.functional.celu, | |
| torch.Tensor.clamp, | |
| torch.clamp, | |
| torch.Tensor.clamp_max, | |
| torch.clamp_max, | |
| torch.Tensor.clamp_min, | |
| torch.clamp_min, | |
| torch.Tensor.copysign, | |
| torch.copysign, | |
| torch.Tensor.cos, | |
| torch.cos, | |
| torch.Tensor.cosh, | |
| torch.cosh, | |
| torch.Tensor.deg2rad, | |
| torch.deg2rad, | |
| torch.Tensor.digamma, | |
| torch.digamma, | |
| torch.Tensor.div, | |
| torch.div, | |
| torch.dropout, | |
| torch.nn.functional.dropout, | |
| torch.nn.functional.elu, | |
| torch.Tensor.eq, | |
| torch.eq, | |
| torch.Tensor.erf, | |
| torch.erf, | |
| torch.Tensor.erfc, | |
| torch.erfc, | |
| torch.Tensor.erfinv, | |
| torch.erfinv, | |
| torch.Tensor.exp, | |
| torch.exp, | |
| torch.Tensor.exp2, | |
| torch.exp2, | |
| torch.Tensor.expm1, | |
| torch.expm1, | |
| torch.feature_dropout, | |
| torch.Tensor.float_power, | |
| torch.float_power, | |
| torch.Tensor.floor, | |
| torch.floor, | |
| torch.Tensor.floor_divide, | |
| torch.floor_divide, | |
| torch.Tensor.fmod, | |
| torch.fmod, | |
| torch.Tensor.frac, | |
| torch.frac, | |
| torch.Tensor.frexp, | |
| torch.frexp, | |
| torch.Tensor.gcd, | |
| torch.gcd, | |
| torch.Tensor.ge, | |
| torch.ge, | |
| torch.nn.functional.gelu, | |
| torch.nn.functional.glu, | |
| torch.Tensor.gt, | |
| torch.gt, | |
| torch.Tensor.hardshrink, | |
| torch.hardshrink, | |
| torch.nn.functional.hardshrink, | |
| torch.nn.functional.hardsigmoid, | |
| torch.nn.functional.hardswish, | |
| torch.nn.functional.hardtanh, | |
| torch.Tensor.heaviside, | |
| torch.heaviside, | |
| torch.Tensor.hypot, | |
| torch.hypot, | |
| torch.Tensor.i0, | |
| torch.i0, | |
| torch.Tensor.igamma, | |
| torch.igamma, | |
| torch.Tensor.igammac, | |
| torch.igammac, | |
| torch.Tensor.isclose, | |
| torch.isclose, | |
| torch.Tensor.isfinite, | |
| torch.isfinite, | |
| torch.Tensor.isinf, | |
| torch.isinf, | |
| torch.Tensor.isnan, | |
| torch.isnan, | |
| torch.Tensor.isneginf, | |
| torch.isneginf, | |
| torch.Tensor.isposinf, | |
| torch.isposinf, | |
| torch.Tensor.isreal, | |
| torch.isreal, | |
| torch.Tensor.kron, | |
| torch.kron, | |
| torch.Tensor.lcm, | |
| torch.lcm, | |
| torch.Tensor.ldexp, | |
| torch.ldexp, | |
| torch.Tensor.le, | |
| torch.le, | |
| torch.nn.functional.leaky_relu, | |
| torch.Tensor.lerp, | |
| torch.lerp, | |
| torch.Tensor.lgamma, | |
| torch.lgamma, | |
| torch.Tensor.log, | |
| torch.log, | |
| torch.Tensor.log10, | |
| torch.log10, | |
| torch.Tensor.log1p, | |
| torch.log1p, | |
| torch.Tensor.log2, | |
| torch.log2, | |
| torch.nn.functional.logsigmoid, | |
| torch.Tensor.logical_and, | |
| torch.logical_and, | |
| torch.Tensor.logical_not, | |
| torch.logical_not, | |
| torch.Tensor.logical_or, | |
| torch.logical_or, | |
| torch.Tensor.logical_xor, | |
| torch.logical_xor, | |
| torch.Tensor.logit, | |
| torch.logit, | |
| torch.Tensor.lt, | |
| torch.lt, | |
| torch.Tensor.maximum, | |
| torch.maximum, | |
| torch.Tensor.minimum, | |
| torch.minimum, | |
| torch.nn.functional.mish, | |
| torch.Tensor.mvlgamma, | |
| torch.mvlgamma, | |
| torch.Tensor.nan_to_num, | |
| torch.nan_to_num, | |
| torch.Tensor.ne, | |
| torch.ne, | |
| torch.Tensor.neg, | |
| torch.neg, | |
| torch.Tensor.nextafter, | |
| torch.nextafter, | |
| torch.Tensor.outer, | |
| torch.outer, | |
| torch.polar, | |
| torch.Tensor.polygamma, | |
| torch.polygamma, | |
| torch.Tensor.positive, | |
| torch.positive, | |
| torch.Tensor.pow, | |
| torch.pow, | |
| torch.Tensor.prelu, | |
| torch.prelu, | |
| torch.nn.functional.prelu, | |
| torch.Tensor.rad2deg, | |
| torch.rad2deg, | |
| torch.Tensor.reciprocal, | |
| torch.reciprocal, | |
| torch.Tensor.relu, | |
| torch.relu, | |
| torch.nn.functional.relu, | |
| torch.nn.functional.relu6, | |
| torch.Tensor.remainder, | |
| torch.remainder, | |
| torch.Tensor.round, | |
| torch.round, | |
| torch.rrelu, | |
| torch.nn.functional.rrelu, | |
| torch.Tensor.rsqrt, | |
| torch.rsqrt, | |
| torch.rsub, | |
| torch.selu, | |
| torch.nn.functional.selu, | |
| torch.Tensor.sgn, | |
| torch.sgn, | |
| torch.Tensor.sigmoid, | |
| torch.sigmoid, | |
| torch.nn.functional.sigmoid, | |
| torch.Tensor.sign, | |
| torch.sign, | |
| torch.Tensor.signbit, | |
| torch.signbit, | |
| torch.nn.functional.silu, | |
| torch.Tensor.sin, | |
| torch.sin, | |
| torch.Tensor.sinc, | |
| torch.sinc, | |
| torch.Tensor.sinh, | |
| torch.sinh, | |
| torch.nn.functional.softplus, | |
| torch.nn.functional.softshrink, | |
| torch.Tensor.sqrt, | |
| torch.sqrt, | |
| torch.Tensor.square, | |
| torch.square, | |
| torch.Tensor.sub, | |
| torch.sub, | |
| torch.Tensor.tan, | |
| torch.tan, | |
| torch.Tensor.tanh, | |
| torch.tanh, | |
| torch.nn.functional.tanh, | |
| torch.threshold, | |
| torch.nn.functional.threshold, | |
| torch.trapz, | |
| torch.Tensor.true_divide, | |
| torch.true_divide, | |
| torch.Tensor.trunc, | |
| torch.trunc, | |
| torch.Tensor.xlogy, | |
| torch.xlogy, | |
| torch.rand_like, | |
| ) | |