from webdnn.backend.webgpu.kernels.elementwise import register_elementwise_kernel from webdnn.graph.operators.softplus import Softplus register_elementwise_kernel(Softplus, "y = log(1.0f + exp(beta * x0)) / beta;", {"beta": lambda op: op.parameters["beta"]})
from webdnn.backend.webgpu.kernels.elementwise import register_elementwise_kernel from webdnn.graph.operators.axiswise_scale import AxiswiseScale from webdnn.graph.operators.elementwise_mul import ElementwiseMul register_elementwise_kernel(ElementwiseMul, "y = x0 * x1;") register_elementwise_kernel(AxiswiseScale, "y = x0 * x1;")
from webdnn.backend.webgpu.kernels.elementwise import register_elementwise_kernel from webdnn.graph.operators.atan import Atan register_elementwise_kernel(Atan, "y = atan(x0);")
from webdnn.backend.webgpu.kernels.elementwise import register_elementwise_kernel from webdnn.graph.operators.transpose import Transpose register_elementwise_kernel(Transpose, "y = x0;")
from webdnn.backend.webgpu.kernels.elementwise import register_elementwise_kernel from webdnn.graph.operators.softsign import Softsign register_elementwise_kernel(Softsign, "y = x0 / (fabs(x0) + 1.0f);")
from webdnn.backend.webgpu.kernels.elementwise import register_elementwise_kernel from webdnn.graph.operators.elementwise_pow import ElementwisePow register_elementwise_kernel(ElementwisePow, "y = pow(x0, x1);")
from webdnn.backend.webgpu.kernels.elementwise import register_elementwise_kernel from webdnn.graph.operators.sinh import Sinh register_elementwise_kernel(Sinh, "y = sinh(x0);")
from webdnn.backend.webgpu.kernels.elementwise import register_elementwise_kernel from webdnn.graph.operators.broadcast import Broadcast register_elementwise_kernel(Broadcast, "y = x0;")
from webdnn.backend.webgpu.kernels.elementwise import register_elementwise_kernel from webdnn.graph.operators.hard_sigmoid import HardSigmoid register_elementwise_kernel( HardSigmoid, """ y = x0 * 0.2f + 0.5f; if (y < 0.0f) { y = 0.0f; } else if (y > 1.0f) { y = 1.0f; } """)
from webdnn.backend.webgpu.kernels.elementwise import register_elementwise_kernel from webdnn.graph.operators.leaky_relu import LeakyRelu register_elementwise_kernel(LeakyRelu, "y = x0 > 0 ? x0 : (x0 * slope);", {"slope": lambda op: op.parameters["slope"]})
from webdnn.backend.webgpu.kernels.elementwise import register_elementwise_kernel from webdnn.graph.operators.abs import Abs register_elementwise_kernel(Abs, "y = abs(x0);")
from webdnn.backend.webgpu.kernels.elementwise import register_elementwise_kernel from webdnn.graph.operators.rsqrt import Rsqrt register_elementwise_kernel(Rsqrt, "y = rsqrt(x0);")
from webdnn.backend.webgpu.kernels.elementwise import register_elementwise_kernel from webdnn.graph.operators.greater import Greater register_elementwise_kernel(Greater, "y = x0 > x1 ? 1.0 : 0.0;")
from webdnn.backend.webgpu.kernels.elementwise import register_elementwise_kernel from webdnn.graph.operators.clipped_relu import ClippedRelu register_elementwise_kernel(ClippedRelu, "y = x0 < 0 ? 0 : x0 > cap ? cap : x0;", {"cap": lambda op: op.parameters["cap"]})
from webdnn.backend.webgpu.kernels.elementwise import register_elementwise_kernel from webdnn.graph.operators.scalar_add import ScalarAdd register_elementwise_kernel(ScalarAdd, "y = x0 + value;", {"value": lambda op: op.parameters["value"]})
from webdnn.backend.webgpu.kernels.elementwise import register_elementwise_kernel from webdnn.graph.operators.select import Select register_elementwise_kernel(Select, "y = (x0 == 1.0f ? x1 : x2);")
from webdnn.backend.webgpu.kernels.elementwise import register_elementwise_kernel from webdnn.graph.operators.log import Log register_elementwise_kernel(Log, "y = log(x0);")
from webdnn.backend.webgpu.kernels.elementwise import register_elementwise_kernel from webdnn.graph.operators.scalar_pow import ScalarPow register_elementwise_kernel(ScalarPow, "y = pow(x0, value);", {"value": lambda op: op.parameters["value"]})
from webdnn.backend.webgpu.kernels.elementwise import register_elementwise_kernel from webdnn.graph.operators.acos import Acos register_elementwise_kernel(Acos, "y = acos(x0);")
from webdnn.backend.webgpu.kernels.elementwise import register_elementwise_kernel from webdnn.graph.operators.sigmoid import Sigmoid register_elementwise_kernel(Sigmoid, "y = tanh(0.5f * x0) * 0.5f + 0.5f;")
from webdnn.backend.webgpu.kernels.elementwise import register_elementwise_kernel from webdnn.graph.operators.asin import Asin register_elementwise_kernel(Asin, "y = asin(x0);")
from webdnn.backend.webgpu.kernels.elementwise import register_elementwise_kernel from webdnn.graph.operators.elementwise_mul import ElementwiseMul register_elementwise_kernel(ElementwiseMul, "y = x0 * x1;")
from webdnn.backend.webgpu.kernels.elementwise import register_elementwise_kernel from webdnn.graph.operators.relu import Relu register_elementwise_kernel(Relu, "y = x0 > 0 ? x0 : 0;")
from webdnn.backend.webgpu.kernels.elementwise import register_elementwise_kernel from webdnn.graph.operators.tan import Tan register_elementwise_kernel(Tan, "y = tan(x0);")
from webdnn.backend.webgpu.kernels.elementwise import register_elementwise_kernel from webdnn.graph.operators.exp import Exp register_elementwise_kernel(Exp, "y = exp(x0);")
from webdnn.backend.webgpu.kernels.elementwise import register_elementwise_kernel from webdnn.graph.operators.elu import Elu register_elementwise_kernel(Elu, "y = x0 < 0.0 ? (exp(x0)-1) : x0;")
from webdnn.backend.webgpu.kernels.elementwise import register_elementwise_kernel from webdnn.graph.operators.cos import Cos register_elementwise_kernel(Cos, "y = cos(x0);")
from webdnn.backend.webgpu.kernels.elementwise import register_elementwise_kernel from webdnn.graph.operators.sqrt import Sqrt register_elementwise_kernel(Sqrt, "y = sqrt(x0);")
from webdnn.backend.webgpu.kernels.elementwise import register_elementwise_kernel from webdnn.graph.operators.axiswise_bias import AxiswiseBias from webdnn.graph.operators.elementwise_add import ElementwiseAdd register_elementwise_kernel(ElementwiseAdd, "y = x0 + x1;") register_elementwise_kernel(AxiswiseBias, "y = x0 + x1;")
from webdnn.backend.webgpu.kernels.elementwise import register_elementwise_kernel from webdnn.graph.operators.elementwise_add import ElementwiseAdd register_elementwise_kernel(ElementwiseAdd, "y = x0 + x1;")