shigeyukioba / matchernet

Apache License 2.0
1 stars 1 forks source link

設計変更 #4

Open uchihashikenshi opened 4 years ago

uchihashikenshi commented 4 years ago

特に強い理由はないけれど、こうした方がいいかもと思った点を書いていき、後で全体見たときに起票するかどうか決める。

uchihashikenshi commented 4 years ago

matchernet.py の Bundle と Matcher が base class っぽいのでそのように書き換えたほうがいいかも

ktnyt commented 4 years ago

「設計」にあてはまるかどうか怪しい部分ですが広義の設計という意味でプロジェクト構造を見直したほうがいいと思っています。 具体的にはgitにバージョン管理の責任を委譲しているためmatchernet_dev→matchernetのリネーム、master/developブランチへの切り分け、matchernet_py_001ディレクトリをmatchernetにリネーム、などです。

shigeyukioba commented 4 years ago

「matchernet.py の Bundle と Matcher が base class っぽいのでそのように書き換えたほうがいいかも」については、要議論。 自分も最初はそうするのが正しいと考えていましたが、かえって使いづらくなるかもしれないと思い始めています。いまは結論保留としておいて、継承者が増えてから継承元をどうするか考え直すのがよいと思ってます。

uchihashikenshi commented 4 years ago

Python 3.5 以降を必須にするのであれば、型アノテーションを入れてもいいかも。 ex)

def predict(self, F: Tensor, Q: Tensor) -> 'Gaussian':
ktnyt commented 4 years ago

必須のメソッド郡はありそうなのでAbstract Base Class化するのはどうでしょうか(必須メソッドの実装漏れを防げるので)。