Small Data Science for Russian Adventurers
11.3K subscribers
307 photos
3 videos
13 files
708 links
БЕЗ ЧУЖОЙ РЕКЛАМЫ Авторский канал Александра Дьяконова (dyakonov.org)
машинное (machine learning) и
глубокое обучение (deep learning)
анализ данных (data mining)
наука о данных (data science)
ИИ (artificial intelligence)
математика (math)
и др.
ЕСТЬ ЧАТ;)
Download Telegram
#код
Куча полезных библиотек. В заголовке написано "для продакшена", но, на самом деле, там много для чего, например, есть коллекция для поиска аномалий:
https://github.com/EthicalML/awesome-production-machine-learning
#код
Небольшой лайфхак для тех, кто перешёл из Jupyter notebook в Jupyter lab. Непривычно пропало меню работы с изображением, когда щёлкаешь правой кнопкой мыши по картинкам. Вместо этого выводится стандартное меню Lab. Чтобы вернуть "классическое", надо удерживать клавишу Shift при правом клике мыши;)
#код
Не так давно NVIDIA выпустила фрейворк NeMo для создания разговорного ИИ. Мои знакомые отнеслись к нему с понятной долей подозрения (ещё сырой, никто не использует и т.п.), но стали появляться статьи, в которых он используется: https://arxiv.org/pdf/2010.13886.pdf
NeMo
https://github.com/NVIDIA/NeMo
#код
Какой потрясающий ресурс! Здесь примеры кода на Pytorch с разъяснением как по базовым конструкциям, так и по современным сетям.
https://nn.labml.ai/
#код
В постах на этом сайте фактически дана инструкция по написанию торгующего бота.
https://conorjohanlon.com/
#код
Наверное, я стал совсем старым и отсталым... так принято сейчас код оформлять на питоне? Это какой-то стандарт? С такими отступами и запятой в начале при перечислении? Гитхаб набит подобным оформлением...
#код
Библиотека для активного обучения (пока не пробовал, да и задач таких сейчас у меня нет, но выглядит симпатично, самые известные подходы реализованы, заявлена совместимость с другими библиотеками)
modal-python.readthedocs.io
image_2021-06-27_18-59-07.png
38.7 KB
#код
Забавный баг (появился относительно недавно): в jupyter lab без выделенных строк ядро умирает при вызове imshow. Весь старый код, в котором есть хотя бы один вызов imshow сейчас не работает...
#код
Сам не пробовал, но когда-то что-то подобное было актуально. Только вот автоматический выбор размера батча проблемы с памятью не решит.
https://github.com/rentruewang/koila
👍1
#код
Сижу тут, пытаюсь тексты кластеризовать, взял представления из трансформеров, решил посмотреть, как в пространстве главных компонент будет получаться... а получается какая-то ерунда, качество то высокое, то низкое. Хорошо, что люблю всё визуализировать - ошибка сразу нашлась - обратил внимание, что порядок сингулярных значений какой-то странный.

Что в итоге... Если Вы пользуетесь функцией scipy.sparse.linalg.svds, то в помощи есть забавная фраза "The order in which the singular values are returned is not guaranteed". Вроде как её раньше не было (я часто пользовался этой функцией, так как она получает нужное количество компонент, и проблем не возникало).
😱54👍16🤔6
#код
Вот вам простейшая, но хорошая для собеседования DL-исследователей/инженеров задача. Попробуйте решить сами прежде, чем посмотреть ответ.

Даны два тензора - X размера MxN и Y размера KxN, нужно получить тензор размера MxK, ij-й элемент которого норма разности i-й строки X и j-й строки Y.

Понятно, что задачка возникает на практике и должна решаться на автомате;)

Пример: для входа
tensor([[0., 0., 0., 0.],
[1., 1., 1., 1.],
[1., 2., 3., 4.]])
tensor([[1., 0., 0., 0.],
[0., 0., 0., 1.]])

выход
tensor([[1.0000, 1.0000],
[1.7321, 1.7321],
[5.3852, 4.7958]])

Решение (для PyTorch): (X.unsqueeze(1) - Y).norm(dim=2)
👍60👏4
#код
В прошлом опросе по питону в комментариях есть ссылки на хорошие ресурсы. Большинство из них я использовал, когда когда-то готовил занятия по питону. Из "странностей" языка моя любимая, пожалуй, эта -
a = [lambda: i for i in range(3)]
b = [f() for f in a]
print (b)
(ниже опрос). Легко объясняется, но совсем нетривиальна до тех пор, пока сам не столкнёшься.
🔥10👍1
#код
Демки разных методов, есть код на Python, R, Julia и Matlab. Ничего сверхполезного вроде нет, но для новичков будет в самый раз.
https://www.numerical-tours.com/
👍20🔥2
#код
Забавляет, что в библиотеках, которыми пользуется DS сообщества, при более-менее стандартных именах функций на ровном месте возникают несогласованности. Например, конкатенация матриц / датафреймов / тензоров:
в нумпае - numpy.concatenate,
в пандасе - pandas.concat,
в пайторче - torch.cat.

Некоторые особенности разного именования вызваны разными концепциями средств программирования (например, пометка inplace-методов с помощью аргумента inplace или с помощью знака подчёркивания).

Некоторые просто авторские (например, последний слой предобученных нейросетевых моделей: fc / classifier / head).

Но вот зачем конкатенацию по-разному называть? :)
😁54🥴19🤔5💯5
#код
Довольно известный ресурс про эффективное программирование на питоне (по памяти и по скорости) - но в этом канале я ещё на него ни разу не ссылался. Есть отдельная подборка статей по DS: numpy, pandas, polars и т.п.

https://pythonspeed.com/
🔥96👍1513🙏2