Spark in me
2.74K subscribers
1.27K photos
71 videos
118 files
2.9K links
Lost like tears in rain. DS, ML, a bit of philosophy and math. No bs or ads.
Download Telegram
Отличная статья - сравнение tensorflow и pytorch. Если вы сомневаетесь с чего начать (начните с Keras).

In a nutshell - Pytorch это замена numpy для матричных вычислений на GPU, tensorflow - кроссплатформенный и с поддержкой удобных фич для деплоя + работает с Keras.

https://awni.github.io/pytorch-tensorflow/

#data_science
Интересное в мире интернета:
- Ben Evans - https://goo.gl/kfZ1PN
-- В Америке банки будут осуществлять переводы друг другу в течение дня https://goo.gl/Kn5fAK
-- Гугл платит несколько миллиардов долларов Apple за установку своего поиска на их дивайсы - https://goo.gl/Argq2M
-- LinkedIn подавал в суд на компанию, которая парсит с него публичную информацию и проиграл - https://goo.gl/ZfXF6D
-- 29m миллениалов смотрят новости ... в Снепчате - https://goo.gl/LMRRBL (мир сходит с ума)
-- Apple инвестирует US$1bn в видео-контент - https://www.wsj.com/articles/apple-readies-1-billion-war-chest-for-hollywood-programming-1502874004

#internet
Прочитал на Хабре статью про неуспешную трудовую эмиграцию. Это натолкнуло на мысль описать свой опыт в этой сфере. Может кому-то поможет избежать очевидных и досадных ошибок.

Читайте, комментируйте =)

https://spark-in.me/post/labour-emmigration-as-seen-by-former-investment-banker
Forwarded from Linuxgram 🐧 via @like
Gtop – Awesome Graphical System Monitoring Dashboard For Terminal
-> https://goo.gl/nEpSi7
Более няшный аналог glances
Интересное в мире DS / ML:
- HyperNet - DNN для быстрого перебора архитектур нейросетей (якобы быстрее чем брут форс подходы гугла) - https://goo.gl/478xh6
- Import AI - https://goo.gl/ztVdtf
-- Про соревнование про поиск рака матки - https://goo.gl/NX5PnL
--- Использовался PCA чтобы отфильтровать похожие картинки и сделать хороший валидационный датасет
--- Основные модели - фичи VGG-16 и faster R-CNN
-- Andrew Ng - основал фонд на US$150m - https://goo.gl/jqEWX2
-- MS выложили датасет словесных запросов людей на 11 гигабайт - https://goo.gl/auTVJM
-- Китай всерьез взялся за лидерство в ML - https://goo.gl/AbTgFB
-- Картинка - инвестиции в Китае в беспилотные авто - https://goo.gl/pLVypW
-- Китайцы выложили в паблик 80 Эксабайт ультразвуковых сканов сердца. ImageNet весит к примеру десятки гигабайт
-- Датасет и стенограмм речей в Ирландском парламенте почти за 100 лет...может кому надо профессионально - https://goo.gl/MzSW4R
-- Генерация лиц в высоком разрешении - https://goo.gl/kNwzDq

#data_science
Пара занятных (на сразу очевидных) вещей в Jupiter notebook.

1
Посмотреть docstring документацию
- tab - авто-дополнение
- shift + tab - открыть документацию

2
Отладка. Как правило она нужна редко (лично мне), но иногда бывает полезно посмотреть какие значения переменных внутри без написания микро-тестов.

- Раз - как юзать https://davidhamann.de/2017/04/22/debugging-jupyter-notebooks/
- Два - cheat sheet с командами -http://frid.github.io/blog/2014/06/05/python-ipdb-cheatsheet/
Добрался до 7 лекции в первом цикле fast.ai. Вот факты, которые показались мне нетривиальными / достойными упоминания:

- Для задач классификации изображений может быть полезно использовать global average pooling вместо flatter слоя (этот совет явно был дан до использования U-NET)

- 50%+ соревнований содержат leakage и существенная часть участников пытается ими пользоваться (что не создает реально работающие модели)
- По разным оценкам в бизнесе процент leakage как правило гораздо выше, т.к. данные готовятся менее тщательно

- Сети Inception net и Resnet имеют меньше параметров и точнее, чем VGG-16 сети, но они менее хорошо изучены в плане использования для transfer learning

- Пара подходов для участия в соревнованиях:
— Очевидное - использование фич из заранее натренированных моделей
— Разметка части данных для выделения зоны интереса
— Использование метаданных как входа для модели
— Нетривиальный подход - использовать метаданные как выход для модели

- Более сложные подходы - использование attention моделей для классификации картинок

#data_science
На всякий случай еще раз порекоммендую книгу по линейной алгребре, которая отличается своей полной онлайновостью и интерактивностью.

Очень полезно, для тех, что совсем не в теме. Для тех, кто в теме - красивые картинки.

По уровню извращений - все заканчивается на собственных значениях.

http://immersivemath.com/ila/index.html

#data_science
По форумам и интернету блуждает кусочек кода, чтобы тренировать модели с использованием keras+tf сразу на нескольких GPU.

Реально работает и помогает, если боттлнек - в памяти карты и у вас большие картинки.

Собираю полезные ссылки в одном месте:
- Самое полное обсуждение на эту тему - https://goo.gl/QJbGyz
- Работающий сниппет кода https://goo.gl/qnq2Zh (у меня запускается и дает почти линейный прирост для keras 2+ и tf 1.2+)
- "Курс" effective tensorflow который адекватно помогает понять с какого конца браться за tf - https://goo.gl/UEX9iC
- Статья простым языком на эту тему -https://goo.gl/NPVHHb (код из нее устарел)
-

Прочитав это все, можно понять на уровне смысла, как работает такая простое распределение расчетов не будучи экспертом по tf.

#data_science
#deep_learning
Пара забавных ссылок из разряда пока "космические корабли бороздят"
- Полигон для беспилотных авто в Корее - https://goo.gl/ncoZQy
- Виртуальный мир Гугла для тренировки своих беспилотных авто - https://goo.gl/7Ez67E
Попробовал bokeh. Сильная вещь
-http://bokeh.pydata.org/en/latest/docs/user_guide/quickstart.html
- http://bokeh.pydata.org/en/latest/
- http://nbviewer.jupyter.org/github/bokeh/bokeh-notebooks/blob/master/index.ipynb

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

Карты тоже можно строить из коробки. С ноутбуками тоже из коробки работает.

#data_science
Читая документацию Keras натолкнулся на такую вещь как Tensorboard.

Занятная презентация про его возможности.
- https://goo.gl/NxiTtG
- https://goo.gl/dTbrx9

Это софт от Гугла, который позволяет визуализировать и анализировать модель на tensforflow.

#data_science
Интересное в мире Интернета:
- Ben Evans - https://goo.gl/MJSzrv
-- Очередной отчет Stack Overflow про географию разрабов - в этот раз про мобильную разработку - https://goo.gl/KW2NVY
-- Бэн Эванс про машины с автопилотом - https://goo.gl/RF714A
-- Uber выбрал CEO - https://goo.gl/8BHHdA
-- Подкаст про автономные автомобили - https://goo.gl/eWZsbJ
-- Apple отказывается от своих амбиций в построении автомобилей с автопилотом - https://goo.gl/aWViXH
-- Новые фичи Android 8 - какое-то все..лайтовое по сравнению с прошлыми крупными релизами - https://goo.gl/4Pvdxv
-- Забавные кейсы применения QR в Китае - https://goo.gl/ntzcx4
-- Как работает генерация голоса в Siri - https://goo.gl/c81vG8
-- Еще раз про полигоны Гугла для тестирования своих наработок в беспилотных авто - https://goo.gl/65q6EA

#internet
Интересное в мире ML/DS:
-Import AI - https://goo.gl/ASUWB5
-- Обзор текущего состояния в RL - https://goo.gl/UnLNj4
-- Распознавание людей по походке - https://goo.gl/VV6tqS
-- Железо от Microsoft для машинного обучения в разработке - https://goo.gl/vQvSwa
-- Тут в презентации есть про современное железо в целом - https://goo.gl/ijCnwL
-- MNIST для моды - https://goo.gl/RrqNm3
-- Microsoft добились ошибки 5% в распознавании речи - https://goo.gl/6162uy
-- Для сравнения текущие скоры:

2017: Microsoft: 5.1%*
2017: IBM: 5.5%
2016: Microsoft: 5.9%
2016: Microsoft: 6.3%
2016: IBM: 6.9%

#data_science
Для совсем жестких извращенцев - нашел статью про то, как использовать Cython для очень быстрой работы функций. По сути C, который вызывается кодом на питоне. Может пригодится.

