Что стоит знать в фреймворке (для определенности pytorch):
- как строится вычислительный граф (у тензоров есть backward-функция, за которую можно дернуть для бекпропа)
- как представлять данные (условно складываем картинки в тензора [bs, channels, height, width])
- как вычисляется лосс (давайте опросом, что должно быть у сети для многоклассовой классификации в голове?)

Пояснения на всякий случай:
- в доку не подглядывать!
- FC=Linear (иначе не лезло)
- если не понимаете о чем речь => reply с вопросом
- как управлять оптимизатором (обход весов, lr scheduling, grad_clip..)
- как мерить скорость и утилизацию железа (tqdm, watch nvidia-smi, profiler..)
- как дебажить наны (forward_hook, backward_hook)
- как сериализовать модель (torch.save, jit.trace, jit.script)
+ вдогонку микровопрос про бекпроп.
У нас есть MLP (несколько Linear слоев с нелинейностями или без), можно ли инициализировать матрицу весов нулями?
+ второй микровопрос, можно ли инициализировать матрицу весов нулями в двух Linear слоях подряд?
Попробуем как в старые добрые на доске, но без доски.
Если x не нулевой и градиенты на выход придут ненулевые, то W изменится на первой итерации и дальше все будет хорошо.
Могут ли градиенты быть не нулевыми? Зависит от дальнейшего графа :) еще один сломанный FC не даст учиться Image

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Data Scientist

Data Scientist Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @dsunderhood

20 Apr
Пояснения к опросам я выложу завтра. А пока поговорим про сетки в проде.
В какой прод вы катите ML/DL модельки?
В основном на курсах по ML/DL речь идет про обучение моделек. MVP делается на слегка подправленной кодовой базе с питоном и фласками.
Моделька создается кодом, в нее подгружаются веса из чекпоинта.
Если проект не умер на первых порах, дальше пойдет эволюция.
Люди прибывают. Модельки усложняются.
Появляется легаси (и это нормально!).
Вы начинаете страдать от обратной совместимости, а она от вас, катить становится сложнее, в коде копятся валенки (скажем другой метод ресайза картинок будет стоить вам процентов acc@1 на imagenet).
Read 23 tweets
19 Apr
Про инструменты.
Я в основном пишу код на питоне, эпизодически на C++, иногда JS/bash и на чем еще придется по задаче.
Все хоббийное и учебное я пишу на Pytorch, почти все рабочее на TF.
Самый богатый источник граблей - рабочие инструменты.
Очень часто наблюдаю как люди тонну времени тратят на войну с инструментами, а не задачей.
Распространенная история - человек что-то делал, получил результаты, но им нельзя доверять => работу надо переделывать.
Имхо про фреймворки:
- конкуренция это здорово, tf был удобнее theano, pytorch удобнее tf, tf2 удобнее tf1
- не важной какой фреймворк вы используете, кодовую базу и математику сетей нужно заботать, иначе в ваших результатах буду валенки
- ....
Read 7 tweets
29 Mar
Как я попал в калифорнию. Тред
На первом курсе универа на колабе МИСиС, MIT и Сколково подружились с Олегом Уржумцевым. Нас преподы из MIT учили делать игрушки на 3D принтерах и лазерных резаках.
Чтобы попасть в эту программу надо было знать английский и уметь в сборку электроники. В этом-то я был хорош.
Read 9 tweets
7 Dec 20
На пути в JetBrains: в 2017 году я обратил внимание на статью на хабре habr.com/ru/company/gri…
Там ребята из компании @gridgain сделали копию @ApacheMahout поверх in-memory database @ApacheIgnite

Потом мне удалось с ними пообщаться вживую (помогли старые EPAM-вские связи)
Оказалось они только стартуют и челленджей непочатый край. Я начал работу над OpenSource проектом с баг-фикса в алгоритме перемножения распределённых блочных матриц и понеслось. 102 коммита, 300k+ строк кода, 15 моделей, PMC проекта.
Чем больше я пилил распределенный ML, читал статьи, писал свои, изучал код scikit-learn/Spark/dlib/tensorflow, тем больше крепло ощущение, что это мое. В какой-то момент случилась магия:
Read 4 tweets
7 Dec 20
DEThread: Перебравшись в СПб я уже вплотную занялся прокачкой навыков DE, пытаясь устроиться чистым DS. На чистого DS брали только на мало денег, поэтому я раз за разом выбирал DE проекты (presale/прототипы) и рос очень быстро, играя роль FullStackBigData
Одновременно пошел просто огромный поток джавистов, дотнетчиков, database administrators, бегущих из старых рынков в новый сияющий мир "BigData: Hadoop, Hive, Spark". В EPAM мы открыли менторинг (учеба с куратором) по BigData, через который прошло 300+ человек в 16-18 годах
Мне повезло работать с очень крутыми архитекторами и большим количеством досконально изучающих фреймворки людей. Кишки Hadoop - это нечто. Именно тогда и началось мое погружение в недра и уход в библиотекописательство. Ты глядишь - и понимаешь, что можешь говнякать не хуже. 100%
Read 5 tweets
7 Dec 20
Кстати, о "воронцовских курсах" пост - zaleslaw.medium.com/24-%D0%BB%D0%B…
Занимаясь машинным обучением в России, редкий человек избежал искушения обучиться базовым навыкам посредством знаменитого курса от Воронцова. Многие пытались использовать его как первый и единственный доступный материал и убегали в страхе, раздавленные уже первой лекцией.
Те из многих, кто имел достаточную математическую подготовку и небольшой практический опыт боготворили лекции как единственное верное учение и подход к подаче материала.
Read 9 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!

Follow Us on Twitter!