You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ML-For-Beginners/translations/pl/TROUBLESHOOTING.md

14 KiB

Przewodnik rozwiązywania problemów

Ten przewodnik pomoże Ci rozwiązać najczęstsze problemy związane z korzystaniem z programu nauczania "Machine Learning for Beginners". Jeśli nie znajdziesz tutaj rozwiązania, sprawdź nasze dyskusje na Discordzie lub zgłoś problem.

Spis treści


Problemy z instalacją

Instalacja Pythona

Problem: python: command not found

Rozwiązanie:

  1. Zainstaluj Python 3.8 lub nowszy z python.org
  2. Zweryfikuj instalację: python --version lub python3 --version
  3. Na macOS/Linux możesz potrzebować użyć python3 zamiast python

Problem: Konflikty spowodowane wieloma wersjami Pythona

Rozwiązanie:

# Use virtual environments to isolate projects
python -m venv ml-env

# Activate virtual environment
# On Windows:
ml-env\Scripts\activate
# On macOS/Linux:
source ml-env/bin/activate

Instalacja Jupyter

Problem: jupyter: command not found

Rozwiązanie:

# Install Jupyter
pip install jupyter

# Or with pip3
pip3 install jupyter

# Verify installation
jupyter --version

Problem: Jupyter nie otwiera się w przeglądarce

Rozwiązanie:

# Try specifying the browser
jupyter notebook --browser=chrome

# Or copy the URL with token from terminal and paste in browser manually
# Look for: http://localhost:8888/?token=...

Instalacja R

Problem: Nie można zainstalować pakietów R

Rozwiązanie:

# Ensure you have the latest R version
# Install packages with dependencies
install.packages(c("tidyverse", "tidymodels", "caret"), dependencies = TRUE)

# If compilation fails, try installing binary versions
install.packages("package-name", type = "binary")

Problem: IRkernel nie jest dostępny w Jupyter

Rozwiązanie:

# In R console
install.packages('IRkernel')
IRkernel::installspec(user = TRUE)

Problemy z Jupyter Notebook

Problemy z jądrem (Kernel)

Problem: Jądro ciągle się restartuje lub przestaje działać

Rozwiązanie:

  1. Zrestartuj jądro: Kernel → Restart
  2. Wyczyść wyniki i zrestartuj: Kernel → Restart & Clear Output
  3. Sprawdź problemy z pamięcią (zobacz Problemy z wydajnością)
  4. Uruchamiaj komórki pojedynczo, aby zidentyfikować problematyczny kod

Problem: Wybrano niewłaściwe jądro Pythona

Rozwiązanie:

  1. Sprawdź aktualne jądro: Kernel → Change Kernel
  2. Wybierz odpowiednią wersję Pythona
  3. Jeśli brakuje jądra, utwórz je:
python -m ipykernel install --user --name=ml-env

Problem: Jądro nie chce się uruchomić

Rozwiązanie:

# Reinstall ipykernel
pip uninstall ipykernel
pip install ipykernel

# Register the kernel again
python -m ipykernel install --user

Problemy z komórkami w notatniku

Problem: Komórki działają, ale nie pokazują wyników

Rozwiązanie:

  1. Sprawdź, czy komórka nadal działa (szukaj wskaźnika [*])
  2. Zrestartuj jądro i uruchom wszystkie komórki: Kernel → Restart & Run All
  3. Sprawdź konsolę przeglądarki pod kątem błędów JavaScript (F12)

Problem: Nie można uruchomić komórek - brak reakcji po kliknięciu "Run"

Rozwiązanie:

  1. Sprawdź, czy serwer Jupyter nadal działa w terminalu
  2. Odśwież stronę przeglądarki
  3. Zamknij i ponownie otwórz notatnik
  4. Zrestartuj serwer Jupyter

Problemy z pakietami Pythona

Błędy importu

Problem: ModuleNotFoundError: No module named 'sklearn'

Rozwiązanie:

pip install scikit-learn

# Common ML packages for this course
pip install scikit-learn pandas numpy matplotlib seaborn

Problem: ImportError: cannot import name 'X' from 'sklearn'

Rozwiązanie:

# Update scikit-learn to latest version
pip install --upgrade scikit-learn

# Check version
python -c "import sklearn; print(sklearn.__version__)"

Konflikty wersji

Problem: Błędy niezgodności wersji pakietów

Rozwiązanie:

# Create a new virtual environment
python -m venv fresh-env
source fresh-env/bin/activate  # or fresh-env\Scripts\activate on Windows

# Install packages fresh
pip install jupyter scikit-learn pandas numpy matplotlib seaborn

# If specific version needed
pip install scikit-learn==1.3.0

