以下の記事で、Azureの仮想マシンとNDLOCRを用いたGradioアプリについて紹介しました。
本記事では、このアプリの構築方法に関する備忘録です。
仮想マシンの構築#
GPUを使用するにあたり、クォータの要求を行う必要がありました。


要求後、今回は「NC8as_T4_v3」を使用します。

Docker環境の構築#
以下の記事を参考にします。
https://zenn.dev/koki_algebra/scraps/32ba86a3f867a4
Secure Boot の無効化#
以下のように記載されています。
Secure Boot を無効化しないと NVIDIA Driver が正しくインストールされない.
実際、無効化しなかった場合、以下の画面が表示され、前に進めませんでした。

以下で、Secure Bootを無効化します。

NVIDIA Driver のインストール#
ubuntu-drivers コマンドのインストールを行い、インストール可能な NVIDIA Driver を確認する。
以下が結果です。
recommendedをインストールします。
再起動後、以下を実行し、インストールを確認します。
Docker のインストール#
公式ドキュメントに従ってインストールします。
https://docs.docker.com/engine/install/ubuntu/
azureuser を Docker Group に追加します。その後、Docker の再起動を行います。
SSH で再接続する。
公式ドキュメントに従ってインストールします。
https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html
Configuring Docker#
ドメイン設定#
今回は作成するGradioアプリは、Traefikを用いてHTTPS 化します。
ここでは、Route53を用いて、仮想マシンのIPアドレスにドメインを設定します。
NDLOCRアプリの起動#
ここまでが環境設定です。ここからNDLOCRアプリの起動を行います。
以下により、ソースコードをダウンロードします。
Gradioアプリのソースコードをダウンロード#
以下でGradioアプリのソースコードを公開しています。
https://github.com/nakamura196/ndlocr2_gradio
これをダウンロードして、所定の場所にコピーします。
その後、./traefik/traefik.ymlと./docker-compose.yml内のドメイン名やメールアドレスを修正します。
そして、以下を実行します。
これにより、設定したURLで、Gradioアプリが起動します。以下が例です。
https://ndlocr.aws.ldas.jp/

まとめ#
不完全な部分もあるかと思いますが、NDLOCRアプリをGradioアプリ化等において、参考になりましたら幸いです。