Если бы кармы не было, интересные технические статьи и полезные технические комментарии сначала бы потонули в тонне шлака, а затем и вовсе исчезли бы. С комментариями это уже отчасти происходит после упрощения системы регистрации. Так что да, основа хабра — система кармы. Она выступает необходимым естественным регулятором сообщества и неплохо справляется.
Ну загуглите resnet, например. В гугле первая ссылка на оригинальную статью, в яндексе — какая-то херня. И так постоянно, работы на архиве иногда даже по полному названию не ищет.
а) В Барселоне может и незачем, но на русскоязычном коллективном блоге умение правильно и грамотно излагать свои мысли весьма важно. Претензия скорее к тому, кто эту "статью" пропустил.
б) В должностные обязанности исполнительного директора не входит написание отчётов и писем?
Зарплата составляет всего 60% от того что мы запросили изначально, но по факту на 50% больше того, что получала я и на 30%, чем получал муж. По итогу все равно меньше чем сумма наших зарплат, но я надеялась найти работу.
Для Torch есть AD, так что в теории он может использоваться для построения динамических графов. Модуль torch.nn же действительно представляет собой коллекцию заранее написанных и оптимизированных блоков.
В целом, да, Torch нельзя назвать настолько же динамическим, как PyTorch, однако, на мой взгляд, он намного ближе к PyTorch, чем к представителям двух других групп.
Про Chainer не знал, спасибо. Посмотрел сейчас: он выглядит точь в точь как PyTorch вплоть до названий класов и методов. Интересно, у них общие корни или они просто синхронно пришли к похожей структуре и похожему API?
Конкретных бенчмарков я не видел, но по субъективным ощущениям на моих задачах PyTorch работает с той же скоростью, что и TensorFlow. Если погуглить, то на первой странице выдачи окажутся ссылки на весьма неоднозначные посты и issue. У кого-то PyTorch в два раза обгоняет TensorFlow по скорости, у кого-то работает медленнее. Нельзя однозначно сказать, что PyTorch медленнее остальных фреймворков, но и рекорды он никакие, конечно, бьёт.
Разработчики утверждают, что сейчас они активно трудятся над JIT-компилятором. Когда он появится вопрос производительности должен будет отпасть сам собой.
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.
Нейронные сети, безусловно, нужны. Конкретно в этом случае можно было бы взять оригинальные необрезанные изображения, обучить сеть, используя аугментацию, и получить классификатор, не зависящий от масштабирования, сдвигов и вращений.
А в вашей постановке задачи хватило бы и евклидовой дистанции на трёхканальных изображениях, не стоило так заморачиваться.
Ну то есть, для ушей Go'шника есть подкаст, в котором смеются над сложностями функционального программирования.
А вы не слушали этот выпуск? Там наоборот рассуждают о недостатках Go, а смеются не над функциональным программированием, а конкретным случаем его неуместного и неправильного использования.
Если бы кармы не было, интересные технические статьи и полезные технические комментарии сначала бы потонули в тонне шлака, а затем и вовсе исчезли бы. С комментариями это уже отчасти происходит после упрощения системы регистрации. Так что да, основа хабра — система кармы. Она выступает необходимым естественным регулятором сообщества и неплохо справляется.
Ну загуглите resnet, например. В гугле первая ссылка на оригинальную статью, в яндексе — какая-то херня. И так постоянно, работы на архиве иногда даже по полному названию не ищет.
Я, если честно, только до середины смог дочитать, дальше не выдержал.
Пусть x — зарплата жены, y — зарплата мужа, x' и y' — новые зарплаты. Словесное описание складывается в следующую систему:
Нет?
а) В Барселоне может и незачем, но на русскоязычном коллективном блоге умение правильно и грамотно излагать свои мысли весьма важно. Претензия скорее к тому, кто эту "статью" пропустил.
б) В должностные обязанности исполнительного директора не входит написание отчётов и писем?
У вас отрицательная зарплата была?
Прошу прощения, конечно, но орфография в статье уж никак не тянет на уровень исполнительного директора.
Только в интерпретаторе.
Для 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 ничего сам не оптимизирует, всё в руках программиста.
Если вы напишите
то два промежуточных тензора будут созданы.
Если же вы напишите
то будет создан только один промежуточный тензор.
Если вы напишите
то ни одного тензора не будет создано, содержимое
x
будет изменено,a
иx
будут указывать на один и тот же тензор.2) Нет, не умеет.
3) Пока нет. В качестве основного способа деплоя моделей авторы видят конвертацию в формат Caffe2 или TensorFlow. Для написания же расширений в скором времени должен появиться интерфейс на C.
Уже давно есть Ivory. Haskell в качестве мета-языка намного выразительнее и безопаснее, чем lua.
Есть хорошая книжка по теме:
Математическое моделирование и исследование устойчивости биологических сообществ
Можно без постановки экспериментов проанализировать к чему сойдутся популяции при всевозможных начальных условиях.
Ну как-бы
С другой стороны я согласен, что вводить
HighInf
подобным способом — грубо и некрасиво, я бы использовал для этих целейmaxBound
.Спасибо, интересно.
Нейронные сети, безусловно, нужны. Конкретно в этом случае можно было бы взять оригинальные необрезанные изображения, обучить сеть, используя аугментацию, и получить классификатор, не зависящий от масштабирования, сдвигов и вращений.
А в вашей постановке задачи хватило бы и евклидовой дистанции на трёхканальных изображениях, не стоило так заморачиваться.
А вы не слушали этот выпуск? Там наоборот рассуждают о недостатках Go, а смеются не над функциональным программированием, а конкретным случаем его неуместного и неправильного использования.
Ужас.