Problem: pip install kończy się błędami uprawnień

Rozwiązanie:

# Install for current user only
pip install --user package-name

# Or use virtual environment (recommended)
python -m venv venv
source venv/bin/activate
pip install package-name

Problemy z ładowaniem danych

Problem: FileNotFoundError podczas ładowania plików CSV

Rozwiązanie:

import os
# Check current working directory
print(os.getcwd())

# Use relative paths from notebook location
df = pd.read_csv('../../data/filename.csv')

# Or use absolute paths
df = pd.read_csv('/full/path/to/data/filename.csv')

Problemy ze środowiskiem R

Instalacja pakietów

Problem: Instalacja pakietów kończy się błędami kompilacji

Rozwiązanie:

# Install binary version (Windows/macOS)
install.packages("package-name", type = "binary")

# Update R to latest version if packages require it
# Check R version
R.version.string

# Install system dependencies (Linux)
# For Ubuntu/Debian, in terminal:
# sudo apt-get install r-base-dev

Problem: Nie można zainstalować tidyverse

Rozwiązanie:

# Install dependencies first
install.packages(c("rlang", "vctrs", "pillar"))

# Then install tidyverse
install.packages("tidyverse")

# Or install components individually
install.packages(c("dplyr", "ggplot2", "tidyr", "readr"))

Problemy z RMarkdown

Problem: RMarkdown nie renderuje się

Rozwiązanie:

# Install/update rmarkdown
install.packages("rmarkdown")

# Install pandoc if needed
install.packages("pandoc")

# For PDF output, install tinytex
install.packages("tinytex")
tinytex::install_tinytex()

Problemy z aplikacją quizową

Budowanie i instalacja

Problem: npm install kończy się błędem

Rozwiązanie:

# Clear npm cache
npm cache clean --force

# Remove node_modules and package-lock.json
rm -rf node_modules package-lock.json

# Reinstall
npm install

# If still fails, try with legacy peer deps
npm install --legacy-peer-deps

Problem: Port 8080 jest już zajęty

Rozwiązanie:

# Use different port
npm run serve -- --port 8081

# Or find and kill process using port 8080
# On Linux/macOS:
lsof -ti:8080 | xargs kill -9

# On Windows:
netstat -ano | findstr :8080
taskkill /PID <PID> /F

Błędy budowania

Problem: npm run build kończy się błędem

Rozwiązanie:

# Check Node.js version (should be 14+)
node --version

# Update Node.js if needed
# Then clean install
rm -rf node_modules package-lock.json
npm install
npm run build

Problem: Błędy lintingu uniemożliwiają budowanie

Rozwiązanie:

# Fix auto-fixable issues
npm run lint -- --fix

# Or temporarily disable linting in build
# (not recommended for production)

Problemy z danymi i ścieżkami plików

Problemy ze ścieżkami

Problem: Pliki danych nie są znajdowane podczas uruchamiania notatników

Rozwiązanie:

  1. Zawsze uruchamiaj notatniki z ich katalogu macierzystego

    cd /path/to/lesson/folder
    jupyter notebook
    
  2. Sprawdź ścieżki względne w kodzie

    # Correct path from notebook location
    df = pd.read_csv('../data/filename.csv')
    
    # Not from your terminal location
    
  3. Użyj ścieżek bezwzględnych, jeśli to konieczne

    import os
    base_path = os.path.dirname(os.path.abspath(__file__))
    data_path = os.path.join(base_path, 'data', 'filename.csv')
    

Brakujące pliki danych

Problem: Brak plików z danymi

Rozwiązanie:

  1. Sprawdź, czy dane powinny znajdować się w repozytorium - większość zestawów danych jest dołączona
  2. Niektóre lekcje mogą wymagać pobrania danych - sprawdź README lekcji
  3. Upewnij się, że masz najnowsze zmiany:
    git pull origin main
    

Typowe komunikaty o błędach

Błędy pamięci

Błąd: MemoryError lub jądro przestaje działać podczas przetwarzania danych

Rozwiązanie:

# Load data in chunks
for chunk in pd.read_csv('large_file.csv', chunksize=10000):
    process(chunk)

# Or read only needed columns
df = pd.read_csv('file.csv', usecols=['col1', 'col2'])

# Free memory when done
del large_dataframe
import gc
gc.collect()

Ostrzeżenia o zbieżności

Ostrzeżenie: ConvergenceWarning: Maximum number of iterations reached

Rozwiązanie:

from sklearn.linear_model import LogisticRegression

# Increase max iterations
model = LogisticRegression(max_iter=1000)

# Or scale your features first
from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)

Problemy z wykresami

Problem: Wykresy nie wyświetlają się w Jupyter

