0Pricing
Learn AI with Python · Lekcja

Profesjonalna struktura katalogów projektu AI

Układ data/, notebooks/, src/, models/, tests/ i wzorzec cookiecutter-data-science.

Profesjonalna struktura katalogów projektu AI to bezpłatna lekcja Learn AI with Python na CoddyKit. To lekcja 1 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.

Dlaczego struktura ma znaczenie

Stos notatników o nazwach final.ipynb, final2.ipynb i really_final.ipynb to sposób na uśmiercenie projektu AI. Spójna struktura katalogów sprawia, że projekty są czytelne, odtwarzalne i przyjazne we współpracy.

W tej lekcji omówiono szeroko stosowany układ Cookiecutter Data Science.

Folder data

Dane należy rozdzielić według etapu przetwarzania, aby surowe dane wejściowe nigdy nie były nadpisywane:

  • data/raw/ — oryginalne, niezmienne dane źródłowe
  • data/processed/ — oczyszczone dane gotowe dla modelu
  • data/interim/ — dane pośredniego etapu przekształceń

Folder data/raw należy traktować jako przeznaczony tylko do odczytu — zawsze powinni Państwo móc odtworzyć z niego wszystkie pozostałe dane.

Dlaczego dane surowe są niezmienne

Jeśli błąd podczas czyszczenia uszkodzi jedyną kopię danych, projekt jest stracony. Pozostawienie data/raw bez zmian oznacza, że każdy przetworzony plik można odtworzyć, ponownie uruchamiając potok.

Przetworzone wyniki można usunąć; dane surowe są nienaruszalne.

Folder notebooks

Folder notebooks/ zawiera notatniki służące do eksploracji i raportowania. Często numeruje się je według etapu i dodaje inicjały, np. 1.0-mk-eda.ipynb.

Notatniki służą do eksploracji, a logika wielokrotnego użytku powinna trafić do src/.

Pakiet src

Folder src/ zawiera importowalny kod Pythona, podzielony według odpowiedzialności:

  • src/data/ — skrypty do wczytywania i przetwarzania danych
  • src/features/ — inżynieria cech
  • src/models/ — kod do trenowania i predykcji
  • src/visualization/ — wykresy i raporty

src/features i src/models

Rozdzielenie inżynierii cech i modelowania na osobne moduły przynosi wiele korzyści: mogą Państwo testować kod cech za pomocą testów jednostkowych, używać go ponownie w różnych notatnikach i wymieniać modele bez przepisywania przygotowania danych.

from src.features.build_features import make_features
from src.models.train import train_model

X = make_features(df)
model = train_model(X, y)

Folder models

Folder models/ przechowuje serializowane wytrenowane artefakty (np. model.pkl, model.joblib). Są to wyniki, a nie kod źródłowy.

Duże pliki modeli zwykle nie powinny trafiać do Git — zamiast tego należy śledzić je za pomocą DVC lub magazynu obiektów (co zostanie omówione w następnej lekcji).

Folder reports

Folder reports/ zawiera generowane wyniki przeznaczone dla ludzi: reports/figures/ służy do przechowywania wykresów, a w głównym katalogu znajduje się dokument raportu. Wyniki te są tworzone przez kod, więc można je ponownie wygenerować.

Pliki konfiguracji i środowiska

Projekt należy uzupełnić o pliki znajdujące się na jego głównym poziomie:

  • requirements.txt lub environment.yml — zależności
  • config.yaml — hiperparametry i ścieżki
  • README.md — opis projektu i sposób jego uruchomienia
  • .gitignore — elementy, które Git powinien pomijać

Pełny układ

Po złożeniu wszystkich elementów przejrzysty projekt AI wygląda tak:

project/
  data/
    raw/
    interim/
    processed/
  notebooks/
  src/
    data/
    features/
    models/
    visualization/
  models/
  reports/
    figures/
  config.yaml
  requirements.txt
  README.md

Generowanie za pomocą Cookiecutter

Nie trzeba za każdym razem tworzyć tej struktury ręcznie. Szablon cookiecutter-data-science tworzy cały szkielet za pomocą jednego polecenia.

# pip install cookiecutter
# cookiecutter -c v1 https://github.com/drivendata/cookiecutter-data-science
# Answer a few prompts -> full project tree created

Szybkie sprawdzenie: gdzie trafiają dane surowe?

Pobierają Państwo oryginalny plik CSV od dostawcy danych.

Podsumowanie: struktura projektu

Poznali Państwo profesjonalny układ projektu AI:

  • data/raw (niezmienne), data/processed dla kolejnych etapów
  • notebooks/ do eksploracji, src/features i src/models dla kodu wielokrotnego użytku
  • models/ dla artefaktów, reports/ dla wyników
  • Konfiguracja, zależności, README i .gitignore w katalogu głównym
  • cookiecutter-data-science do natychmiastowego utworzenia szkieletu

Dalej: efektywne korzystanie z Git w projektach AI.

Często zadawane pytania

Czy lekcja „Profesjonalna struktura katalogów projektu AI” jest bezpłatna?

Tak — pełny tekst „Profesjonalna struktura katalogów projektu 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 „Profesjonalna struktura katalogów projektu AI”?

Układ data/, notebooks/, src/, models/, tests/ i wzorzec cookiecutter-data-science. Ć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 1 z 4.

Ile czasu zajmuje lekcja „Profesjonalna struktura katalogów projektu 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

  1. Profesjonalna struktura katalogów projektu AI
  2. Git w projektach AI
  3. Powtarzalność: ziarna, konfiguracje i środowiska
  4. Najlepsze praktyki dotyczące notatników Jupyter
← Powrót do Learn AI with Python