Skip to content

Latest commit

 

History

History
601 lines (428 loc) · 18 KB

File metadata and controls

601 lines (428 loc) · 18 KB

Ръководство за отстраняване на проблеми

Това ръководство ще ви помогне да решите често срещани проблеми при работа с учебната програма "Машинно обучение за начинаещи". Ако не намерите решение тук, моля, проверете нашите дискусии в Discord или отворете нов проблем.

Съдържание


Проблеми с инсталацията

Инсталация на Python

Проблем: python: command not found

Решение:

  1. Инсталирайте Python 3.8 или по-нова версия от python.org
  2. Проверете инсталацията: python --version или python3 --version
  3. На macOS/Linux може да се наложи да използвате python3 вместо python

Проблем: Конфликти между различни версии на Python

Решение:

# 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

Инсталация на Jupyter

Проблем: jupyter: command not found

Решение:

# Install Jupyter
pip install jupyter

# Or with pip3
pip3 install jupyter

# Verify installation
jupyter --version

Проблем: Jupyter не се отваря в браузъра

Решение:

# 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=...

Инсталация на R

Проблем: R пакетите не се инсталират

Решение:

# 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")

Проблем: IRkernel не е наличен в Jupyter

Решение:

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

Проблеми с Jupyter Notebook

Проблеми с ядрото (Kernel)

Проблем: Ядрото постоянно се рестартира или спира

Решение:

  1. Рестартирайте ядрото: Kernel → Restart
  2. Изчистете изхода и рестартирайте: Kernel → Restart & Clear Output
  3. Проверете за проблеми с паметта (вижте Проблеми с производителността)
  4. Стартирайте клетките една по една, за да идентифицирате проблемния код

Проблем: Избрано е грешно Python ядро

Решение:

  1. Проверете текущото ядро: Kernel → Change Kernel
  2. Изберете правилната версия на Python
  3. Ако ядрото липсва, създайте го:
python -m ipykernel install --user --name=ml-env

Проблем: Ядрото не стартира

Решение:

# Reinstall ipykernel
pip uninstall ipykernel
pip install ipykernel

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

Проблеми с клетките в Notebook

Проблем: Клетките се изпълняват, но не показват резултати

Решение:

  1. Проверете дали клетката все още се изпълнява (потърсете индикатора [*])
  2. Рестартирайте ядрото и изпълнете всички клетки: Kernel → Restart & Run All
  3. Проверете конзолата на браузъра за грешки в JavaScript (F12)

Проблем: Клетките не се изпълняват - няма реакция при натискане на "Run"

Решение:

  1. Проверете дали Jupyter сървърът все още работи в терминала
  2. Презаредете страницата на браузъра
  3. Затворете и отворете отново Notebook-а
  4. Рестартирайте Jupyter сървъра

Проблеми с Python пакети

Грешки при импортиране

Проблем: ModuleNotFoundError: No module named 'sklearn'

Решение:

pip install scikit-learn

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

Проблем: ImportError: cannot import name 'X' from 'sklearn'

Решение:

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

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

Конфликти с версии

Проблем: Грешки за несъвместимост на версии на пакети

Решение:

# 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

Проблем: pip install не успява поради грешки с права

Решение:

# 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

Проблеми с зареждане на данни

Проблем: FileNotFoundError при зареждане на CSV файлове

Решение:

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')

Проблеми с R средата

Инсталация на пакети

Проблем: Инсталацията на пакети се проваля с грешки при компилация

Решение:

# 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

Проблем: tidyverse не се инсталира

Решение:

# 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"))

Проблеми с RMarkdown

Проблем: RMarkdown не се рендерира

Решение:

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

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

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

Проблеми с приложението за тестове

Създаване и инсталация

Проблем: npm install не успява

Решение:

# 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

Проблем: Порт 8080 вече се използва

Решение:

# 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

Грешки при създаване

Проблем: npm run build не успява

Решение:

# 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

Проблем: Грешки при проверка на кода (Linting), които пречат на създаването