Rozwiązanie:

# Enable inline plotting
%matplotlib inline

# Import pyplot
import matplotlib.pyplot as plt

# Show plot explicitly
plt.plot(data)
plt.show()

Problem: Wykresy Seaborn wyglądają inaczej lub generują błędy

Rozwiązanie:

import warnings
warnings.filterwarnings('ignore', category=UserWarning)

# Update to compatible version
# pip install --upgrade seaborn matplotlib

Błędy Unicode/kodowania

Problem: UnicodeDecodeError podczas odczytu plików

Rozwiązanie:

# Specify encoding explicitly
df = pd.read_csv('file.csv', encoding='utf-8')

# Or try different encoding
df = pd.read_csv('file.csv', encoding='latin-1')

# For errors='ignore' to skip problematic characters
df = pd.read_csv('file.csv', encoding='utf-8', errors='ignore')

Problemy z wydajnością

Wolne działanie notatników

Problem: Notatniki działają bardzo wolno

Rozwiązanie:

  1. Zrestartuj jądro, aby zwolnić pamięć: Kernel → Restart
  2. Zamknij nieużywane notatniki, aby zwolnić zasoby
  3. Używaj mniejszych próbek danych do testów:
    # Work with subset during development
    df_sample = df.sample(n=1000)
    
  4. Profiluj swój kod, aby znaleźć wąskie gardła:
    %time operation()  # Time single operation
    %timeit operation()  # Time with multiple runs
    

Wysokie zużycie pamięci

Problem: Systemowi kończy się pamięć

Rozwiązanie:

# Check memory usage
df.info(memory_usage='deep')

# Optimize data types
df['column'] = df['column'].astype('int32')  # Instead of int64

# Drop unnecessary columns
df = df[['col1', 'col2']]  # Keep only needed columns

# Process in batches
for batch in np.array_split(df, 10):
    process(batch)

Środowisko i konfiguracja

Problemy z wirtualnym środowiskiem

Problem: Wirtualne środowisko nie aktywuje się

Rozwiązanie:

# Windows
python -m venv venv
venv\Scripts\activate.bat

# macOS/Linux
python3 -m venv venv
source venv/bin/activate

# Check if activated (should show venv name in prompt)
which python  # Should point to venv python

Problem: Pakiety są zainstalowane, ale nie są znajdowane w notatniku

Rozwiązanie:

# Ensure notebook uses the correct kernel
# Install ipykernel in your venv
pip install ipykernel
python -m ipykernel install --user --name=ml-env --display-name="Python (ml-env)"

# In Jupyter: Kernel → Change Kernel → Python (ml-env)

Problemy z Git

Problem: Nie można pobrać najnowszych zmian - konflikty scalania

Rozwiązanie:

# Stash your changes
git stash

# Pull latest
git pull origin main

# Reapply your changes
git stash pop

# If conflicts, resolve manually or:
git checkout --theirs path/to/file  # Take remote version
git checkout --ours path/to/file    # Keep your version

Integracja z VS Code

Problem: Notatniki Jupyter nie otwierają się w VS Code

Rozwiązanie:

  1. Zainstaluj rozszerzenie Python w VS Code
  2. Zainstaluj rozszerzenie Jupyter w VS Code
  3. Wybierz odpowiedni interpreter Pythona: Ctrl+Shift+P → "Python: Select Interpreter"
  4. Zrestartuj VS Code

Dodatkowe zasoby


Nadal masz problemy?

Jeśli wypróbowałeś powyższe rozwiązania i nadal masz trudności:

  1. Przeszukaj istniejące zgłoszenia: GitHub Issues
  2. Sprawdź dyskusje na Discordzie: Dyskusje na Discordzie
  3. Otwórz nowe zgłoszenie: Dołącz:
    • Twój system operacyjny i jego wersję
    • Wersję Pythona/R
    • Komunikat o błędzie (pełny traceback)
    • Kroki do odtworzenia problemu
    • Co już próbowałeś

Jesteśmy tu, aby pomóc! 🚀


Zastrzeżenie:
Ten dokument został przetłumaczony za pomocą usługi tłumaczenia AI Co-op Translator. Chociaż staramy się zapewnić dokładność, prosimy pamiętać, że automatyczne tłumaczenia mogą zawierać błędy lub nieścisłości. Oryginalny dokument w jego rodzimym języku powinien być uznawany za źródło autorytatywne. W przypadku informacji krytycznych zaleca się skorzystanie z profesjonalnego tłumaczenia przez człowieka. Nie ponosimy odpowiedzialności za jakiekolwiek nieporozumienia lub błędne interpretacje wynikające z użycia tego tłumaczenia.