1
- import aesara
2
1
import aesara .tensor as at
3
2
import numpy as np
4
3
import pytest
7
6
from pymc3_hmm .utils import (
8
7
compute_trans_freqs ,
9
8
logdotexp ,
9
+ logsumexp ,
10
10
multilogit_inv ,
11
- tt_logdotexp ,
12
- tt_logsumexp ,
11
+ np_logdotexp ,
13
12
)
14
13
15
14
@@ -35,62 +34,60 @@ def test_compute_trans_freqs():
35
34
)
36
35
def test_logsumexp (test_input ):
37
36
np_res = sp .special .logsumexp (test_input )
38
- tt_res = tt_logsumexp (at .as_tensor_variable (test_input )).eval ()
39
- assert np .array_equal (np_res , tt_res )
37
+ at_res = logsumexp (at .as_tensor_variable (test_input )).eval ()
38
+ assert np .array_equal (np_res , at_res )
40
39
41
40
42
- def test_logdotexp ():
41
+ def test_np_logdotexp ():
43
42
A = np .c_ [[1.0 , 2.0 ], [3.0 , 4.0 ], [10.0 , 20.0 ]]
44
43
b = np .c_ [[0.1 ], [0.2 ], [30.0 ]].T
45
44
46
- test_res = logdotexp (np .log (A ), np .log (b ))
45
+ test_res = np_logdotexp (np .log (A ), np .log (b ))
47
46
assert test_res .shape == (2 , 1 )
48
47
assert np .allclose (A .dot (b ), np .exp (test_res ))
49
48
50
49
b = np .r_ [0.1 , 0.2 , 30.0 ]
51
- test_res = logdotexp (np .log (A ), np .log (b ))
50
+ test_res = np_logdotexp (np .log (A ), np .log (b ))
52
51
assert test_res .shape == (2 ,)
53
52
assert np .allclose (A .dot (b ), np .exp (test_res ))
54
53
55
54
A = np .c_ [[1.0 , 2.0 ], [10.0 , 20.0 ]]
56
55
b = np .c_ [[0.1 ], [0.2 ]].T
57
- test_res = logdotexp (np .log (A ), np .log (b ))
56
+ test_res = np_logdotexp (np .log (A ), np .log (b ))
58
57
assert test_res .shape == (2 , 1 )
59
58
assert np .allclose (A .dot (b ), np .exp (test_res ))
60
59
61
60
b = np .r_ [0.1 , 0.2 ]
62
- test_res = logdotexp (np .log (A ), np .log (b ))
61
+ test_res = np_logdotexp (np .log (A ), np .log (b ))
63
62
assert test_res .shape == (2 ,)
64
63
assert np .allclose (A .dot (b ), np .exp (test_res ))
65
64
66
65
67
- def test_tt_logdotexp ():
66
+ def test_at_logdotexp ():
68
67
69
68
np .seterr (over = "ignore" , under = "ignore" )
70
69
71
- aesara .config .compute_test_value = "warn"
72
-
73
70
A = np .c_ [[1.0 , 2.0 ], [3.0 , 4.0 ], [10.0 , 20.0 ]]
74
71
b = np .c_ [[0.1 ], [0.2 ], [30.0 ]].T
75
72
A_tt = at .as_tensor_variable (A )
76
73
b_tt = at .as_tensor_variable (b )
77
- test_res = tt_logdotexp (at .log (A_tt ), at .log (b_tt )).eval ()
74
+ test_res = logdotexp (at .log (A_tt ), at .log (b_tt )).eval ()
78
75
assert test_res .shape == (2 , 1 )
79
76
assert np .allclose (A .dot (b ), np .exp (test_res ))
80
77
81
78
b = np .r_ [0.1 , 0.2 , 30.0 ]
82
- test_res = tt_logdotexp (at .log (A ), at .log (b )).eval ()
79
+ test_res = logdotexp (at .log (A ), at .log (b )).eval ()
83
80
assert test_res .shape == (2 ,)
84
81
assert np .allclose (A .dot (b ), np .exp (test_res ))
85
82
86
83
A = np .c_ [[1.0 , 2.0 ], [10.0 , 20.0 ]]
87
84
b = np .c_ [[0.1 ], [0.2 ]].T
88
- test_res = tt_logdotexp (at .log (A ), at .log (b )).eval ()
85
+ test_res = logdotexp (at .log (A ), at .log (b )).eval ()
89
86
assert test_res .shape == (2 , 1 )
90
87
assert np .allclose (A .dot (b ), np .exp (test_res ))
91
88
92
89
b = np .r_ [0.1 , 0.2 ]
93
- test_res = tt_logdotexp (at .log (A ), at .log (b )).eval ()
90
+ test_res = logdotexp (at .log (A ), at .log (b )).eval ()
94
91
assert test_res .shape == (2 ,)
95
92
assert np .allclose (A .dot (b ), np .exp (test_res ))
96
93
0 commit comments