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)
и др.
ЕСТЬ ЧАТ;)
加入频道
#код
Вот вам простейшая, но хорошая для собеседования 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. Ничего сверхполезного вроде нет, но для новичков будет в самый раз.
http://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