0Pricing
Learn AI with Python · レッスン

AI プロジェクトのための Git

git init、データ・モデル用の .gitignore、ノートブックのコミット、データバージョン管理の DVC を学びます。

「AI プロジェクトのための Git」はCoddyKit上の無料Learn AI with Pythonレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはLearn AI with Python学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Learn AI with Pythonコースには全4レッスンが含まれています。

AIプロジェクトでのGit

Gitはコードの変更を追跡するため、共同作業、ミスの取り消し、履歴の確認ができます。しかしAIプロジェクトには、巨大なデータファイルやバイナリモデルをGitで管理しないという注意点があります。

このレッスンでは、適切な .gitignore と、データのバージョン管理に使うDVCを扱います。

Gitが得意なもの

Gitはテキストの管理を得意としています。ソースコード、設定ファイル、出力を消去したノートブック、ドキュメントなどです。テキストファイルの差分を効率的に保存できます。

一方、大きなバイナリの扱いは苦手です。すべてのバージョンが完全な形で保存されるため、リポジトリがいつまでも肥大化します。

データやモデルをコミットしない理由

2 GBのデータセットや500 MBのモデルをコミットすると、次の問題が起こります。

  • リポジトリが肥大化し、クローンのたびに時間がかかる
  • 意味のある差分を比較できない
  • 削除した後も履歴に永久に残る

解決策は、Gitでは無視し、専用ツールでバージョン管理することです。

.gitignoreファイル

.gitignoreには、Gitが追跡しないパターンを記述します。プロジェクトのルートに作成してください。各行にはglobパターンを1つ記述します。

# .gitignore
*.pkl
*.joblib
*.h5
data/raw/*
data/processed/*
models/*
__pycache__/
*.pyc
.ipynb_checkpoints/
.env

モデルとキャッシュファイルを無視する

AIプロジェクトでよく使う無視パターンは次のとおりです。

  • *.pkl、*.joblib、*.h5 — シリアライズ済みモデル
  • __pycache__/、*.pyc — Pythonのバイトコード
  • .ipynb_checkpoints/ — Jupyterの自動保存ファイル
  • .env — シークレットとAPIキー(決してコミットしないでください!)

.gitkeepで空のフォルダーを保持する

Gitは空のディレクトリを無視します。内容を無視しながらリポジトリの構成に data/raw/ を残すには、空の .gitkeep ファイルと否定パターンを追加します。

# .gitignore
data/raw/*
!data/raw/.gitkeep

DVCの紹介

DVC(Data Version Control)は、大きなデータやモデルをGitとともにバージョン管理します。Gitでは小さな .dvc ポインターファイルを追跡し、実際のデータはリモートストレージ(S3、GCSなど)に保存します。

Gitリポジトリを肥大化させずに、再現可能なデータバージョンを得られます。

dvc init

既存のGitリポジトリ内でDVCを初期化します。.dvc/ディレクトリと設定ファイルが作成されるので、これらをGitにコミットします。

# in your git repo
dvc init
git add .dvc .gitignore
git commit -m "Initialize DVC"

dvc add — データを追跡する

dvc addは、ファイルまたはフォルダーの追跡を開始します。DVCはデータをキャッシュに移動し、小さな .dvc ポインターファイルを作成します。Gitにコミットするのはデータではなく、ポインターファイルです。

dvc add data/raw/dataset.csv
# creates data/raw/dataset.csv.dvc
git add data/raw/dataset.csv.dvc data/raw/.gitignore
git commit -m "Track dataset with DVC"

dvc pushとdvc pull

リモートを設定すると、dvc pushでデータをリモートにアップロードし、dvc pullで現在のGitコミットに対応するバージョンをダウンロードできます。これが、チームメンバー間でデータを共有する方法です。

dvc remote add -d storage s3://my-bucket/dvcstore
dvc push          # upload data to the remote

# teammate after git clone + git checkout:
dvc pull          # fetch the matching data version

チームでのワークフロー

GitとDVCのループによって、コードとデータのバージョンを結び付けられます。

  • git pullで最新のコードと.dvcポインターを取得する
  • dvc pullで対応するデータとモデルを取得する
  • 作業後に、dvc add、git commit、dvc pushを実行する

古いコミットをチェックアウトして dvc pull を実行すれば、その時点の状態を正確に再現できます。

クイックチェック:大きなファイル

プロジェクトに1 GBの学習用データセットと300 MBのモデルファイルがあるとします。

振り返り:AIプロジェクトのGit

AIに適したバージョン管理を学びました。

  • Gitはテキスト(コード、設定、ノートブック)に使い、大きなバイナリには使わない
  • *.pkl、data/raw/*、__pycache__、.envには .gitignore を使う
  • 空のフォルダーを保持するには .gitkeep を使う
  • DVCの dvc init、dvc add、dvc push/pull でデータとモデルをバージョン管理する
  • GitとDVCのワークフローによって、コードとデータを同期させる

次は、実験を再現可能にする方法です。

よくある質問

「AI プロジェクトのための Git」レッスンは無料ですか?

はい。「AI プロジェクトのための Git」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Learn AI with Pythonコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Learn AI with Pythonコースには全4レッスンが含まれています。

「AI プロジェクトのための Git」で何を学びますか?

git init、データ・モデル用の .gitignore、ノートブックのコミット、データバージョン管理の DVC を学びます。 ブラウザで直接実行するハンズオンコードでLearn AI with Pythonを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Learn AI with Pythonを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのLearn AI with Pythonは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。

「AI プロジェクトのための Git」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このLearn AI with Pythonレッスンでコードを書いて実行できますか?

はい。すべてのLearn AI with Pythonレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. プロフェッショナルな AI プロジェクトのディレクトリ構成
  2. AI プロジェクトのための Git
  3. 再現性:シード、設定、環境
  4. Jupyter Notebook のベストプラクティス
← Learn AI with Pythonに戻る