from webdnn.backend.webgl.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.webgl.kernels.elementwise import register_elementwise_kernel from webdnn.graph.operators.atan import Atan register_elementwise_kernel(Atan, "y = atan(x0);")
from webdnn.backend.webgl.kernels.elementwise import register_elementwise_kernel from webdnn.graph.operators.cos import Cos register_elementwise_kernel(Cos, "y = cos(x0);")
from webdnn.backend.webgl.kernels.elementwise import register_elementwise_kernel from webdnn.graph.operators.scalar_pow import ScalarPow register_elementwise_kernel(ScalarPow, "y = pow(x0, float(value));", {"value": lambda op: op.parameters["value"]})
from webdnn.backend.webgl.kernels.elementwise import register_elementwise_kernel from webdnn.graph.operators.sin import Sin register_elementwise_kernel(Sin, "y = sin(x0);")
from webdnn.backend.webgl.kernels.elementwise import register_elementwise_kernel from webdnn.graph.operators.asinh import Asinh register_elementwise_kernel(Asinh, "y = log(x0+sqrt(pow(x0, 2.0) + 1.0));")
from webdnn.backend.webgl.kernels.elementwise import register_elementwise_kernel from webdnn.graph.operators.leaky_relu import LeakyRelu register_elementwise_kernel( LeakyRelu, "y = ((1.0 + slope) * x0 + (1.0 - slope) * abs(x0)) * 0.5;", {"slope": lambda op: op.parameters["slope"]})
from webdnn.backend.webgl.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.webgl.kernels.elementwise import register_elementwise_kernel from webdnn.graph.operators.abs import Abs register_elementwise_kernel(Abs, "y = abs(x0);")
from webdnn.backend.webgl.kernels.elementwise import register_elementwise_kernel from webdnn.graph.operators.rsqrt import Rsqrt register_elementwise_kernel(Rsqrt, "y = inversesqrt(x0);")
from webdnn.backend.webgl.kernels.elementwise import register_elementwise_kernel from webdnn.graph.operators.log import Log register_elementwise_kernel(Log, "y = log(x0);")
from webdnn.backend.webgl.kernels.elementwise import register_elementwise_kernel from webdnn.graph.operators.transpose import Transpose register_elementwise_kernel(Transpose, "y = x0;")
from webdnn.backend.webgl.kernels.elementwise import register_elementwise_kernel from webdnn.graph.operators.relu import Relu register_elementwise_kernel(Relu, "y = x0 < 0.0 ? 0.0 : x0;")
from webdnn.backend.webgl.kernels.elementwise import register_elementwise_kernel from webdnn.graph.operators.acosh import Acosh register_elementwise_kernel(Acosh, "y = log(x0+sqrt(pow(x0, 2.0) - 1.0));")
from webdnn.backend.webgl.kernels.elementwise import register_elementwise_kernel from webdnn.graph.operators.hard_sigmoid import HardSigmoid register_elementwise_kernel( HardSigmoid, """ y = x0 * 0.2 + 0.5; y = (y < 0.0) ? 0.0 : (y > 1.0) ? 1.0 : y; """)
from webdnn.backend.webgl.kernels.elementwise import register_elementwise_kernel from webdnn.graph.operators.exp import Exp register_elementwise_kernel(Exp, "y = exp(x0);")
from webdnn.backend.webgl.kernels.elementwise import register_elementwise_kernel from webdnn.graph.operators.elementwise_mul import ElementwiseMul register_elementwise_kernel(ElementwiseMul, "y = x0 * x1;")
from webdnn.backend.webgl.kernels.elementwise import register_elementwise_kernel from webdnn.graph.operators.acos import Acos register_elementwise_kernel(Acos, "y = acos(x0);")
from webdnn.backend.webgl.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.webgl.kernels.elementwise import register_elementwise_kernel from webdnn.graph.operators.acosh import Acosh from webdnn.graph.operators.asin import Asin from webdnn.graph.operators.asinh import Asinh register_elementwise_kernel(Asin, "y = asin(x0);")
from webdnn.backend.webgl.kernels.elementwise import register_elementwise_kernel from webdnn.graph.operators.sinh import Sinh register_elementwise_kernel(Sinh, "y = (exp(x0) - exp(-x0))/2.0;")
from webdnn.backend.webgl.kernels.elementwise import register_elementwise_kernel from webdnn.graph.operators.elementwise_add import ElementwiseAdd register_elementwise_kernel(ElementwiseAdd, "y = x0 + x1;")
from webdnn.backend.webgl.kernels.elementwise import register_elementwise_kernel from webdnn.graph.operators.threshold_relu import ThresholdRelu register_elementwise_kernel(ThresholdRelu, "y = x0 > threshold ? x0 : 0.0;", { "threshold": lambda op: op.parameters["threshold"] })
from webdnn.backend.webgl.kernels.elementwise import register_elementwise_kernel from webdnn.graph.operators.sqrt import Sqrt register_elementwise_kernel(Sqrt, "y = sqrt(x0);")
from webdnn.backend.webgl.kernels.elementwise import register_elementwise_kernel from webdnn.graph.operators.softplus import Softplus register_elementwise_kernel(Softplus, "y = log(1.0 + exp(beta * x0)) / beta;", {"beta": lambda op: op.parameters["beta"]})
from webdnn.backend.webgl.kernels.elementwise import register_elementwise_kernel from webdnn.graph.operators.scalar_mul import ScalarMul register_elementwise_kernel(ScalarMul, "y = x0 * float(value);", { "value": lambda op: op.parameters["value"] })
from webdnn.backend.webgl.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.webgl.kernels.elementwise import register_elementwise_kernel from webdnn.graph.operators.tan import Tan register_elementwise_kernel(Tan, "y = tan(x0);")
from webdnn.backend.webgl.kernels.elementwise import register_elementwise_kernel from webdnn.graph.operators.sigmoid import Sigmoid register_elementwise_kernel(Sigmoid, "y = 1.0 / (1.0 + exp(-1.0 * x0));")
from webdnn.backend.webgl.kernels.elementwise import register_elementwise_kernel from webdnn.graph.operators.softsign import Softsign register_elementwise_kernel(Softsign, "y = x0 / (abs(x0) + 1.0);")