TensorRTビルド(とEfficientDet実行環境)のDockerfile作ってみた
AutoML版EfficientDetをTensorRT化しようとして色々あってTensorRTのビルド環境と一緒に環境作りたくなったのでDockerfileとscriptを作ってgitにpushしてみた。
はまったことや注意点を列挙したい。
pycudaより前にnumpyのインストールが必要
setup.pyでひたすらエラーになって何度もバージョンをかけてsetup.pyを実行しようとしてしまうので先にnumpyをインストールする
ARM版bazelのインストール方法がややこしかった
結局実行ファイルを直接ダウンロードして配置する方法しかダメだった
tensorflow-addonsのバージョン依存パナイ
tensorflow-hubとtensorflow-addonsはARM版パッケージが登録されてなさそうなのでソースコードからビルドした。
addonsはバージョン依存がきつくて一覧表とにらめっこしてふさわしいバージョンを探す必要がある。
AutoML版EfficientDetのバージョン依存
masterブランチだと指定されているバージョンのライブラリを用意できないので1.2のソースコードを使うしかなかった。ただし、kerasディレクトリが本家Kerasパッケージと名称衝突してる件とかTensorFlow v2.6のtf.data.experimental.OptimizationOptionsからmap_vectorization
が消えていたりして1.2のソースコードそのままだと実行ができなかった。
(さすがにこの部分はスクリプトにも含めなかった)