-
Notifications
You must be signed in to change notification settings - Fork 118
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
python API版の同梱ライブラリを完全なものにする #266
Comments
wheelに同梱してしまうという手の他にも、setup.py実行時に動的にダウンロードするという手もあるかもと思いました。 どちらの方法も可能な場合、いったんどちらの方法でも良いと思いますが、ビルド時間の削減を考えるとどちらかといえば動的DLだと比較的嬉しいかもです。 |
onnxruntime動的にダウンロードするほうがめんどくないですか? |
たしかに!どちらでも問題ないなと思いました! |
優先度低に設定されてますが、次のバージョンでengineから使用するvoicevox_coreライブラリをpython api版にする場合はこの対応の優先度は上がりそうです。 |
私も今日同じことを考えていました。python API 版の作業の進捗速度に応じて、 VOICEVOX/voicevox_engine#454 の作業(共有ライブラリ読み込みの仕組みを新しいコアに対応させる)に早めに取り組むべきかどうかが決まりそうだったので……(現在の開発版コアは API が大きく変わったので現在のエンジンから読み込むことができない)。 |
実はエンジン側はもうライブラリDL機構があるので、このissueの解決は必須ではないんですよね。 ライブラリを同梱するかしないかでエンジン側のActionsのコードは変わりそうです。 ただ、確かに同梱するなら先に同梱しておいたほうがエンジン側の対応が楽そうだと思います。 wheelにライブラリを同梱することの難度によりそうだなと思いました。 |
wheelよくわかってないんですが、同梱してなくても大丈夫なんですかね? |
個人的には、onnxruntimeライブラリはコアを動かすために必須なので同梱に賛成ですが、CUDAとDirectMLに関してはsetup.pyでのダウンロードの難度が高いなら必須ではないかなと思っています。 CUDAとDirectMLはDownloaderがあるのでユーザーにとってあまり手間がかからないはずです。 |
ちょっと僕も自信微妙にないのですが、たぶんpip installしたときにライブラリディレクトリにdllを展開するだけなので、同梱しなくても動かすことはできるだろうなと思ってます。 |
ほなengineで問題が出たら優先度挙げる感じで 👍 |
で挙げられているバージョン管理を念頭に置きつつ、エンジンからのPython API版の立ち位置を考え直してみました。 以下整理です。
ただ、コアはせっかく新しくなったから下位互換性は切り捨てても良さそうなのと、last_error_messageの実装を復活させる必要があったりするので、2も現実的な印象です。 どちらの方法も最初は1か2が現実的で、時間的に余裕ができたり、機能的に必要になったら3,4の方法でpython API版に移行する、ということになりそうです。 (当初の予定とは違った形になってしまいました、申し訳ないです 🙇♂️ @qwerty2501 ) |
cbindgen で出力制御できるようです https://github.com/eqrion/cbindgen/blob/master/docs.md#writing-your-c-api |
いやpubつけないとそもそも dynamic libraryに出力されないか こっちがただしそう https://github.com/eqrion/cbindgen/blob/master/docs.md#ignore-annotation |
内容
現在PyO3版では以下の問題点が存在する
これを解決するために以下の対応を行ったほうが良さそう
Pros 良くなる点
python API版voicevox_coreの使い勝手が向上する
Cons 悪くなる点
なし
実現方法
onnxruntimeについてはwhlファイルを作成する際に一緒に同梱させてあげるだけで良さそう
cuda版、directml版で必要な追加ライブラリについては setup script内で https://github.com/VOICEVOX/voicevox_additional_libraries からダウンロードするようにする
The text was updated successfully, but these errors were encountered: