Spark in me - Internet, data science, math, deep learning, philo

snakers4 @ telegram, 1166 members, 1154 posts since 2016

All this - lost like tears in rain.

Internet, data science, math, deep learning, philosophy.
No bullshit.

На чай
- goo.gl/zveIOr
- Договор ТКС 5011673505

Сайт spark-in.me
Файл goo.gl/5VGU5A
Чат goo.gl/IS6Kzz

Posts by tag «pytorch»:

snakers4 (Alexander), November 17, 11:44

Библиотека, которая позволяет использовать почти все визуализации tensorboard с pytorch

- github.com/lanpa/tensorboard-pytorch

Особенно интересен пример для отладки графа вычислений

- goo.gl/oLWhfP

#data_science

#pytorch

lanpa/tensorboard-pytorch

tensorboard-pytorch - tensorboard for pytorch


snakers4 (Alexander), November 15, 06:43

Лайфхак дня. Как прикрутить TensorBoard к pytorch за 10 минут

- github.com/yunjey/pytorch-tutorial/tree/master/tutorials/04-utils/tensorboard

По сути единственное, что продолжает вымораживать в pytorch по сравнению с tf - отсутствие инструментов для дебага графа вычислений (может потому, что он динамический?)

#deep_learning

#pytorch

yunjey/pytorch-tutorial

pytorch-tutorial - PyTorch Tutorial for Deep Learning Researchers


snakers4 (Alexander), October 26, 06:04

Заметка про тренировку сетей с разным lr в pytorch. В документации написано

optim.SGD([

{'params': model.base.parameters()},

{'params': model.classifier.parameters(), 'lr': 1e-3}

], lr=1e-2, momentum=0.9)На все слои не указанные в листе lr не распространяется. Может это очевидно, но я возился 3 дня, не понимая почему модель не работает, пока не догадался до такой простой вещи - что надо переписать модель вынеся все свои функции из forward в __init отдельного класса.

Лучшее - враг хорошего.

#data_science

#pytorch

snakers4 (Alexander), October 25, 11:29

Если вы пытаетесь скрестить код, который должен работать на 2 GPU и код который должен работать только на 1 GPU (ужа с ежом) на Pytorch, не переписывая ни один из них, то такой сниппет поможет вам

import os

os.environ["CUDA_DEVICE_ORDER"]="PCI_BUS_ID" # see issue #152

os.environ["CUDA_VISIBLE_DEVICES"]="1"

#pytorch

snakers4 (Alexander), October 23, 03:29

Давно не делал подборки с канала. Сделаю несколько штук)

Интересные ссылки на тему DS / ML

68 Cheat sheet-ы Data wrangling - snakers41.spark-in.me/1219

69 Bokeh - замена D3.js но на питоне - snakers41.spark-in.me/1220

70 Новый курс от fast.ai - прикладная линейная алгебра - snakers41.spark-in.me/1224

71 Быстрый анализ потокового видео - snakers41.spark-in.me/1227

72 Sklearn cheat-sheet - snakers41.spark-in.me/1229

73 Советы от призеров на Kaggle snakers41.spark-in.me/1231

74 Интуиция при использовании t-SNE - snakers41.spark-in.me/1239

75 Бенчмарки либ для градиентного бустинга - snakers41.spark-in.me/1250

76 ROC и AUC простыми словами - snakers41.spark-in.me/1262

77 Еще прогресс бары на питоне - snakers41.spark-in.me/1269

78 Fast.ai открыли вторую серию курса про глубокое обучение - snakers41.spark-in.me/1270

79 Чит шиты - архитектуры нейросетей - snakers41.spark-in.me/1273

80 РАБОТАЮЩИЙ пример multi-curl - snakers41.spark-in.me/1274

81 Многопоточность в питоне - snakers41.spark-in.me/1276

82 Как эффективно загружать .npy массивы в память в питоне - snakers41.spark-in.me/1279

83 Туториалы по Keras + tf с примерами в ipynb - snakers41.spark-in.me/1278

84 Новый курс от Andrew Ng - snakers41.spark-in.me/1293

85 Разложения матриц fast.ai - snakers41.spark-in.me/1294

86 Дельные статьи с Хабра - snakers41.spark-in.me/1303

87 Музыкальные рекоммендации - snakers41.spark-in.me/1305

