[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は急速に変化しています。コンピュータービジョンの未来はどこにあるのでしょうか?
現在、医療分野における人工知能の応用には、医用画像診断、健康管理、医療研究が含まれます。最近、国立神...
[[336768]]食べ物を注文した後、カメラをかざすだけで支払いが完了します。ホテルに宿泊する場...
AI システムは、人間の知能の特定の側面を模倣し、物体の検出、環境のナビゲーション、チェスのプレイ、...
廃棄物管理と空気質監視におけるスマートシティの進歩を通じて、都市生活の未来を探ります。 「スマート ...
従来の産業および製造現場では、作業者の安全の監視、オペレーターの効率性の向上、品質検査の改善はすべて...
顔認識とは、顔の特徴情報の本人分析を利用して本人認証を行う生体認証技術を指します。人気の生体認証技術...
2021年8月5日、百度アポロの新世代自動運転ミニバス「アポロII」が広州市黄埔で正式に公開されまし...
AI の主な利点の 1 つは、従業員を日常的な単純作業から解放することです。 AI は、ネットワーク...
最近、Dynatrace は、AI への投資が増加し続けるにつれて、「複合 AI」が企業による AI...