scalar-autograd
Version:
Scalar-based reverse-mode automatic differentiation in TypeScript.
24 lines (23 loc) • 797 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const Value_1 = require("./Value");
describe('Memory management', () => {
it('handles large computation graphs', () => {
let x = new Value_1.Value(1, 'x', true);
for (let i = 0; i < 100; i++) {
x = x.add(1).mul(1.01);
}
expect(() => x.backward()).not.toThrow();
});
it('zeroGradAll handles multiple disconnected graphs', () => {
const x1 = new Value_1.Value(1, 'x1', true);
const y1 = x1.mul(2);
const x2 = new Value_1.Value(2, 'x2', true);
const y2 = x2.mul(3);
y1.backward();
y2.backward();
Value_1.Value.zeroGradAll([y1, y2]);
expect(x1.grad).toBe(0);
expect(x2.grad).toBe(0);
});
});