from webdnn.backend.webassembly.kernels.elementwise import register_elementwise_kernel from webdnn.graph.operators.rsqrt import Rsqrt register_elementwise_kernel(Rsqrt, "y = 1.0 / sqrt(x0);")
from webdnn.backend.webassembly.kernels.elementwise import register_elementwise_kernel from webdnn.graph.operators.scalar_affine import ScalarAffine register_elementwise_kernel( ScalarAffine, "y = x0 * scale + bias;", { "scale": lambda op: op.parameters["scale"], "bias": lambda op: op.parameters["bias"], })
from webdnn.backend.webassembly.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.webassembly.kernels.elementwise import register_elementwise_kernel from webdnn.graph.operators.cosh import Cosh register_elementwise_kernel(Cosh, "y = cosh(x0);")
from webdnn.backend.webassembly.kernels.elementwise import register_elementwise_kernel from webdnn.graph.operators.broadcast import Broadcast register_elementwise_kernel(Broadcast, "y = x0;")
from webdnn.backend.webassembly.kernels.elementwise import register_elementwise_kernel from webdnn.graph.operators.tan import Tan register_elementwise_kernel(Tan, "y = tan(x0);")
from webdnn.backend.webassembly.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.webassembly.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.webassembly.kernels.elementwise import register_elementwise_kernel from webdnn.graph.operators.scalar_pow import ScalarPow register_elementwise_kernel(ScalarPow, "y = powf(x0, value);", {"value": lambda op: op.parameters["value"]})
from webdnn.backend.webassembly.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.webassembly.kernels.elementwise import register_elementwise_kernel from webdnn.graph.operators.sqrt import Sqrt register_elementwise_kernel(Sqrt, "y = sqrt(x0);")
from webdnn.backend.webassembly.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.webassembly.kernels.elementwise import register_elementwise_kernel from webdnn.graph.operators.exp import Exp register_elementwise_kernel(Exp, "y = exp(x0);")
from webdnn.backend.webassembly.kernels.elementwise import register_elementwise_kernel from webdnn.graph.operators.elementwise_pow import ElementwisePow register_elementwise_kernel(ElementwisePow, "y = powf(x0, x1);")
from webdnn.backend.webassembly.kernels.elementwise import register_elementwise_kernel from webdnn.graph.operators.acos import Acos register_elementwise_kernel(Acos, "y = acos(x0);")
from webdnn.backend.webassembly.kernels.elementwise import register_elementwise_kernel from webdnn.graph.operators.asinh import Asinh register_elementwise_kernel(Asinh, "y = asinh(x0);")
from webdnn.backend.webassembly.kernels.elementwise import register_elementwise_kernel from webdnn.graph.operators.greater_equal import GreaterEqual register_elementwise_kernel(GreaterEqual, "y = x0 >= x1 ? 1.0 : 0.0;")
from webdnn.backend.webassembly.kernels.elementwise import register_elementwise_kernel from webdnn.graph.operators.abs import Abs register_elementwise_kernel(Abs, "y = fabs(x0);")
from webdnn.backend.webassembly.kernels.elementwise import register_elementwise_kernel from webdnn.graph.operators.elementwise_add import ElementwiseAdd register_elementwise_kernel(ElementwiseAdd, "y = x0 + x1;")
from webdnn.backend.webassembly.kernels.elementwise import register_elementwise_kernel from webdnn.graph.operators.transpose import Transpose register_elementwise_kernel(Transpose, "y = x0;")
from webdnn.backend.webassembly.kernels.elementwise import register_elementwise_kernel from webdnn.graph.operators.log import Log register_elementwise_kernel(Log, "y = log(x0);")
from webdnn.backend.webassembly.kernels.elementwise import register_elementwise_kernel from webdnn.graph.operators.sin import Sin register_elementwise_kernel(Sin, "y = sin(x0);")
from webdnn.backend.webassembly.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.webassembly.kernels.elementwise import register_elementwise_kernel from webdnn.graph.operators.atanh import Atanh register_elementwise_kernel(Atanh, "y = atanh(x0);")
from webdnn.backend.webassembly.kernels.elementwise import register_elementwise_kernel from webdnn.graph.operators.elementwise_div import ElementwiseDiv register_elementwise_kernel(ElementwiseDiv, "y = x0 / x1;")
from webdnn.backend.webassembly.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.webassembly.kernels.elementwise import register_elementwise_kernel from webdnn.graph.operators.elementwise_mul import ElementwiseMul register_elementwise_kernel(ElementwiseMul, "y = x0 * x1;")
from webdnn.backend.webassembly.kernels.elementwise import register_elementwise_kernel from webdnn.graph.operators.threshold_relu import ThresholdRelu register_elementwise_kernel(ThresholdRelu, "y = x0 > threshold ? x0 : 0;", {"threshold": lambda op: op.parameters["threshold"]})
from webdnn.backend.webassembly.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.webassembly.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;")