image_2021-06-27_18-59-07.png
38.7 KB
#код
Забавный баг (появился относительно недавно): в jupyter lab без выделенных строк ядро умирает при вызове imshow. Весь старый код, в котором есть хотя бы один вызов imshow сейчас не работает...
Забавный баг (появился относительно недавно): в jupyter lab без выделенных строк ядро умирает при вызове imshow. Весь старый код, в котором есть хотя бы один вызов imshow сейчас не работает...
#код
Серия полезных ресурсов от Майкрософт (есть полезные хорошо реализованные методы):
NLP
https://github.com/microsoft/nlp-recipes
Computer vision
https://github.com/microsoft/computervision-recipes
Forecasting
https://github.com/microsoft/forecasting
Recommendation systems
https://github.com/microsoft/recommenders
Серия полезных ресурсов от Майкрософт (есть полезные хорошо реализованные методы):
NLP
https://github.com/microsoft/nlp-recipes
Computer vision
https://github.com/microsoft/computervision-recipes
Forecasting
https://github.com/microsoft/forecasting
Recommendation systems
https://github.com/microsoft/recommenders
GitHub
GitHub - microsoft/nlp-recipes: Natural Language Processing Best Practices & Examples
Natural Language Processing Best Practices & Examples - microsoft/nlp-recipes
#код
Сам не пробовал, но когда-то что-то подобное было актуально. Только вот автоматический выбор размера батча проблемы с памятью не решит.
https://github.com/rentruewang/koila
Сам не пробовал, но когда-то что-то подобное было актуально. Только вот автоматический выбор размера батча проблемы с памятью не решит.
https://github.com/rentruewang/koila
GitHub
GitHub - rentruewang/koila: Prevent PyTorch's `CUDA error: out of memory` in just 1 line of code.
Prevent PyTorch's `CUDA error: out of memory` in just 1 line of code. - rentruewang/koila
👍1
#код
Сижу тут, пытаюсь тексты кластеризовать, взял представления из трансформеров, решил посмотреть, как в пространстве главных компонент будет получаться... а получается какая-то ерунда, качество то высокое, то низкое. Хорошо, что люблю всё визуализировать - ошибка сразу нашлась - обратил внимание, что порядок сингулярных значений какой-то странный.
Что в итоге... Если Вы пользуетесь функцией scipy.sparse.linalg.svds, то в помощи есть забавная фраза "The order in which the singular values are returned is not guaranteed". Вроде как её раньше не было (я часто пользовался этой функцией, так как она получает нужное количество компонент, и проблем не возникало).
Сижу тут, пытаюсь тексты кластеризовать, взял представления из трансформеров, решил посмотреть, как в пространстве главных компонент будет получаться... а получается какая-то ерунда, качество то высокое, то низкое. Хорошо, что люблю всё визуализировать - ошибка сразу нашлась - обратил внимание, что порядок сингулярных значений какой-то странный.
Что в итоге... Если Вы пользуетесь функцией 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.
Понятно, что задачка возникает на практике и должна решаться на автомате;)
Пример: для входа
(X.unsqueeze(1) - Y).norm(dim=2)
Вот вам простейшая, но хорошая для собеседования 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],Решение (для PyTorch):
[1.7321, 1.7321],
[5.3852, 4.7958]])
👍60👏4
#код
В прошлом опросе по питону в комментариях есть ссылки на хорошие ресурсы. Большинство из них я использовал, когда когда-то готовил занятия по питону. Из "странностей" языка моя любимая, пожалуй, эта -
В прошлом опросе по питону в комментариях есть ссылки на хорошие ресурсы. Большинство из них я использовал, когда когда-то готовил занятия по питону. Из "странностей" языка моя любимая, пожалуй, эта -
a = [lambda: i for i in range(3)](ниже опрос). Легко объясняется, но совсем нетривиальна до тех пор, пока сам не столкнёшься.
b = [f() for f in a]
print (b)
🔥10👍1
#код
100 упражнений по NumPy на русском языке
https://github.com/alex-sokolov2011/100_Numpy_exercises_Rus_ver
100 упражнений по NumPy на русском языке
https://github.com/alex-sokolov2011/100_Numpy_exercises_Rus_ver
GitHub
GitHub - alex-sokolov2011/100_Numpy_exercises_Rus_ver: 100 упражнений по numpy версия на русском
100 упражнений по numpy версия на русском. Contribute to alex-sokolov2011/100_Numpy_exercises_Rus_ver development by creating an account on GitHub.
👍67❤🔥11🔥4🐳2🤡1
#код
Демки разных методов, есть код на Python, R, Julia и Matlab. Ничего сверхполезного вроде нет, но для новичков будет в самый раз.
https://www.numerical-tours.com/
Демки разных методов, есть код на Python, R, Julia и Matlab. Ничего сверхполезного вроде нет, но для новичков будет в самый раз.
https://www.numerical-tours.com/
👍20🔥2
#код
Забавляет, что в библиотеках, которыми пользуется DS сообщества, при более-менее стандартных именах функций на ровном месте возникают несогласованности. Например, конкатенация матриц / датафреймов / тензоров:
в нумпае -
в пандасе -
в пайторче -
Некоторые особенности разного именования вызваны разными концепциями средств программирования (например, пометка inplace-методов с помощью аргумента inplace или с помощью знака подчёркивания).
Некоторые просто авторские (например, последний слой предобученных нейросетевых моделей: fc / classifier / head).
Но вот зачем конкатенацию по-разному называть? :)
Забавляет, что в библиотеках, которыми пользуется DS сообщества, при более-менее стандартных именах функций на ровном месте возникают несогласованности. Например, конкатенация матриц / датафреймов / тензоров:
в нумпае -
numpy.concatenate
,в пандасе -
pandas.concat
,в пайторче -
torch.cat
.Некоторые особенности разного именования вызваны разными концепциями средств программирования (например, пометка inplace-методов с помощью аргумента inplace или с помощью знака подчёркивания).
Некоторые просто авторские (например, последний слой предобученных нейросетевых моделей: fc / classifier / head).
Но вот зачем конкатенацию по-разному называть? :)
😁54🥴19🤔5💯5
#код
Довольно известный ресурс про эффективное программирование на питоне (по памяти и по скорости) - но в этом канале я ещё на него ни разу не ссылался. Есть отдельная подборка статей по DS: numpy, pandas, polars и т.п.
https://pythonspeed.com/
Довольно известный ресурс про эффективное программирование на питоне (по памяти и по скорости) - но в этом канале я ещё на него ни разу не ссылался. Есть отдельная подборка статей по DS: numpy, pandas, polars и т.п.
https://pythonspeed.com/
🔥96👍15❤13🙏2