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ą
- Problemy z Jupyter Notebook
- Problemy z pakietami Pythona
- Problemy ze środowiskiem R
- Problemy z aplikacją quizową
- Problemy z danymi i ścieżkami plików
- Typowe komunikaty o błędach
- Problemy z wydajnością
- Środowisko i konfiguracja
Problemy z instalacją
Instalacja Pythona
Problem: python: command not found
Rozwiązanie:
- Zainstaluj Python 3.8 lub nowszy z python.org
- Zweryfikuj instalację:
python --versionlubpython3 --version - Na macOS/Linux możesz potrzebować użyć
python3zamiastpython
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:
- Zrestartuj jądro:
Kernel → Restart - Wyczyść wyniki i zrestartuj:
Kernel → Restart & Clear Output - Sprawdź problemy z pamięcią (zobacz Problemy z wydajnością)
- Uruchamiaj komórki pojedynczo, aby zidentyfikować problematyczny kod
Problem: Wybrano niewłaściwe jądro Pythona
Rozwiązanie:
- Sprawdź aktualne jądro:
Kernel → Change Kernel - Wybierz odpowiednią wersję Pythona
- 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:
- Sprawdź, czy komórka nadal działa (szukaj wskaźnika
[*]) - Zrestartuj jądro i uruchom wszystkie komórki:
Kernel → Restart & Run All - 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:
- Sprawdź, czy serwer Jupyter nadal działa w terminalu
- Odśwież stronę przeglądarki
- Zamknij i ponownie otwórz notatnik
- 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:
-
Zawsze uruchamiaj notatniki z ich katalogu macierzystego
cd /path/to/lesson/folder jupyter notebook -
Sprawdź ścieżki względne w kodzie
# Correct path from notebook location df = pd.read_csv('../data/filename.csv') # Not from your terminal location -
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:
- Sprawdź, czy dane powinny znajdować się w repozytorium - większość zestawów danych jest dołączona
- Niektóre lekcje mogą wymagać pobrania danych - sprawdź README lekcji
- 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:
- Zrestartuj jądro, aby zwolnić pamięć:
Kernel → Restart - Zamknij nieużywane notatniki, aby zwolnić zasoby
- Używaj mniejszych próbek danych do testów:
# Work with subset during development df_sample = df.sample(n=1000) - 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:
- Zainstaluj rozszerzenie Python w VS Code
- Zainstaluj rozszerzenie Jupyter w VS Code
- Wybierz odpowiedni interpreter Pythona:
Ctrl+Shift+P→ "Python: Select Interpreter" - Zrestartuj VS Code
Dodatkowe zasoby
- Dyskusje na Discordzie: Zadawaj pytania i dziel się rozwiązaniami w kanale #ml-for-beginners
- Microsoft Learn: Moduły ML for Beginners
- Samouczki wideo: Lista odtwarzania na YouTube
- Śledzenie problemów: Zgłaszaj błędy
Nadal masz problemy?
Jeśli wypróbowałeś powyższe rozwiązania i nadal masz trudności:
- Przeszukaj istniejące zgłoszenia: GitHub Issues
- Sprawdź dyskusje na Discordzie: Dyskusje na Discordzie
- 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.