88 Визуализация в виде карты - snakers41.spark-in.me/1306

89 Классная презентация про ML в гугле - snakers41.spark-in.me/1309

90 Многопоточная работа с файлами в питоне в Keras - snakers41.spark-in.me/1313

91 Мобильные архитектуры нейросетей snakers41.spark-in.me/1316

#digest

#data_science

Spark in me

Пара сверх-полезных cheat-sheet-ов для "ковыряния" в данных на pandas - Часть раз https://goo.gl/NYkqWb - Часть два https://goo.gl/EXjGXu Полезно будет тем, кто только начинает такие "ковыряния". На мой взгляд тут сильно не хватает сводных таблиц. Про них можно прочитать тут: - In a nutshell - https://goo.gl/K1xucE - Ссылка http://pbpython.com/pandas-pivot-table-explained.html #data_science #cheat_sheet


Подборка - статьи и заметки автора

30 Переход на HTTPS - snakers41.spark-in.me/1109

31 The art of learning - snakers41.spark-in.me/1099

32 Как пользоваться каналом - snakers41.spark-in.me/1084

33 Про деплой и поддержку сервера - snakers41.spark-in.me/1074

34 Про бекапы - snakers41.spark-in.me/1069

35 Про бекенд нашего сайта - snakers41.spark-in.me/1046

36 Как пользоваться каналом - snakers41.spark-in.me/1084

37 Заметка про Гугл, Андроид, Эппл и машинное обучение - snakers41.spark-in.me/1085

39 Книга про самообразование - snakers41.spark-in.me/1099

40 Заметка про семантическое ядро - snakers41.spark-in.me/1102

41 Заметка про RTB - snakers41.spark-in.me/1110

42 Анализ рынка через сайтмапы - snakers41.spark-in.me/1127

43 SMTP шлюзы - spark-in.me/post/smtp-relay-outsiders-view-1

44 Сайтмапы - часть 3 snakers41.spark-in.me/1171

45 Сайтмапы - часть 2 snakers41.spark-in.me/1153

46 Анализ 1.5м фоток квартир - начало - snakers41.spark-in.me/1180

47 Визуализации нейросетей - фейл - snakers41.spark-in.me/1196

48 Визуализация звука в питоне - snakers41.spark-in.me/1197

50 Про глупость и способы ее исправить - snakers41.spark-in.me/1263

51 Установка софта для работы с GPU и нейросетями - snakers41.spark-in.me/1287

52 Работа с U-NET на практике - snakers41.spark-in.me/1307

53 Как тренировать сверточные нейросети в 10 раз быстрее - snakers41.spark-in.me/1319

54 Про трудовую миграцию - snakers41.spark-in.me/1328

#digest

#data_science

Spark in me

Итак, закончилась небольшая эпопея по переводу сайта на HTTPS. Надеюсь кому-то покажется интересным. Описал основные блоки, которые по идее должны быть применимы для любого веб-проекта. Что самое главное - все старые ссылки и все-все-все должно работать) TLDR - ставьте https сразу и не мучайтесь) - https://spark-in.me/post/spark-in-me-https #internet


Подборка - статьи про pytorch

Гайд раз - snakers41.spark-in.me/1362

Fast.ai и pytorch - snakers41.spark-in.me/1367

Цикл статей про SSD на pytorch - snakers41.spark-in.me/1435

Pytorch и докер -snakers41.spark-in.me/1438

Впечатления про pytorch - snakers41.spark-in.me/1442

Расширение классов Pytorch - snakers41.spark-in.me/1447

Аугментации на pytorch - snakers41.spark-in.me/1449

Pytorch - снижение lr по шагам - snakers41.spark-in.me/1457

Внутрянка tf и pytorch - snakers41.spark-in.me/1467

#digest

#deep_learning

#pytorch

Spark in me

Знакомый поделился классным гайдом по PyTorch, который объясняет в чем его фишка. Если вы не пользуетесь Keras и ищете на чем потренироваться - то вам как раз подойдет. https://habrahabr.ru/post/334380/ #data_science #neural_nets


Подборка - Докер

Как начать в докер - snakers41.spark-in.me/1365

Как начать в докер - уже серьезнее - snakers41.spark-in.me/1403

