多数のファイルをバージョンして処理する必要がある場合は、新製品のデータチャイン(およびそれを与える!)をチェックしてください。 support @iterative.aiまでお問い合わせください。AIの再現性とデータ管理シナリオの商用ソリューションとサポートについて説明してください。
ウェブサイト•ドキュメント•ブログ•チュートリアル•関連技術•DVCの仕組み•VSコード拡張•インストール•貢献•コミュニティとサポート
データバージョンコントロールまたはDVCは、再現可能な機械学習プロジェクトの開発を支援するためのコマンドラインツールおよび対コード拡張機能です。
完全なリストについては、コマンドリファレンスをお読みください。
一般的なCLIワークフローには以下が含まれます。
タスク | ターミナル |
---|---|
データを追跡します | $ git add train.py params.yaml $ dvc add images/ |
コードとデータを接続します | $ dvc stage add -n featurize -d images/ -o features/ python featurize.py $ dvc stage add -n train -d features/ -d train.py -o model.p -M metrics.json python train.py |
変更を加えて実験します | $ dvc exp run -n exp-baseline $ vi train.py $ dvc exp run -n exp-code-change |
実験を比較して選択します | $ dvc exp show $ dvc exp apply exp-baseline |
コードを共有します | $ git add . $ git commit -m 'The baseline model' $ git push |
データとMLモデルを共有します | $ dvc remote add myremote -d s3://mybucket/image_cnn $ dvc push |
DVCが何をし、それがあなたのシナリオにどのように適合するかをよりよく理解するために、Get Start Docsを読むことをお勧めします。
主なDVC機能を説明する最も近いアナロジーは次のとおりです。
GITは、通常どおり、保存およびバージョンコード(データのプレースホルダーとしてDVCメタファイルを含む)に採用されています。 DVCは、データとモデルファイルをGITの外側のキャッシュでシームレスに保存し、ほぼ同じユーザーエクスペリエンスをリポジトリに保存します。データキャッシュを共有してバックアップするために、DVCは複数のリモートストレージプラットフォーム(S3、Azure、Google Cloudなど)またはオンプレミスネットワークストレージ(たとえばSSHを介して)をサポートします。
DVCパイプライン(計算グラフ)は、コードとデータを接続します。モデルを作成するために必要なすべてのステップを指定します。コード、データ、実行するコマンドなどの入力依存関係。保存する出力情報。
最後になりましたが、DVC実験バージョンを使用すると、多数の実験を準備して実行できます。それらの結果は、ハイパーパラメーターとメトリックに基づいてフィルタリングして比較し、複数のプロットで視覚化できます。
VSコードIDEからDVCをGUIとして使用するには、市場からDVC拡張機能をインストールします。現在、実験の追跡とデータ管理を備えており、その他の機能(データパイプラインサポートなど)が近日公開されています。
注:システムにコアDVCを個別にインストールする必要があります(以下に詳述する)。必要に応じて、拡張機能がガイドされます。
DVCをインストールするにはいくつかの方法があります:vsコード。 snap
、 choco
、 brew
、 conda
、 pip
を使用しています。またはOS固有のパッケージを使用します。完全な指示はこちらから入手できます。
snap install dvc --classic
これは、最新のタグ付きリリースに対応します。最新のタグ付きリリース候補に--beta
追加するか、最新のmain
バージョンを--edge
。
choco install dvc
brew install dvc
conda install -c conda-forge mamba # installs much faster than conda
mamba install -c conda-forge dvc
データを保持および共有するために使用するリモートストレージタイプに応じて、オプションの依存関係をインストールする必要がある場合があります:DVC-S3、DVC-Azure、DVC-GDRIVE、DVC-GS、DVC-SSH、DVC-SSH。
pip install dvc
データを保持および共有するために使用するリモートストレージタイプに応じて、オプションの依存関係のいずれかを指定する必要がある場合があります: s3
、 gs
、 azure
、 oss
、 ssh
。またはそれらすべてを含めるためにall
。コマンドは次のようになります。PIP pip install 'dvc[s3]'
(この場合、 boto3
などのS3依存関係が自動的にインストールされます)。
開発バージョンをインストールするには、実行します。
pip install git+git://github.com/iterative/dvc
Linux、Windows、Mac用の自己完結型パッケージが利用可能です。パッケージの最新バージョンは、GitHubリリースページにあります。
sudo wget https://dvc.org/deb/dvc.list -O /etc/apt/sources.list.d/dvc.list
wget -qO - https://dvc.org/deb/iterative.asc | sudo apt-key add -
sudo apt update
sudo apt install dvc
sudo wget https://dvc.org/rpm/dvc.repo -O /etc/yum.repos.d/dvc.repo
sudo rpm --import https://dvc.org/rpm/iterative.asc
sudo yum update
sudo yum install dvc
貢献は大歓迎です!詳細については、寄稿ガイドをご覧ください。すべての貢献者に感謝します!
このプロジェクトは、Apacheライセンスバージョン2.0の下で配布されています(プロジェクトルートのライセンスファイルを参照)。
このプロジェクトにプルリクエストを送信することにより、お客様はこのプロジェクトへのApacheライセンスバージョン2.0に基づく貢献のライセンスを取得することに同意します。
Iterative、 DVC:データバージョンコントロール-Data&Models (2020)doi:10.5281/Zenodo.012345。
Barrak、A.、Eghan、Ee and Adams、B。MLパイプラインとソースコードの共進化 - DVCプロジェクトの経験的研究、ソフトウェア分析、進化、およびリエンジニアリングに関するIEEE国際会議の議事録、Saner 2021 。