Files
2026-07-13 13:30:25 +08:00

26 lines
579 B
Python
Executable File

import unittest
import numpy as np
from prml import nn
class TestSubtract(unittest.TestCase):
def test_forward_backward(self):
x = nn.Parameter(2)
z = x - 5
self.assertEqual(z.value, -3)
z.backward()
self.assertEqual(x.grad, 1)
x = np.random.rand(5, 4)
y = np.random.rand(4)
p = nn.Parameter(y)
z = x - p
self.assertTrue((z.value == x - y).all())
z.backward(np.ones((5, 4)))
self.assertTrue((p.grad == -np.ones(4) * 5).all())
if __name__ == '__main__':
unittest.main()