@hoff97/tensor-js
Version:
PyTorch like deep learning inferrence library
16 lines • 536 B
JavaScript
const defaultEpsilon = 0.0001;
export function numericalGradient(input, fun, epsilon) {
if (epsilon === undefined) {
epsilon = defaultEpsilon;
}
const baseVal = fun(input).sum().get(0);
const grad = input.constantLike(0);
for (let i = 0; i < input.size; i++) {
input.set(i, input.get(i) + epsilon);
const val = fun(input).sum().get(0);
grad.set(i, (val - baseVal) / epsilon);
input.set(i, input.get(i) - epsilon);
}
return grad;
}
//# sourceMappingURL=numerical.js.map