shigeyukioba / matchernet

Apache License 2.0
1 stars 1 forks source link

state の test を動かす #17

Closed uchihashikenshi closed 4 years ago

uchihashikenshi commented 4 years ago

目的

state.py 内のテストを分離し、動かせる状態にする

提案内容

/test 以下に test_state.py を作り、

if __name__ == "__main__":
    unittest.main()

のような形でテストできるようにする。 IO は以下。

$ python tests/test_state.py
.
----------------------------------------------------------------------
Ran 1 test in 0.000s

OK

タスク

関連

uchihashikenshi commented 4 years ago

state の初期化処理について。 state.py の StateMuSigma では、Sigma の初期化を以下のようにしている。

https://github.com/shigeyukioba/matchernet/blob/aa12a189d597c869f672aa10c1542ac6e8fce1df/matchernet_py_001/state.py#L67

が、doc には、例えば numpy.array([[1,0,0],[0,1,0],[0,0,1]])} のような numpy.eye(n) を出力するのが正しいように書かれている。 また、utils の calc_matrix_F などの仕様から、dtype=numpy.float32 が必要そうなので、結論としては numpy.eye(n, dtype=numpy.float32) と初期化するのが正しいと思われる。

https://github.com/shigeyukioba/matchernet/commit/3f09c7b78b948c3fab4c810efc3d453cfc0237e6 にて対応。

uchihashikenshi commented 4 years ago

https://github.com/shigeyukioba/matchernet/blob/aa12a189d597c869f672aa10c1542ac6e8fce1df/matchernet_py_001/state.py#L49

に関しても同様に https://github.com/shigeyukioba/matchernet/commit/3f09c7b78b948c3fab4c810efc3d453cfc0237e6 にて対応。

uchihashikenshi commented 4 years ago
$ python tests/test_state.py
......
----------------------------------------------------------------------
Ran 6 tests in 0.001s

OK