Source code for onnx_diagnostic.reference.torch_ops.unary_ops

import torch
from . import OpRunKernel, OpRunTensor


[docs] class Abs_1(OpRunKernel): """Abs"""
[docs] def run(self, x: OpRunTensor) -> OpRunTensor: return OpRunTensor(torch.abs(x.tensor))
[docs] class Cos_1(OpRunKernel): """Cos"""
[docs] def run(self, x: OpRunTensor) -> OpRunTensor: return OpRunTensor(x.tensor.cos())
[docs] class Erf_9(OpRunKernel): """Erf"""
[docs] def run(self, x: OpRunTensor) -> OpRunTensor: return OpRunTensor(x.tensor.erf())
[docs] class Exp_1(OpRunKernel): """Exp"""
[docs] def run(self, x: OpRunTensor) -> OpRunTensor: return OpRunTensor(x.tensor.exp())
[docs] class Identity_1(OpRunKernel): "Identity"
[docs] def run(self, x: OpRunTensor) -> OpRunTensor: return OpRunTensor(x.tensor)
[docs] class Log_1(OpRunKernel): """Log"""
[docs] def run(self, x: OpRunTensor) -> OpRunTensor: return OpRunTensor(x.tensor.log())
[docs] class Neg_1(OpRunKernel): """Neg"""
[docs] def run(self, x: OpRunTensor) -> OpRunTensor: return OpRunTensor(-x.tensor)
[docs] class Not_1(OpRunKernel): """Not"""
[docs] def run(self, x: OpRunTensor) -> OpRunTensor: return OpRunTensor(~x.tensor)
[docs] class Reciprocal_1(OpRunKernel): """REciprocal"""
[docs] def run(self, x: OpRunTensor) -> OpRunTensor: return OpRunTensor(1 / x.tensor)
[docs] class Sigmoid_6(OpRunKernel): """Sqrt"""
[docs] def run(self, x: OpRunTensor) -> OpRunTensor: return OpRunTensor(torch.sigmoid(x.tensor))
[docs] class Sin_1(OpRunKernel): """Sin"""
[docs] def run(self, x: OpRunTensor) -> OpRunTensor: return OpRunTensor(x.tensor.sin())
[docs] class Sqrt_1(OpRunKernel): """Sqrt"""
[docs] def run(self, x: OpRunTensor) -> OpRunTensor: return OpRunTensor(x.tensor.sqrt())