UNPKG

@hoff97/tensor-js

Version:

PyTorch like deep learning inferrence library

32 lines 1.13 kB
import { UnaryOperation } from './unaryOperation'; export class HardSigmoidOperation extends UnaryOperation { constructor(tensorConstructor, dtype, allocator) { super(tensorConstructor, dtype, allocator); } operation(input) { return `max(vec4(0.0,0.0,0.0,0.0), min(vec4(1.0,1.0,1.0,1.0), alpha*${input} + beta))`; } calc(input) { return this.compute(input.input.shape, { X: input.input }, { alpha: input.alpha, beta: input.beta }); } getCompilationInfo(input) { const info = super.getCompilationInfo(input); return Object.assign(Object.assign({}, info), { alpha: input.alpha, beta: input.beta }); } getInputInfoString(input) { return `${super.getInputInfoString(input)}-${input.alpha}-${input.beta}`; } getVariables() { return ` ${this.getVarModifier('alpha')} float alpha; ${this.getVarModifier('beta')} float beta; `; } getUniformAttrs() { return [ { name: 'alpha', type: 'float' }, { name: 'beta', type: 'float' }, ]; } } //# sourceMappingURL=hardSigmoid.js.map