Dagshub Storage:Devops程度なしでDVCリモコンを構成してください


DVCは素晴らしいツールですそれはあなたを追跡し、データ、モデル、および実験を共有することができます.また、典型的なMLのワークフローのバージョンを制御するためのパイプラインをサポートしています.あなたのデータとモデルを共有するために、あなたはDVCリモート(S 3、GCloud、Gdriveなど)を構成する必要があります、しかし、そうすることは面倒でありえて、ものすごい量の時間をとることができます.

あまりにも多くのものを注文する.写真でHans-Peter Gauster on Unsplash
このポストでは、この構成がそんなに難しくなければならないことをあなたに示します;それは滑らかで簡単にする必要があります.この問題を解決するために、我々はDagshubストレージは、DVCのリモートを設定するには、スーパークレジットカードは、クレジットカードを必要としない複雑なアクセス許可を付与する必要はない雲のセットアップを作成しました.ちょうど5つのコマンドとあなたは行く準備ができています!
開始するには、プロジェクトをdagshubにする必要があります.これを行うには2つの方法がありますcreate one from scratch or connect an existing project 他のプラットフォームから(私たちはgithub、gitlab、およびbitbucketをサポートしています).
あなたが必要ならばtutorial プラットフォームで新しいプロジェクトを開始する方法.
このチュートリアルを続行するにはinstall DVC ファースト.
DVCがインストールされた後、gitプロジェクトで実行して初期化します
dvc init
このコマンドは.dvc/.gitignore , .dvc/config , .dvc/plots , and .dvcignore . これらのエントリは
git commit -m "Initialize DVC" 
このチュートリアルでは、次の構造を持つ新しいプロジェクトを作成しました
data
├── processed
│   ├── test_text.txt
│   └── train_text.txt
└── raw
    └── test_full.txt
我々のデータを追跡するために、ファイルかディレクトリのどちらかを使うdvc add
dvc add data
ここでは、DVCは魔法を行う場所です.エントリに関するメタデータを格納する.dvc ファイル;これは元のエントリ自体ではなく元のエントリにアクセスする方法に関する情報を含む小さなテキストファイルです.このコマンドは、.gitignore だから、我々は事故でそれを犯しません
この場合、DVCはdata.dvc , このようになります
outs:
- md5: 61b3e1a6439d6770be4d210b758f6cbd.dir
  size: 0
  nfiles: 3
  path: data
これはgitでversionedされるファイルです
このステップの後、我々はコミットする準備ができています.dvc 任意のソースコードを使用するファイルです.
git add data.dvc .gitignore
git commit -m "Add data"

データをリモートで保存する



バケットの設定はとても難しいはずはない!写真でJessica Johnston on Unsplash
優れた!我々は現在、我々のデータのバージョンを追跡している今、我々はどこにデータ自体を格納するために把握する必要があります.
前に述べたように、私はどのように楽にDVCのリモートを設定する方法を紹介します.つの簡単なコマンドの後、あなたのデータとモデルをあなたのコードと一緒に押しています.簡単に比較するために、私はまた、あなたが簡単にDagshubストレージを使用して保存された時間を理解できるようにリモコンを設定する伝統的な方法を示します.

devps程度なしでそれをする方法


Dagshubで、我々は自動的にあなたのコードをプッシュするGitリモートを受信すると、データとモデルをプッシュするプラットフォーム上のすべてのプロジェクトでDVCリモートを作成します.これは、シンプルさを示す開始です!このURLからデータをプッシュまたはプルするには、既存のDagshub資格情報を使用します.IAMを設定したり、バケツにアクセスするためのアクセストークンを提供したり、クラウドプロバイダに関連するものを提供する必要はありません.
パブリックリポジトリには、コードと同じパブリックデータが読みます.あなたが共同作業者からデータを共有するか、受け取るならば、彼らをプロジェクト共同体として加えてください.リポジトリがプライベートな場合、メンテナはデータをプルしたりプッシュしたりできます.

あなたがコードをクローン化することができるならば、基本的に、あなたはデータを引くことができます!
手を汚しましょう!
  • 我々のDVCとしてdagshubを加える必要があります
  • dvc remote add origin --local https://dagshub.com/<username>/<repo_name>.dvc
    
  • 次に、DVCに我々の資格情報を求める方法を教える必要があります
  • dvc remote modify origin --local auth basic
    dvc remote modify origin --local user <username>
    dvc remote modify origin --local ask_password true
    
  • 最後に、新しいリモートにデータをプッシュ
  • # Make sure you are using DVC 1.10 or greater for the next command
    dvc push -r origin
    
    そして、それ!ちょうど5つのコマンドとあなたのDVCのリモートを簡単に構成すると、我々はクラウドプロバイダのWebページを開いたことがない、複雑なIAMを処理し、クレジットカード情報を提供しました.

    レモン絞り
    あなたはDagshubストレージについての詳細情報が必要な場合は、私たちを読むことができますFeature Reference

    Devops程度でそれをする方法


    このセクションに掘る前に、現在dagshubはサポートしていますAWS S3 and GCS Dagshub保管に加えて.
    この比較のために、アマゾンS 3のためにそれをする方法を見ましょう.
  • あなたのクラウドプロバイダとしてAWSを雇う.これはあなたのクレジットカードを取り出すことになります(既にアカウントを持っている場合は、この手順を省略することができます).

  • Set up a bucket データを格納するには
  • インストールAWS CLI tool
  • CLIツールを使っているAWSにログインしてください
  • バケツを使用するユーザが管理者でない場合、create an IAM user

  • Assign it the correct permissio バケツを使うNS
    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Effect": "Allow",
                "Principal": {
                    "AWS": "<IAM-user-ARN>" (e.g: "arn:aws:iam::7777777:user/dags-lover")
                },
                "Action": [
                    "s3:GetObject",
                    "s3:PutObject",
                    "s3:ListBucket",
                ],
                "Resource": [
                    "arn:aws:s3:::/*"
                    "arn:aws:s3:::"
                ]
            }
        ]
    }
    
  • たくさんのこと、右?すべてのこれらのステップは、最も経験豊富なユーザーのためのエラーが発生しやすいので、あなたが初めてこれをやっている場合は、何かを見逃して
    そこは終わりません.Dagshubを統合する場合は、プロジェクトの設定にストレージキーを追加する必要があります.
    この設定ページはhttps://dagshub.com///設定/ストレージ/キー

    したら、ストレージキーを追加するすべての命令を受け取るあなたのバケットのURLを入力します.
    続けて!まだ終わりません.現在、あなたはDVCのためにS 3パッケージをインストールする必要があります
    pip install "dvc[s3]"
    #Or if you are using poetry
    poetry add dvc --extras "s3"
    
    これに続いて、我々のリモートとしてバケットを追加する必要があります
    dvc remote add s3-remote s3://your-bucket/storage
    
    そして最後に、我々はデータをプッシュ
    dvc push -r origin
    

    救出へのDagshub記憶装置!写真でNikko Macaspac on Unsplash

    もっと学ぶ


    私は、あなたがDVCリモート(簡単な方法と難しい方法)をセットアップする方法を理解するのを助けたことを望みます.Dagshubについての詳細については、チェックアウトwebsite , documentation , または参加Discord community .