NDLが公開したNDLOCRアプリケーションについて、GCP(Google Cloud Platform)の仮想マシンを用いて実行してみましたので、その備忘録です。本アプリケーションの詳細については、以下のリポジトリをご確認ください。
https://github.com/ndl-lab/ndlocr_cli
VMインスタンスの作成#
GCPのCompute Engineにアクセスして、画面上部の「インスタンスを作成」ボタンをクリックします。

「マシンの構成」の「マシンファミリー」について、「GPU」を選択します。そして「GPUのタイプ」において、今回は最も安価な「NVIDIA T4」を選択します。「GPUの数」は1に設定しました。

「シリーズ」については、「n1-standard-2」を選択します。

「n1-standard-1」では、以下のようにMemoryErrorが発生してしまいました。

次に、「ブートディスク」において、「イメージの切り替え」を選択します。そして推奨された「Deep Learning on Linux」を選択します。

この時の注意点として、「サイズ」をデフォルトの50GBから、100GBに変更しました。50GBの場合、no space leftが発生しました。

以下は、環境構築が済んだ後の情報ですが、40GB強が使用済みとなるため、余裕を持った「サイズ」にしておくことをお勧めします。
その後、画面下部の「作成」ボタンを押してVMインスタンスの作成を完了します。
しばらくすると、以下のようにVMインスタンスが立ち上がるので、「SSH」ボタンをクリックして、VMインスタンスに入ります。

VMインスタンス内での操作#
Nvidia driverのインストール#
SSHで接続後、以下の画面が表示されます。「y」を押して、Nvidia driverをインストールしました。
ただ立ち上げた直後に上記を実行すると、以下のエラーが発生しました。
以下のpsコマンドを実行してみると、他のプロセスが実行されていました。
そのため、一旦exitして、少し時間を置いてから再度ssh接続します。同じ質問を聞かれますので、改めて「y」を押すと、以下のようにインストールが完了しました。
上記のWARNINGの意味は分かりかねたので、スルーしました…
dockerコンテナの起動#
あとは、GitHubのREADME.mdの通りに進めることができました。
dockerやgitはインストール済みでしたので、以下を実行しました。dockerbuild.shの実行には少し時間がかかります。
推論の実行#
こちらもREADME.mdの通りに進めることができました。
今回は、「校異源氏物語. 巻一」の4ページを対象に推論を実行してみました。
https://dl.ndl.go.jp/info:ndljp/pid/3437686/4
コンテナ内で推論を試します。
以下のように推論が実行されます。
結果、以下のようにOCRの処理結果を確認することができました。
まとめ#
NDLOCRアプリを無事に実行することができました。実行後は、インスタンスの停止を忘れないようにしてください。
このようなアプリケーションを公開してくださったNDLの関係者の方々に深く感謝いたします。
2022.04.28#
Google Colabを用いた実行方法を記事にしました。こちらも参考になりましたら幸いです。