Бойлерплейты на докере для DS - snakers41.spark-in.me/1409

Pytorch и докер -snakers41.spark-in.me/1438

Докер и проброс ssh - snakers41.spark-in.me/1439

Как поднять себе окружение в докере с уровня железа

snakers41.spark-in.me/1461

#digest

#linux

Spark in me

Если вы хотите начать превращать свой локальный или удаленный зоопарк в более структурированный зоопарк, или избавиться от конфликтов софта и необходимости все иметь всегда в последней версии, то вот несколько хороших вводных точек про докер - Раз https://habrahabr.ru/post/337306/ - Два https://docs.docker.com/get-started/ #linux


snakers4 (Alexander), October 21, 14:12

Если используете pytorch, то самый простой способ посмотреть картинку в формате генератора pytorch примерно такой. Поменять каналы местами, перевести в float, нормализовать. Тогда легко открыть картинку через pyplot.

img = images[15].cpu().numpy().astype(np.float32).transpose((1, 2, 0))

img += -img.min()

img *= (1/img.max())

plt.imshow(img)

plt.show()

#pytorch

snakers4 (Alexander), October 18, 04:47

Копипаста на pytorch для снижения lr по шагам.

...

parser.add_argument('--gamma', default=0.1, type=float, help='Gamma update for SGD')

...

...

stepvalues = (80000, 100000, 120000)

...

if iteration in stepvalues:

step_index += 1

adjust_learning_rate(optimizer, args.gamma, step_index)

...

def adjust_learning_rate(optimizer, gamma, step):

parser.add_argument('--gamma', default=0.1, type=float, help='Gamma update for SGD')

lr = args.lr * (gamma ** (step))

for param_group in optimizer.param_groups:

param_group['lr'] = lr#pytorch

snakers4 (Alexander), October 15, 04:20

В процессе ковыряния SSD нашел такой бойлерплейт для своих кастомных аугментаций на pytorch. Приятность состоит в том, что все такие штуки очень удобно реализовывать на основе их готовых классов

- github.com/amdegroot/ssd.pytorch/blob/master/utils/augmentations.py

#data_science

#pytorch

amdegroot/ssd.pytorch

ssd.pytorch - A PyTorch Implementation of Single Shot MultiBox Detector


snakers4 (Alexander), October 14, 04:34

Пробую Pytorch (goo.gl/YySVm1) - у меня пока безумно позитивные ощущения. Внезапно там гимора больше чем в керасе раза в 2-3, но свобода почти абсолютно полная. Очень много сахара программного, но работа с большим числом карточек (>1) делается одной оберткой.

Довольно легко расширять классы. Документация отстает от функционала, но поэтому проще читать сорс код. Примеры в документации по архитектурам и fine-tuning просто отличные, хоть и громоздкие. Зато они настроены на профессиональное использование.

Из чисто технических плюсов - граф расчетов в торче динамический, т.е. мы можем по понедельникам делать одно, а по вторникам другое (в этих двух гайдах лучше написано - goo.gl/GwN5hx - goo.gl/AJQ5PW)

Из минусов:

- нет такого же тула как Tensorboard. Для этих целей все используют visdom насколько я понимаю - goo.gl/UTD94E . Что с одной стороны отлично, т.к. можно делать все, что угодно, а с другой нужно

- нет встроенных оберток для коллбеков в виде early stopping, lr decay и прочих вкусностей. Есть такой репозиторий - но мне говорили что он пока очень сырой - goo.gl/kWRrbJ

- аугментации и работа с картинками - все построены на PIL, что как бы не тру - их там кот наплакал. Благо все очень легко дописывается

Есть опция работы на (!) кластере компьютеров с GPU через сеть.

#data_science

#pytorch

snakers4 (Alexander), October 12, 03:29

Заметка - если вы используете pytorch через докер с их загрузчиками данных, не удивляйтесь, если ничего не будет работать.

Докер надо запускать с флагом nvidia-docker run --shm-size 2G (вставьте сколько не жалко), потому что он использует дисковый кеш и его стандартный размер стоит 64M.

Больше про подобные флаги:

- тут docs.docker.com/engine/reference/run/#runtime-constraints-on-resources

- и тут docs.docker.com/engine/admin/resource_constraints/

#data_science

#pytorch

Docker run reference

Configure containers at runtime