Решение:

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

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

Проблеми с данни и пътища към файлове

Проблеми с пътища

Проблем: Данните не се намират при изпълнение на Notebook-и

Решение:

  1. Винаги изпълнявайте Notebook-ите от директорията, в която се намират

    cd /path/to/lesson/folder
    jupyter notebook
  2. Проверете относителните пътища в кода

    # Correct path from notebook location
    df = pd.read_csv('../data/filename.csv')
    
    # Not from your terminal location
  3. Използвайте абсолютни пътища, ако е необходимо

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

Липсващи файлове с данни

Проблем: Липсват файлове с данни

Решение:

  1. Проверете дали данните трябва да са в репозитория - повечето набори от данни са включени
  2. Някои уроци може да изискват изтегляне на данни - проверете README на урока
  3. Уверете се, че сте изтеглили последните промени:
    git pull origin main

Често срещани съобщения за грешки

Грешки с паметта

Грешка: MemoryError или ядрото спира при обработка на данни

Решение:

# 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()

Предупреждения за конвергенция

Предупреждение: ConvergenceWarning: Maximum number of iterations reached

Решение:

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)

Проблеми с визуализацията

Проблем: Графиките не се показват в Jupyter

Решение:

# Enable inline plotting
%matplotlib inline

# Import pyplot
import matplotlib.pyplot as plt

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

Проблем: Графиките на Seaborn изглеждат различно или хвърлят грешки

Решение:

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

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

Грешки с Unicode/кодиране

Проблем: UnicodeDecodeError при четене на файлове

Решение:

# 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')

Проблеми с производителността

Бавно изпълнение на Notebook-и

Проблем: Notebook-ите се изпълняват много бавно

Решение:

  1. Рестартирайте ядрото, за да освободите памет: Kernel → Restart
  2. Затворете неизползвани Notebook-и, за да освободите ресурси
  3. Използвайте по-малки проби от данни за тестване:
    # Work with subset during development
    df_sample = df.sample(n=1000)
  4. Профилирайте кода си, за да намерите тесните места:
    %time operation()  # Time single operation
    %timeit operation()  # Time with multiple runs

Висока употреба на памет

Проблем: Системата изчерпва паметта

Решение:

# 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)

Среда и конфигурация

Проблеми с виртуална среда

Проблем: Виртуалната среда не се активира

Решение:

# 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

Проблем: Пакетите са инсталирани, но не се намират в Notebook-а

Решение:

# 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)

Проблеми с Git

Проблем: Не може да се изтеглят последните промени - конфликти при сливане

Решение:

# 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

Интеграция с VS Code

Проблем: Jupyter Notebook-ите не се отварят в VS Code

Решение:

  1. Инсталирайте разширението Python в VS Code
  2. Инсталирайте разширението Jupyter в VS Code
  3. Изберете правилния Python интерпретатор: Ctrl+Shift+P → "Python: Select Interpreter"
  4. Рестартирайте VS Code

Допълнителни ресурси


Все още имате проблеми?

Ако сте опитали горните решения и все още срещате трудности:

  1. Потърсете съществуващи проблеми: GitHub Issues
  2. Проверете дискусиите в Discord: Discord Discussions
  3. Отворете нов проблем: Включете:
    • Вашата операционна система и версия
    • Версия на Python/R
    • Съобщение за грешка (пълен traceback)
    • Стъпки за възпроизвеждане на проблема
    • Какво вече сте опитали

Тук сме, за да помогнем! 🚀


Отказ от отговорност:
Този документ е преведен с помощта на AI услуга за превод Co-op Translator. Въпреки че се стремим към точност, моля, имайте предвид, че автоматизираните преводи може да съдържат грешки или неточности. Оригиналният документ на неговия роден език трябва да се счита за авторитетен източник. За критична информация се препоръчва професионален човешки превод. Ние не носим отговорност за недоразумения или погрешни интерпретации, произтичащи от използването на този превод.