[51CTO.com クイック翻訳] Heroku Cloud は、Web 開発者や機械学習愛好家の間でよく知られています。このプラットフォームは、Web アプリケーションの導入と保守を簡単に行う方法を提供しますが、ディープラーニング アプリケーションの導入を初めて行う場合は、扱いにくいストレージや依存関係の問題に遭遇する可能性があります。この記事を読めば、デプロイメント プロセスがスムーズになり、優れた Web アプリケーションの作成に集中できるようになります。 DVC 統合、Git および CLI ベースのデプロイメント、エラー コード H10、Python パッケージの使用、ストレージの最適化について学習します。 1. GitとCLIに基づくデプロイメントStreamlit アプリケーションは、Git、GitHub 統合、または Docker を使用してデプロイできます。 Git ベースのアプローチは、Heroku サーバーにデータ アプリケーションをデプロイするためのより高速で簡単な方法です。 シンプルなGitベースのアプローチStreamlit アプリケーションは、次のコマンドを使用してデプロイできます。
これを行うには、次のものが必要です。
CLIベースの方法CLI ベースのデプロイメントは基本的で、簡単に習得できます。 1. ここで無料の Heroku アカウントを作成します。 2. このリンクを使用して Heroku CLI をインストールします。 3. リモート リポジトリをクローンするか、git init を使用します。 4. heroku login と heroku create dagshub-pc-app を入力します。これにより、サーバーにログインし、Web サーバー上にアプリケーションが作成されます。 5. アプリケーションを実行するコマンドを含む Procfile を作成します: web: streamlit run --server.port $PORT streamlit_app.py 6. 最後に、コードをコミットしてHerokuサーバーにプッシュします。git push heroku master 2. ポートstreamlit run app.py を使用してアプリを実行すると、エラー コード H10 が生成されます。これは、Streamlit アプリがサーバーによって割り当てられた $PORT を使用していないことを意味します。 必要なもの:
3. Python パッケージの調整Heroku クラウドには 500 MB の制限があり、新しい TensorFlow パッケージは 489.6 MB であるため、この部分のデバッグには 2 日かかりました。依存関係とストレージの問題を回避するには、requirements.txt ファイルに変更を加える必要があります。 1. tensorflow の代わりに tensorflow-cpu を追加すると、スラッグ サイズが 765 MB から 400 MB に削減されます。 2. 外部依存関係のインストールを回避するために、opencv-python の代わりに opencv-python-headless を追加します。これにより、すべての cv2 エラーが解決されます。 3. numpy、Pillow、streamlit 以外の不要なパッケージをすべて削除します。 4. DVC統合DVC サーバーからデータを正常に抽出するには、いくつかの手順が必要です。 1. まず、Heroku API を使用して apt-files ビルドパックのインストールを有効にします。
2. Aptfile というファイル名を作成し、最新の DVC バージョンを追加します https://github.com/iterative/dvc/releases/download/2.8.3/dvc_2.8.3_amd64.deb 3. app.py ファイルに次のコード行を追加します。
その後、コードをコミットし、Heroku サーバーにプッシュします。展開が成功すると、アプリケーションは DVC サーバーからデータを自動的に取得します。 5. ストレージを最適化するストレージを最適化する方法は多数ありますが、最も一般的なのは Docker を使用することです。 Docker アプローチを使用すると、500 MB の制限を回避でき、サードパーティの統合やパッケージを自由にインストールすることもできます。 Docker の使用について詳しくは、このガイドをご覧ください。 ストレージを最適化するには:
6. 結果元のスラッグ サイズは 850 MB でしたが、ストレージとパッケージの最適化により、最終的なスラッグ サイズは 400 MB に削減されました。簡単なコマンドでエラー コード H10 を解決し、依存関係の問題を解決するために opencv-python-headless パッケージを追加しました。この記事の目的は、Heroku サーバーで初心者が直面する一般的な問題を解決することです。 Docker ベースのデプロイメントは多くのストレージの問題を解決できますが、複雑さとデプロイメント プロセスの遅延ももたらします。 heroku container:push web を使用することもできますが、その前にまず Docker をビルドしてテストし、ローカルですべての問題が解決された後にプッシュする必要があります。このアプローチは、上級の Heroku ユーザーに好まれています。 次の課題は、Webhook を使用して Web アプリケーションをデプロイすることです。これにより、あらゆるプラットフォームから機械学習エコシステム全体を自動化できるようになります。自動化プロセスでは、シェル コマンドを実行する単純な Flask Web サーバーを作成する必要があります。 元のタイトル: Heroku Cloud にディープラーニング Web アプリをデプロイするためのヒントとコツ、著者: Abid Ali Awan [51CTOによる翻訳。パートナーサイトに転載する場合は、元の翻訳者と出典を51CTO.comとして明記してください] |
<<: アリババ副社長でDAMOアカデミーの自動運転部門責任者の王剛氏が辞任し、自身のビジネスを立ち上げる予定
>>: AIは急速に変化しています。コンピュータービジョンの未来はどこにあるのでしょうか?
新興技術の発展とビジネス、公共福祉、社会統治などの分野におけるその応用をどのように促進、保護、規制す...
この記事のタイトルは少し大まかです。私の意見では、実際には 2 つの意味が含まれています。1 つ目は...
[[426823]]この記事はAI新メディアQuantum Bit(公開アカウントID:QbitA...
あなたが通りを歩いていると、突然パトカーが止まり、数人の警官が飛び降りてきて、あなたの腕をつかみ、逮...
人工知能は現在最も注目されている産業であり、将来的にはロボット、スマートセンサー、ウェアラブルデバイ...
この記事は、Heart of Autonomous Driving の公開アカウントから許可を得て転...
エネルギー業界は、気候変動、需要の増大、送電網の安定性といった課題に直面しながら、化石燃料から再生可...
この記事は、Heart of Autonomous Driving の公開アカウントから許可を得て転...