25 lines
538 B
Python
Executable File
25 lines
538 B
Python
Executable File
import unittest
|
|
import numpy as np
|
|
from prml import nn
|
|
|
|
|
|
class TestNegative(unittest.TestCase):
|
|
|
|
def test_negative(self):
|
|
x = nn.Parameter(2.)
|
|
y = -x
|
|
self.assertEqual(y.value, -2)
|
|
y.backward()
|
|
self.assertEqual(x.grad, -1)
|
|
|
|
x = np.random.rand(2, 3)
|
|
xp = nn.Parameter(x)
|
|
y = -xp
|
|
self.assertTrue((y.value == -x).all())
|
|
y.backward(np.ones((2, 3)))
|
|
self.assertTrue((xp.grad == -np.ones((2, 3))).all())
|
|
|
|
|
|
if __name__ == '__main__':
|
|
unittest.main()
|