[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は急速に変化しています。コンピュータービジョンの未来はどこにあるのでしょうか?
Appleの自動車製造の夢はまたもや打ち砕かれた!自動車の10年間の発展における重要な段階で、アッ...
インテリジェントな顧客サービスの評価基準は何かというビジネス上の問い合わせを頻繁に受けます。これは答...
近年、GPT-2 を含む大規模言語モデルはテキスト生成において大きな成功を収めています。しかし、大規...
基礎知識がない人でも機械学習に切り替えることは可能ですか?機械学習には一定の数学的基礎が必要であり、...
コードを書くのは少し憂鬱になるので、色に囲まれる必要があります自己規律や自己学習という言葉を軽く受け...
最近、北京市自転車・電動自動車産業協会が主催した「第一回ターミナル配送インテリジェント交通サミットフ...
ARMベースのハードウェア実装3DESアルゴリズムと一般的な組み込みアプリケーションの要件に応じて...
BT プロトコルと eMule プロトコルのアルゴリズムにはいくつかの違いがあり、この 2 つを併用...
[[356850]]プログラミングの本質はアルゴリズムから来ており、アルゴリズムの本質は数学から来て...
現在、人工知能は独立に向けて動き始めています。世界中の企業はこの学際的な分野に適応し、ほぼすべてのビ...
人工知能システムはますます賢くなってきています。囲碁をしたり株を取引したりできるだけでなく、今ではコ...
この記事はLeiphone.comから転載したものです。転載する場合は、Leiphone.com公式...
序文これは「JavaScript のデータ構造とアルゴリズムを学ぶ」の最後のブログです。これは、面接...