Проверка среды¶
Автор: Антон Митьков
CC BY 4.0. Этот ноутбук проверяет, что среда настроена: Python запускает ячейки, нужные библиотеки установлены и работают. Данные создаются внутри ноутбука, файлы загружать не нужно.
Как запустить. Выполняйте ячейки сверху вниз: Shift+Enter. Каждая ячейка должна закончиться без красной ошибки. В конце последняя ячейка выведет итог.
1. Версия Python¶
import sys
print("Python", sys.version.split()[0])
if sys.version_info < (3, 10):
print("Версия Python старая: обновите Python или используйте Google Colab.")
2. Библиотеки¶
Для каждой библиотеки выводится версия. Если библиотеки нет, будет сообщение «НЕ УСТАНОВЛЕНА». Установите её по инструкции урока и перезапустите ядро.
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, в таблице две строки.
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.
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).
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 необязателен на старте: если он не установлен, этот пункт можно пропустить и выполнять уроки без него до темы нейросетей.
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. Итог¶
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("Всё работает: среда готова.")