[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は急速に変化しています。コンピュータービジョンの未来はどこにあるのでしょうか?
ついに2020年が到来しました。これは、火星探査、バイオニックロボット、自動運転、遺伝子編集、複合現...
ライブイベントは優れたマーケティング形式であり、ビジネスと顧客との関係を強化する優れた方法です。調査...
この記事は公開アカウント「Reading Core Technique」(ID: AI_Discov...
近年、飛行制御、ナビゲーション、センシングなどの技術の急速な発展に伴い、ドローン業界はますます大きく...
人工知能は世界的な流行語となり、ほぼすべての企業のデジタル変革計画に不可欠な要素となっています。 A...
標準ルーティングテーブル1.次駅経路選定の基本的な考え方ルーティング テーブルは、宛先までの完全なパ...
AI顔認識の分野で新たなビジネスが開拓されているのでしょうか?今回の課題は、第二次世界大戦の古い写真...
最近、ネットユーザーによってオンラインフォーラムで有名なブラウザにセキュリティ上の脆弱性があることが...
この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...
量子コンピューティングの継続的な進歩により、コンピュータ能力の大幅な向上がネットワーク セキュリティ...