Проверка среды¶

Автор: Антон Митьков

CC BY 4.0. Этот ноутбук проверяет, что среда настроена: Python запускает ячейки, нужные библиотеки установлены и работают. Данные создаются внутри ноутбука, файлы загружать не нужно.

Как запустить. Выполняйте ячейки сверху вниз: Shift+Enter. Каждая ячейка должна закончиться без красной ошибки. В конце последняя ячейка выведет итог.

1. Версия Python¶

In [ ]:
import sys

print("Python", sys.version.split()[0])
if sys.version_info < (3, 10):
    print("Версия Python старая: обновите Python или используйте Google Colab.")

2. Библиотеки¶

Для каждой библиотеки выводится версия. Если библиотеки нет, будет сообщение «НЕ УСТАНОВЛЕНА». Установите её по инструкции урока и перезапустите ядро.

In [ ]:
from importlib import import_module

libraries = ["numpy", "pandas", "matplotlib", "sklearn", "torch"]
optional = {"torch"}  # PyTorch нужен только для уроков про нейросети
missing = []
for name in libraries:
    try:
        module = import_module(name)
        print(f"{name:12} {module.__version__}")
    except ImportError:
        note = " (необязательна на старте)" if name in optional else ""
        print(f"{name:12} НЕ УСТАНОВЛЕНА{note}")
        missing.append(name)

3. NumPy и pandas¶

Считаем среднее и таблицу из учебных чисел. Ожидаемый результат: среднее 2.5, в таблице две строки.

In [ ]:
import numpy as np
import pandas as pd

values = np.array([1.0, 2.0, 3.0, 4.0])
print("среднее:", values.mean())

table = pd.DataFrame({"x": [1, 2], "y": [10, 20]})
print(table)
assert values.mean() == 2.5 and len(table) == 2

4. График¶

Должен появиться график прямой. Если картинки нет, проверьте, что установлена библиотека matplotlib.

In [ ]:
import matplotlib.pyplot as plt

x = np.linspace(0, 1, 5)
plt.plot(x, 2 * x + 1, marker="o")
plt.xlabel("x")
plt.ylabel("y")
plt.title("y = 2x + 1")
plt.show()

5. Первая модель¶

Обучаем метод ближайших соседей на учебных точках. Точки синтетические: высокая точность здесь только проверяет, что библиотека работает. Ожидаемый ответ: класс 1 для точки (0.9, 0.9).

In [ ]:
from sklearn.neighbors import KNeighborsClassifier

points = [[0, 0], [0, 1], [1, 0], [1, 1], [0.1, 0.1], [0.9, 0.9]]
labels = [0, 0, 0, 1, 0, 1]
model = KNeighborsClassifier(n_neighbors=1).fit(points, labels)
print("предсказание для (0.9, 0.9):", model.predict([[0.9, 0.9]])[0])
assert model.predict([[0.9, 0.9]])[0] == 1

6. PyTorch¶

Создаём тензор и умножаем его на число. Ожидаемый результат: tensor([2., 4., 6.]). PyTorch необязателен на старте: если он не установлен, этот пункт можно пропустить и выполнять уроки без него до темы нейросетей.

In [ ]:
try:
    import torch

    t = torch.tensor([1.0, 2.0, 3.0]) * 2
    print(t)
    assert t.tolist() == [2.0, 4.0, 6.0]
except ImportError:
    print("PyTorch не установлен: нужен только для уроков про нейросети.")

7. Итог¶

In [ ]:
required_missing = [name for name in missing if name not in optional]
if required_missing:
    print("Не хватает библиотек:", ", ".join(required_missing))
elif missing:
    print("Основная среда готова. Не установлен PyTorch: он понадобится для уроков про нейросети.")
else:
    print("Всё работает: среда готова.")