Closed miyosuda closed 4 years ago
bricaを使った時のエラーをひとまず出なくしてみました。
修正点は
1) self.result_stateの値のセットアップをself.component = Component(self)よりも前に持ってきた 2) bricaのport経由で入ってくる値がNoneの場合に対処
1)は、Componentが作られる時点で、その時点でのオブジェクトの状態がpickleされて別プロセスに持って行って実行、みたいな中身になっているみたいで(板谷さんに詳細確認する必要ありますが)、__call__()の中で使われるメンバ変数をComponent(self)の呼び出し前に完了しておく必要があるため、移動をしました。
2)は、bricaは、パイプラインでstep遅れで情報をやりとりしながら実行をする仕組みになっているため、最初の数ステップは値が入ってこないので値がNoneになっている場合があるのでその場合の対処を入れました。 (このあたりのパイプライン実行に関する詳細を板谷さんに聞いた方がいいかもしれません)
bricaを使った時のエラーをひとまず出なくしてみました。
修正点は
1) self.result_stateの値のセットアップをself.component = Component(self)よりも前に持ってきた 2) bricaのport経由で入ってくる値がNoneの場合に対処
1)は、Componentが作られる時点で、その時点でのオブジェクトの状態がpickleされて別プロセスに持って行って実行、みたいな中身になっているみたいで(板谷さんに詳細確認する必要ありますが)、__call__()の中で使われるメンバ変数をComponent(self)の呼び出し前に完了しておく必要があるため、移動をしました。
2)は、bricaは、パイプラインでstep遅れで情報をやりとりしながら実行をする仕組みになっているため、最初の数ステップは値が入ってこないので値がNoneになっている場合があるのでその場合の対処を入れました。 (このあたりのパイプライン実行に関する詳細を板谷さんに聞いた方がいいかもしれません)