В этом разделе будут собраны вопросы, которые не попали в материалы, но срочно требуют ответа!
В ноутбуке вы встретите следующие блоки:
# TODO - здесь может идти длиииииинное описание ...
Это блок, в котором предлагается выполнить какую-нибудь задачку, чтобы пройти дальше. Не забывайте, что непосильных задач вам никто не даст и мы в вас верим! Поэтому, не беритесь за списывание у соседей, а попробуйте сделать самостоятельно - у вас получится!
Сразу за ним обычно следует блок
# TEST
Блок с тестированием, в котором проверяется ваше решение. Если решение верное, то вы увидите "Well done!" в консоли. Иначе, будут ошибки с указанием на то, какой тест не удалось пройти.
Не старайтесь убрать или закомментировать тесты - это проверка сделана для того, чтобы показать, что ваше решение делает то, что необходимо по заданию. Иначе, может получиться так, что вы неправильно поняли и дальше все идет неправильно - мы ведь не хотим такого развития событий?
Другие интересные блоки:
🤓 Вот здесь мы обычно пишем умный текст, который содержит умный слова и важные термины. Или просто скучный правильный текст =)
⚠️ На это стоит обратить внимание и запомнить!
🔥 Хотите стать супер разработчиком - в таких блоках будут даваться маленькие советы по разработке. Чаще всего они будут отсылкой к PEP - Python Enhancement Proposal
✨ Вот в таких разделах обычно предлагается подумать о каком-то явлении или факте
🚀 В таком разделе описывается, какие пакеты понядобятся для работы.
Например:
🔥 При решении задач всегда старайтесь применять функции numpy и pandas вместо написания циклов! Это простая рекомендация, которая, как правило, дает сильную оптимизацию в скорости выполнения!
Есть два варианта:
- Вы можете открывать ноутбуки на платформе Google Colab и там их выполнять и сохранять у себя в репоитории. Для этого необходимо открыть блокнот, в качестве источника выбрать GitHub и ввести URL этой страницы: https://github.com/AleksDevEdu/ml_edu. В результате откроется список с ноутбуками, любой из которых можно открыть!
- Или можете установить себе на компьютер среду Anaconda и после чего включить сервер Jupyter (или Jupyter-lab). После включения по локальному адресу http://localhost:8888 (или http://localhost:8889) будет доступна среда разработка Jupyter. Чтобы открыть ноутбуки курса вам нужно любым доступным способом скачать репозиторий (например с помощью GitHub Desktop) и далее открыть их через Jupyter.
- Или можете установить VSCode, расширение Jupyter на него и также через GitHub Desktop склонировать репозиторий и работать у себя на компьютере. В этом случае еще понадобится свежий Python3.8.
Пакеты в Python в основном поставляются в виде собранных wheel файлов, которые содержат все необходимое, но иногда под конктерную комбинацию (Версия Python - OS - Архитектура) нет собранного wheel.
В таком случае для сборки локально используется компилятор, так вот если Вы раньше не ставили компилятор для Windows, то ошибка Вам подсказывает это сделать =)
То есть, ставите компилятор и проблема должна решиться!
Вот на всякий случай ссылка: https://visualstudio.microsoft.com/ru/visual-cpp-build-tools/
По этой ссылке полный набор build-tools, но можно попробовать поставить именно компилятор.
Нужно проверить следующие вещи:
- Карточка от компании Nvidia, если нет, то, к сожалению, GPU ускорение недоступно
- Установлена CUDA
- Если установлена версия CUDA == 11.1, то нужно поставить torch командой
pip3 install torch==1.9.1+cu111 torchvision==0.10.1+cu111 -f https://download.pytorch.org/whl/torch_stable.html
Источник: оф.сайт
Если у вас не работает импорт файла наподобии df = pd.read_csv("https://raw.githubusercontent.com/AleksDevEdu/ml_edu/master/datasets/Cars93_miss.csv")
- попробуйте самостоятельно прописать путь до папки datasets
в репозитории и обратитесь с вопросм к преподавателю.
Функции, которые создают массивы случайных чисел или обрабатывают случайные элементы в массиве, от запуска к запуску будут создавать разные результаты. Эксперименты на моделях и данных должны иметь свойство "повторяемости", что позволяет корректно сравнивать результаты работы методов и моделей при буквально одинаковых моделях.
При этом многие фреймворки имеют свою фиксацию случайных чисел:
- python
import random
random.seed(RANDOM_STATE)
- numpy
import numpy as np
np.random.seed(RANDOM_STATE)
-
sklearn, pandas: Библиотеки используют numpy, поэтому для них достаточно фиксации в нем.
-
torch
import torch
torch.manual_seed(RANDOM_STATE)
Ссылки были проверены на работоспособность в Jupyter, JupyterLab, Nbviewer. Если вы используете vscode, то рекомендуется использовать меню Outline. Для проверки работоспособности в других IDE обратитесь к разработчикам курса в issues.