Pull to refresh
128
0
Egor Malykh @devpony

User

Send message

Если бы кармы не было, интересные технические статьи и полезные технические комментарии сначала бы потонули в тонне шлака, а затем и вовсе исчезли бы. С комментариями это уже отчасти происходит после упрощения системы регистрации. Так что да, основа хабра — система кармы. Она выступает необходимым естественным регулятором сообщества и неплохо справляется.

Ну загуглите resnet, например. В гугле первая ссылка на оригинальную статью, в яндексе — какая-то херня. И так постоянно, работы на архиве иногда даже по полному названию не ищет.

Я, если честно, только до середины смог дочитать, дальше не выдержал.

Пусть x — зарплата жены, y — зарплата мужа, x' и y' — новые зарплаты. Словесное описание складывается в следующую систему:


x' = 1.5x
y' = 1.3y
x' + y' < x + y

Нет?

а) В Барселоне может и незачем, но на русскоязычном коллективном блоге умение правильно и грамотно излагать свои мысли весьма важно. Претензия скорее к тому, кто эту "статью" пропустил.
б) В должностные обязанности исполнительного директора не входит написание отчётов и писем?

Зарплата составляет всего 60% от того что мы запросили изначально, но по факту на 50% больше того, что получала я и на 30%, чем получал муж. По итогу все равно меньше чем сумма наших зарплат, но я надеялась найти работу.

У вас отрицательная зарплата была?

Прошу прощения, конечно, но орфография в статье уж никак не тянет на уровень исполнительного директора.

Только в интерпретаторе.

Для Torch есть AD, так что в теории он может использоваться для построения динамических графов. Модуль torch.nn же действительно представляет собой коллекцию заранее написанных и оптимизированных блоков.


В целом, да, Torch нельзя назвать настолько же динамическим, как PyTorch, однако, на мой взгляд, он намного ближе к PyTorch, чем к представителям двух других групп.


Про Chainer не знал, спасибо. Посмотрел сейчас: он выглядит точь в точь как PyTorch вплоть до названий класов и методов. Интересно, у них общие корни или они просто синхронно пришли к похожей структуре и похожему API?

Конкретных бенчмарков я не видел, но по субъективным ощущениям на моих задачах PyTorch работает с той же скоростью, что и TensorFlow. Если погуглить, то на первой странице выдачи окажутся ссылки на весьма неоднозначные посты и issue. У кого-то PyTorch в два раза обгоняет TensorFlow по скорости, у кого-то работает медленнее. Нельзя однозначно сказать, что PyTorch медленнее остальных фреймворков, но и рекорды он никакие, конечно, бьёт.


Разработчики утверждают, что сейчас они активно трудятся над JIT-компилятором. Когда он появится вопрос производительности должен будет отпасть сам собой.

Пожалуй. Здесь я думал скорее о Theano, который действительно генерирует код на Си, компилирует его и запускает.

Тензоры не хранят никакой дополнительной информации сами по себе, для этого используется обёртка torch.autograd.Variable.


Дополнительная память выделяется только при вызове backward() и только в том объеме в каком она требуется.


Inplace функции add_() и sub_() допустимы для автоматического дифференцирования.

1) PyTorch ничего сам не оптимизирует, всё в руках программиста.


Если вы напишите


a = x + y - z

то два промежуточных тензора будут созданы.


Если же вы напишите


a = x.add(y).sub_(z)

то будет создан только один промежуточный тензор.


Если вы напишите


a = x.add_(y).sub_(z)

то ни одного тензора не будет создано, содержимое x будет изменено, a и x будут указывать на один и тот же тензор.


2) Нет, не умеет.


3) Пока нет. В качестве основного способа деплоя моделей авторы видят конвертацию в формат Caffe2 или TensorFlow. Для написания же расширений в скором времени должен появиться интерфейс на C.

Уже давно есть Ivory. Haskell в качестве мета-языка намного выразительнее и безопаснее, чем lua.

Есть хорошая книжка по теме:
Математическое моделирование и исследование устойчивости биологических сообществ


Можно без постановки экспериментов проанализировать к чему сойдутся популяции при всевозможных начальных условиях.

Ну как-бы


Prelude Data.Monoid> getSum $ mconcat $ map Sum []
0
Prelude Data.Monoid> getProduct $ mconcat $ map Product []
1

С другой стороны я согласен, что вводить HighInf подобным способом — грубо и некрасиво, я бы использовал для этих целей maxBound.

Спасибо, интересно.

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


А в вашей постановке задачи хватило бы и евклидовой дистанции на трёхканальных изображениях, не стоило так заморачиваться.

Ну то есть, для ушей Go'шника есть подкаст, в котором смеются над сложностями функционального программирования.

А вы не слушали этот выпуск? Там наоборот рассуждают о недостатках Go, а смеются не над функциональным программированием, а конкретным случаем его неуместного и неправильного использования.

Information

Rating
Does not participate
Location
Berlin, Berlin, Германия
Registered
Activity