[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は急速に変化しています。コンピュータービジョンの未来はどこにあるのでしょうか?
導入あるクラスの観測値が他のクラスの観測値よりも高い場合、クラスの不均衡が生じます。例: 不正なクレ...
2019年10月26日、Testinが主催する第2回NCTS中国クラウドテスト業界サミットが北京で開...
ディープラーニングと人工ニューラルネットワークの発展により、音声認識は 2016 年に一連のブレーク...
1956 年のダートマス会議で AI が提案されて以来、AI 研究はいくつかの浮き沈みを経験してきま...
業界の専門家マイク・エルガンが、偽造における人工知能の役割について説明します。例えば、彼はこう語った...
2020年の中国の人工知能市場のレビュー2015年から2020年にかけて、人工知能市場には毎年新たな...
(NetEase Intelligence English ソース/Engadget 翻訳/Mach...
企業による IT 運用における人工知能の使用は AIOps として知られています。 AIOps は、...
この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...
データの保存方法は、生物学的ニューラル ネットワークから人工ニューラル ネットワークへと変化しており...
近年、大規模マルチモーダルモデル (LMM) の機能が向上したため、LMM のパフォーマンスを評価す...
AI を活用したストレージにより、企業はデータを迅速かつインテリジェントに分析し、ほぼ瞬時に洞察...
第四次産業革命が急速に起こりつつあります。人工知能はこの産業革命の中核となる内容の一つです。産業革命...