Git w projektach AI
git init, .gitignore dla danych i modeli, zatwierdzanie notatników oraz DVC do wersjonowania danych.
Git w projektach AI to bezpłatna lekcja Learn AI with Python na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Learn AI with Python, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Learn AI with Python zawiera 4 lekcji w sumie.
Git w projektach AI
Git śledzi zmiany w kodzie, dzięki czemu mogą Państwo współpracować, cofać błędy i przeglądać historię. Projekty AI mają jednak dodatkowe wyzwanie: duże pliki danych i modele binarne nie powinny trafiać do Git.
W tej lekcji omówiono rozsądny plik .gitignore oraz użycie DVC do wersjonowania danych.
Co Git śledzi dobrze
Git świetnie sprawdza się w przypadku tekstu: kodu źródłowego, konfiguracji, notatników (z usuniętymi wynikami) i dokumentacji. Przechowuje wydajne różnice między wersjami plików tekstowych.
Słabo radzi sobie z dużymi plikami binarnymi — każda wersja jest przechowywana w całości, przez co repozytorium bez końca zwiększa swój rozmiar.
Dlaczego nie commitować danych i modeli
Commitowanie zbioru danych o rozmiarze 2 GB lub modelu o rozmiarze 500 MB:
- powiększa repozytorium i spowalnia każde klonowanie
- uniemożliwia sensowne porównywanie zmian
- pozostawia pliki w historii na zawsze, nawet po ich usunięciu
Rozwiązanie: należy ignorować je w Git i wersjonować za pomocą dedykowanego narzędzia.
Plik .gitignore
.gitignore zawiera wzorce plików, których Git nie powinien śledzić. Należy utworzyć go w katalogu głównym projektu. Każdy wiersz jest wzorcem glob.
# .gitignore
*.pkl
*.joblib
*.h5
data/raw/*
data/processed/*
models/*
__pycache__/
*.pyc
.ipynb_checkpoints/
.envIgnorowanie plików modeli i pamięci podręcznej
Typowe wzorce ignorowania w projektach AI:
*.pkl,*.joblib,*.h5— serializowane modele__pycache__/,*.pyc— kod bajtowy Pythona.ipynb_checkpoints/— automatyczne kopie notatników Jupyter.env— sekrety i klucze API (nigdy nie należy ich commitować!)
Zachowywanie pustych folderów za pomocą .gitkeep
Git ignoruje puste katalogi. Aby zachować data/raw/ w strukturze repozytorium, jednocześnie ignorując jego zawartość, należy dodać pusty plik .gitkeep oraz regułę negującą.
# .gitignore
data/raw/*
!data/raw/.gitkeepWprowadzenie do DVC
DVC (Data Version Control) wersjonuje duże zbiory danych i modele razem z Git. Git śledzi małe pliki wskaźnikowe .dvc, a właściwe dane znajdują się w zdalnym magazynie (S3, GCS itp.).
Otrzymują Państwo odtwarzalne wersje danych bez nadmiernego powiększania repozytorium Git.
dvc init
Inicjalizuje DVC w istniejącym repozytorium Git. Tworzy katalog .dvc/ oraz konfigurację, które należy zatwierdzić w Git.
# in your git repo
dvc init
git add .dvc .gitignore
git commit -m "Initialize DVC"dvc add — śledzenie danych
dvc add rozpoczyna śledzenie pliku lub folderu. DVC przenosi dane do pamięci podręcznej i tworzy mały plik wskaźnikowy .dvc. W Git należy zatwierdzić wskaźnik, a nie dane.
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 i dvc pull
Po skonfigurowaniu zdalnego magazynu polecenie dvc push przesyła do niego dane, a dvc pull pobiera wersję odpowiadającą bieżącemu commitowi Git. W ten sposób członkowie zespołu współdzielą dane.
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 versionPraca zespołowa
Połączenie Git i DVC wiąże ze sobą wersje kodu i danych:
git pull, aby pobrać najnowszy kod i wskaźniki.dvcdvc pull, aby pobrać odpowiadające im dane i modele- Praca, a następnie
dvc add+git commit+dvc push
Przełączenie się na starszy commit i uruchomienie dvc pull odtwarza dokładnie ten stan projektu.
Szybkie sprawdzenie: duże pliki
W projekcie znajduje się zbiór danych treningowych o rozmiarze 1 GB oraz plik modelu o rozmiarze 300 MB.
Podsumowanie: Git w projektach AI
Poznali Państwo wersjonowanie dostosowane do projektów AI:
- Git do tekstu (kodu, konfiguracji, notatników), ale nie do dużych plików binarnych
- Plik
.gitignoredla*.pkl,data/raw/*,__pycache__i.env .gitkeepdo zachowywania pustych folderów- DVC:
dvc init,dvc add,dvc push/pulldo wersjonowania danych i modeli - Przepływ pracy Git + DVC utrzymuje kod i dane w synchronizacji
Dalej: zapewnianie odtwarzalności eksperymentów.
Często zadawane pytania
Czy lekcja „Git w projektach AI” jest bezpłatna?
Tak — pełny tekst „Git w projektach AI” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Learn AI with Python, przejdź na CoddyKit PRO. Kurs Learn AI with Python zawiera 4 lekcji w sumie.
Co nauczysz się w „Git w projektach AI”?
git init, .gitignore dla danych i modeli, zatwierdzanie notatników oraz DVC do wersjonowania danych. Ćwiczysz Learn AI with Python z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Learn AI with Python?
Nie wymagamy żadnego doświadczenia. Learn AI with Python w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.
Ile czasu zajmuje lekcja „Git w projektach AI”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Learn AI with Python?
Tak. Każda lekcja Learn AI with Python zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Profesjonalna struktura katalogów projektu AI
- Git w projektach AI
- Powtarzalność: ziarna, konfiguracje i środowiska
- Najlepsze praktyki dotyczące notatników Jupyter