- http://www.pyimagesearch.com/2017/08/28/fast-optimized-for-pixel-loops-with-opencv-and-python/
- http://www.perrygeo.com/parallelizing-numpy-array-loops-with-cython-and-mpi.html

#python
Смеха ради прогнал Squeeze-net на fashion mnist - все равно занимает 5 минут времени - получается из коробки 90% точности при тренировке за пару минут (1 секунда на эпоху).

Если вы только начинаете учиться нейросетям и keras - может будет полезно в сочетании с cyclical learning rate.

- Датасет - https://goo.gl/RrqNm3
- http://resources.spark-in.me/squeeze_net_mnist.html
- resources.spark-in.me/squeeze_net_mnist.ipynb

Также если вам нужен пример Squeeze-net - тоже может пригодиться.

Занятно сравнить - лучшие бенчмарки авторов датасета занимают часы тренировки при слегка худшей точности (89%).

#data_science
Еще прочитала недавно очень хороший и ободряющий пост про изучение нового (правда, про Data Science, но к языкам тоже подходит). Например, совет про то, что надо сфокусироваться на собственной траектории.

We naturally compare ourselves to others and tend to judge our own skills in terms of other people’s skills. The problem with this is that as our understanding improves, we tend to change our measures of comparison to more and more accomplished people. This is especially a problem when we compare our own general understanding of an area to that of specialists. For instance, you might have a good general understanding of neural networks, but if you compare yourself to someone who studies them full time, your understanding will obviously be pretty paltry. This kind of comparative thinking leads to always feeling insufficient, because no matter who you are or how much you know, there is always somebody who will know more.

A better approach is to focus on trajectory. Ask whether you are making progress rather than whether you are relatively successful. Think about what you knew yesterday and feel good if you learned a bit more today. Over time that approach will lead to much better understanding with much less suffering.

Очень, ОЧЕНЬ хороший совет. О чем-то подобном говорила и Барбара Оукли (сосредоточиться на процессе, а не на результате), но она не затрагивала проблему перфекционизма, который заставляет нас все время сравнивать себя с другими.

Я прохожу сейчас это с другой областью знаний, которой занимаюсь всего 8 месяцев от силы, но и с языками это очень хорошо помню.

Помню, когда устроилась на работу в один московский инвестбанк, и английский я на тот момент учила года 1.5, но уже владела им на неплохом уровне – мне пришлось писать аналитически-рекламные меморандумы на английском, и моя коллега, выпускница МГИМО, их редактировала. Я помню, что очень страдала от того, как она наслаждалась подчеркиванием моих ошибок, а следовало бы радоваться, что я после 1.5 лет изучения языка с нуля способна производить 50-60-страничные связные тексты, пусть и с ошибками и не всегда корректными речевыми сочетаниями.

И когда переехала в Испанию – чувствовала себя очень неадекватной на фоне своей семьи, где каждый способен с легкостью переключаться между 3-4-5 языками, и очень страдала по этому поводу, а следовало бы радоваться тому, как я быстро нагоняю людей, которые в мультиязычной среде существуют всю свою жизнь, и в итоге уже практически догнала. И каждый день надо было радоваться тому, что я все больше понимаю, все лучше вникаю, и какая я молодец.

Я просто хотела подчеркнуть, что вы, вот именно вы, каждый из вас – вы герой уже потому, что каждый день узнаете немного больше про тот язык, который решились изучать (или что-то другое). Каждая прочитанная книга, каждое выученное правило, каждое занятие с репетитором или в школе, каждая новая серия в оригинале – продвигают вас из состояния, где вы не понимали ничего, туда, где вы уже намного лучше понимаете, читаете, говорите, пишете.

И не надо сравнивать себя с носителями. Не надо сравнивать себя с людьми, которые целенаправленно учили языки в университете 5 лет, с людьми, которые жили за границей, которые зарабатывают себе этим на существование. Со специалистами из цитаты, в общем. Сравнивайте себя – с собой.

Вы уже так много добились, а впереди еще больше.
Если вы меняете свой профиль или изучаете что-то новое / сложное и сомневаетесь в своих силах - просто прочитайте эту статью
- http://blog.shotwell.ca/2017/08/29/advice-for-non-traditional-data-scientists/

Возможно вы найдете в ней знакомые вам паттерны)