• Переправа, переправа! Берег левый, берег правый… или мысли вслух о Яндекс.Телемост
    +10
    смешать в кучу нужное и ненужное пользователю и толкать пачкой

    Где-то я уже такое видел с месяц назад
  • Все российские школы оборудуют системой «Оруэлл» с функцией распознавания лиц от NtechLab
    +6
    Вроде бы не Ntechlab'a, купленные системы Ntechlab'a это FaceT и FindFace, а Оруэлл это непосредственно та, что внедряется (на базе купленных модулей) если правильно понял, но название отличное, да :)
  • В начале этого года Python сместил Java и стал вторым по популярности языком программирования среди разработчиков
    0
    Как его в админку сайта впилить?

    Смотрите в сторону Django, Flask и много других, это фреймворки для написания тех самых сайтов, то есть то, что обычно называется бэкенд, пишется на питоне
  • В начале этого года Python сместил Java и стал вторым по популярности языком программирования среди разработчиков
    0
    Вы просто всех запутали своей ошибкой, это не графический IDE, это графический редактор GUI. В общем случае это не имеет отношения к языку. Посмотрите в сторону Qt creator или Glade,
  • В начале этого года Python сместил Java и стал вторым по популярности языком программирования среди разработчиков
    0
    Гвоздями-то зачем?) Есть и есть, никому не мешает, есть не просит :)
  • В начале этого года Python сместил Java и стал вторым по популярности языком программирования среди разработчиков
    +4
    А что такое «IDE графический»? Может, я не так понял, есть же PyCharm
  • Две столичные сети кофеен ввели систему распознавания лиц покупателей. Юристы ожидают исков
    0
    Тут такое дело, что «хорошо бы если бы юрист В ТЕМЕ прокомментировал», а есть ли такие сейчас?)
    Ну и «определенные цели» очень разно можно трактовать, мне видится, что это съемка именно этого человека (слежка), а не съемка толпы, то есть мы не знаем заранее попадет ли именно этот человек в кадр. Где бы вот найти нормальное описание этого.
  • Две столичные сети кофеен ввели систему распознавания лиц покупателей. Юристы ожидают исков
    0
    Судя по всему в случае общественных мест оно как бы не совсем персональные данные:
    Такое согласие [на обработку и хранения персональных данных] не требуется в случаях, когда:

    2) изображение гражданина получено при съемке, которая проводится в местах, открытых для свободного посещения, или на публичных мероприятиях (собраниях, съездах, конференциях, концертах, представлениях, спортивных соревнованиях и подобных мероприятиях), за исключением случаев, когда такое изображение является основным объектом использования;

  • Книга «Знакомство с PyTorch: глубокое обучение при обработке естественного языка»
    0
    В общем согласен, в частности не очень — по-моему есть более менее устоявшийся перевод (формально это, конечно же, не перевод дословный, а перевод термина) который встречаю сильно чаще других — векторное представление слова/вектор слова (у вас, кстати, есть). В русском тексте смотрится вполне органично, а вложения… Я прочитал отрывок и понял, что английский текст я понимаю лучше :)
  • Вам недоступны 80% данных вашей компании. Что с этим делать?
    0
    Я из тех минусующих, который смотрел, диктора очень сложно слушать, информация не какая-то очень новая и актуальная (для меня), рассчитано на совсем другую аудиторию. Статья может и полезная, но только после добавления самой статьи.
  • Рекомендательные системы: идеи, подходы, задачи
    0
    Все как всегда, определяете метрику «успешности рекомендации», и на основе нее любым известным методом оптимизации (от «на глазок» до градиентного спуска) подбираете параметры объединения, а методов объединения много: голосование, взвешенное голосование, стэкинг и т.д. Главное здесь решить что такое «правильная рекомендация» :)
  • Как Мегафон спалился на мобильных подписках
    –1
    Скажи, а правда что у вас есть некий «KPI», обязывающий в каждой беседе использовать «смайлики»?

    Справедливости ради, есть ресерчи (не очень научные), которые говорят что emoji в тет-а-тет беседе (факт наличия) положительно влияет на реакцию собеседника :)
  • Распознавание номеров. Как мы получили 97% точности для Украинских номеров. Часть 2
    +3
    При разных попытках запуска у нас точность могла «прыгать» от 87% до 97%.

    Дело не только в данных, но и в вашем процессе обучения — высокий статичный lr, SGD. Попробуйте поменять SGD на Adam или RMSProp и меняйте (в общем случае уменьшайте, но есть и извращения вроде циклических изменений) learning rate, например, как здесь

    Также есть замечательная штука кросс-валидация, которая позволяет получать более стабильный результат от запуска к запуску (по сути это усреднение результатов n запусков с разными наборами train и val)
  • Senior Engineer в поисках работы. О задачах на технических собеседованиях и теоретических вопросах
    0
    Я не исхожу из этой предпосылки, я лишь говорю, что проверка программиста на клавиатуре более репрезентативна, чем на листочке.
    Собеседование на программиста не должно быть тестом на стрессоустойчивость, оно должно быть собеседованием на программиста =)
  • Senior Engineer в поисках работы. О задачах на технических собеседованиях и теоретических вопросах
    0
    Я немного запарился, извиняйте, у вас все норм, но еще раз, я говорил совсем не про это, я говорил про удобство редактирования.
    P.S. я говорил про такой вариант.
  • Senior Engineer в поисках работы. О задачах на технических собеседованиях и теоретических вопросах
    0
    Извините, но я не совсем понимаю, о чем вы.
  • Senior Engineer в поисках работы. О задачах на технических собеседованиях и теоретических вопросах
    –1
    Согласен, но в вашем примере будет
    def solve():
        egg()
        spam()
    
    def spam():
        pass
    def egg():
        pass

    Что работать не будет.
  • Senior Engineer в поисках работы. О задачах на технических собеседованиях и теоретических вопросах
    0
    А почему неправильно-то?

    Ну потому что методы должны быть объявлены до использования, иначе «name 'egg' is not defined»

    но можно сделать так

    А можно взять редактор и не делать людям мозг -_-
  • Senior Engineer в поисках работы. О задачах на технических собеседованиях и теоретических вопросах
    +1
    Этот разговор начинает затягиваться по непонятным для меня причинам.

    В основе моей позиции простейший постулат и я искренне не понимаю как можно считать по-другому:
    Программист работает на клавиатуре, не на листочке, значит, и проверять его надо на клавиатуре, на привычным инструменте, а не заставлять забивать гвозди дрелью. Здесь не противопоставление листочек — IDE, здесь противопоставление ручка — клавиатура.
  • Senior Engineer в поисках работы. О задачах на технических собеседованиях и теоретических вопросах
    0
    Немножко демагогия, но ладно.
    Во-первых, если мы про Python, то это синтаксически неправильно.
    Во-вторых, во время работы над solve я хочу видеть сигнатуру методов, при этом писать их после solve я не могу, потому что не знаю какой длины будет solve.
    В любом случае, посыл не про это :)
  • Senior Engineer в поисках работы. О задачах на технических собеседованиях и теоретических вопросах
    0
    Сначала хотел ответить по пунктам, но мне уже лень, извиняйте =)
    Коротко:
    1. Заставлять писать кандидата на листочке — неуважение к нему, я не хочу работать в компании, которая изначально меня не уважает.

    2.
    проверка знаний и калибровка уровня кандидата

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

    3. Чем листочек лучше редактора с подсветкой? Хоть одна «конструктивная» причина?

    P.S. А по поводу вашего «сужу по опыту» у вас нет бОльшей части картины мира, поэтому выводы делать не очень дальновидно. Если бы провели 10000 интервью и половина из них была с листочком, а половина нормальных и вы могли бы снять все метрики — тогда да, ваш опыт что-либо значил, а пока вы выдаете желаемое за действительное, опираясь на дисбалансные данные и личные ощущения, а тут «здравствуйте» систематической ошибке выжившего, ложной корреляции и другим классным штукам.
  • Senior Engineer в поисках работы. О задачах на технических собеседованиях и теоретических вопросах
    +3
    Хотите конструктива, его есть у меня:
    1. Например, я хочу сперва решить основную задачу, а потом сосредоточиться на деталях. Что я делаю в редакторе?
    def spam():
        pass
    
    def egg():
        pass
    
    def solve():
        ...
        spam()
        ...
        egg()


    И после того как разберусь с solve(), я вернусь к spam() и egg(). Как реализовать это подход на листочке? Оставлять место? Продумывать заранее?

    2. Мне нравится итеративный подход, я «думаю кодом», я использую редактор как буфер мыслей, постоянного меняю код, выделяю методы если вижу в них необходимость и т. д., тут ваш листочек тоже не позволит это сделать, извольте сразу писать правильно.

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

    4. Когда человек пишет решение в редакторе под присмотром интервьюера, второй может наблюдать за ходом мысли, как и что он исправляет и меняет, что вы увидите в случае листочка? Правильно, как человек сидит и смотрит в одну точку.

    5. Писать код от руки непривычно, человек уже под стрессом и в неудобной обстановке, так вы еще добавляете один фактор, который мешает, не получая преимуществ кроме вымышленных «думает, перед тем как написать» (wat?).

    Итого: собеседование на листочке подходит только для эгоистичных интервьюеров, которые рассматривают собеседования как проверку кандидата на прочность в экстренных условиях, в которых ему не придется работать, а не как равный диалог о будущем кандидата в компании.
  • Senior Engineer в поисках работы. О задачах на технических собеседованиях и теоретических вопросах
    +1
    zuko3d:
    Лично я, когда провожу собеседования, обязательно даю задачу, которую надо написать «без гугла». Желательно — на листке бумаги. Потому что когда человек пишет рукой на листке бумаги — у него нет возможности что-то легко поправить, где-то вставить строчку кода.

    Так в том-то и дело, что человек не про обобщение говорит, а про прям листочек, именно к этому притензия.
  • Senior Engineer в поисках работы. О задачах на технических собеседованиях и теоретических вопросах
    +1
    В тексте вакансии я хочу узнать о самой работе, о функциях, обязанностях и т.п., а не о процессе найма.

    А процесс найма это тоже «о компании».

    Каким же тогда, по-вашему, образом в Google и Facebook работают тысячи программистов

    Собеседовался в гугл и яндекс — писал код клавиатурой. Большие компании инертны и дольше переходят на нормальные способы. Ваше «думание перед тем как написать на листочке» от создателей «писать реферат от руки чтобы запомнилось» — это пережиток прошлого, в этом нет ни романтики, ни смысла. Гипербола — заставляйте писать код на бересте — там цена ошибки выше.

    Вы намеренно проигнорировали слова о том, что рекрутер всегда предупреждает человека?

    Я был бы рад, если бы информация о процессе собеседования была в вакансии, это просто личная хотелка, посыл был совсем не в этом предложении.
  • Senior Engineer в поисках работы. О задачах на технических собеседованиях и теоретических вопросах
    +4
    Как раз таки место, просто вы понимаете, что после этого к вам никто не придет на чудесное собеседование, поэтому и тяните до последнего. Если бы это было круто и правильно — об этом говорили бы сразу, но вы прекрасно понимаете, что с этим «что-то не так».
  • Граали соревнования Telecom Data Cup. Самое жаркое впереди
    +1
    Имеется ввиду подсказки понимания данных, данные анонимизированы и зашифрованы, и поэтому данная информация _может быть полезна_ (точнее она гарантированно полезна, вопрос в том, как ее учесть). В этом соревновании (данные непонятны) такие подсказки важны.
  • Написание собственной работоспособной ОС за полгода
    +4
    Спасибо за статью, интересно почитать подробней. А при чем тут в хабах Brainfuck? Или все-таки есть кусочки на нем?)
  • Машинное обучение: схватка с комнатным слоном
    0
    Справедливости ради, я ознакомился с исходной статьей на arxiv (ссылка в начале) и там все не так плохо (больше инфы и не такие громкие выводы), тут имеет место «ученый изнасиловал журналиста» немного.
  • Машинное обучение: схватка с комнатным слоном
    +2
    Статья бредовая, потому что «исследователи» нашли тест (сомнительный, прямо скажем — я вот не сразу нашел там слона, при том что я _знал_ что нужно искать слона), на которым нейросеть ошиблась: «Ага, попался!». Напоминает «вот когда в шахматы начнет выигрывать… ну вот когда в Го тогда точно»!
    Какая польза от этого исследования? Что сети ошибаются? Да, и сейчас уже меньше, чем люди во многих, но не во всех задачах. Или в том, что в поиске слона в определенной комнате сеть хуже человека (а это вопрос, так как еще раз, я слона вот не нашел). А может, еще вспомним, что сеть обучается на маленьких изображениях? Посмотрим, как человек найдет на этой шедевральной картинке слона и остальные объекты, когда вся картинка будет размером 300х300.
    Про пропавшую чашку отдельный смех, судя по картинке — выставлен порог в 50% уверенности, на картинке просто нет кандидатов с меньше уверенностью (а на выходе сети есть), то есть если чашка детектировалась с 50% вероятностью, а после слона с 49% — то на картинке ее не будет, а разницы почти никакой.
    Вот именно поэтому статья и бредовая.

    P.S. А моя (точнее, первая попавшаяся) нейросеть слона нашла
    image

  • Губозакаточная машинка для этикеток — разворачиваем цилиндрическое искажение программно
    0
    Рекомендую еще посмотреть SSD (сильно больше вариантов реализаций, к тому же Yolo очень кастомное решение и порог входа там выше) и TensorFlow Lite
  • Губозакаточная машинка для этикеток — разворачиваем цилиндрическое искажение программно
    0
    А вы случайно не знаете где достать базу винных этикеток? :)

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

    Просто вы там писали про угол наклона камеры, а если исправить общее искажение (бутылка была не под 90 градусов к камере), то его влияние нивелируется.
  • Губозакаточная машинка для этикеток — разворачиваем цилиндрическое искажение программно
    0
    И прям в реал тайме выводить оценку рядом с каждой бутылкой на полке! Хочу такое, очень :)
  • Губозакаточная машинка для этикеток — разворачиваем цилиндрическое искажение программно
    0
    Дело в том, что здесь у нас строгая математическая модель цилиндра и строгая математическая модель проекции цилиндра на плоскость

    Тогда я вас не так понял, я про весь комплекс задач: нахождение нужных точек на этикетке, распознавание текста и самой этикетки. Исключительно для выравнивания цилиндра вопросов нет :)
    то он осуществляет постоянную аллокацию/деаллокацию маленьких объектов

    Ну, массивы Numpy вполне себя ведут как массивы C++ (то есть им надо заранее указать размер, их можно передавать по ссылке, переписывать значения без аллокаций и тд), так же есть все необходимые операции для работы с этими массивами. Я не спорю, что дефолтные типы данных питона (списки, словари и тд) медленные, я также не спорю, что плюсы быстрее, но при правильном использовании питона в CV он уступает в единицы раз (1,5-2), а не в сотни, а скорость разработки значительно быстрее все-таки. Поэтому для прототипирования питон лучше, в продакшене лучше переписать конечно. Если совсем заморочиться, то можно написать преобразование Хафа на PyTorch или TF и гонять их на видеокарте со скоростью звука.
    А от вызова написать быстрое преобразование Хафа спешу откланяться)
  • Губозакаточная машинка для этикеток — разворачиваем цилиндрическое искажение программно
    +1
    Обратными перспективными преобразованиями по тем точкам с сетки поверхности (картинка в статье есть), а тут код github.com/Nepherhotep/unwrap_labels/blob/master/unwrap.py
  • Губозакаточная машинка для этикеток — разворачиваем цилиндрическое искажение программно
    +1
    Машинное обучение не нужно там, где можно написать алгоритм

    Везде можно написать алгоритм => машинное обучение не нужно?
    Видите ли, мне кажется, что у вас не совсем правильное понимание машинного обучения.
    Вот, например:
    Получение градиента изображения — хорошо. Нахождение линий цилиндра — тоже, хотя надо написать свое преобразование Хафа

    Свертки в процессе обучения построят свое преобразование, которое намного лучше будет решать конкретно эту задачу. Все аналитические преобразования по сути частные случаи того, что сеть может построить сама (за редкими исключениями). И как правило, качество будет лучше.
    Еще вы почему-то не замечаете, что основную работу делают Google и Tineye, вы думаете, они работают на аналитических алгоритмах?
    Машинное обучение на текущем этапе лучший способ решить подобные задачи, смиритесь и используйте это, а не противьтесь. Аналитика — это подбор методов и параметров силами человека, ML — силами машины.
    Правда, на Питоне его не напишешь, слишком медленный язык, разве что на Cython.

    Не уверен, но думаю тот же Numpy не сильно медленней будет, в задачах CV слухи о низкой производительности питона в большинстве случаев слухи, так как очень много самых разных производительных библиотек, где питон дергает только методы, которые чаще всего на C/C++.
  • Губозакаточная машинка для этикеток — разворачиваем цилиндрическое искажение программно
    0
    Мы решали похожу задачу — поиск картины по фото пользователя (250к картин, время обработки запроса ~ 1 сек), думаю, метод к вам вполне применим, вот даже пару статей написали: habr.com/company/singularis/blog/421187
    Вам добавить поверх распознавание текста, которое у вас уже есть, и вообще конфетка.

    алгоритм не учитывает искажение перспективы самого эллипса

    Может не понял, а в чем проблема взять точки ACFD, сказать, что они прямоугольник (для большинства этикеток это так), и сделать обратное перспективное преобразование на основе этого, эллипсы волшебным образом разве не исправятся тоже?
  • AI, практический курс. Музыкальная трансформация на основе эмоций
    0
    Вы про «Элементарная теория музыки»? Спасибо за ссылку. Да, вы, наверно, правы, это оффтоп будет.
  • AI, практический курс. Музыкальная трансформация на основе эмоций
    0
    А напишите, пожалуйста, вводную статью по математической теории музыки и вот этим всем определениям (если еще и программирование будет — вообще отлично), а то приходится при случае по осколкам собирать противоречивые сведения.
  • Линус Торвальдс отказывается от жесткого стиля и берет тайм-аут
    0
    Я, видимо, очень плохо выражаю свои мысли. Я именно про то, что оно не должно скатываться к крайностям, а быть посередине, но просто нынешние тенденции говорят, что это настойчивое движение к лицемерным формам, и именно это мне и не нравится.
  • Линус Торвальдс отказывается от жесткого стиля и берет тайм-аут
    0
    Так о том и речь, я не говорю что всех надо в жопу посылать, я говорю, что эти «границы вежливости» можно задирать до бесконечности и каждая следующая ступень, например, «давайте добавлять „многоуважаемый господин старший разработчик отдела внедрения“ перед каждым обращением?» будет казаться нормальной (а что, очевидно, что это хорошо и уважительно).
    Кроме уважения есть другие критерии успешности общения (вспомните байку про среднюю длину приказа во второй мировой), а не только вежливость, и их стоит учитывать и искать баланс, нельзя просто сказать «чем вежливее тем лучше», иногда резкий аргументированный тон оправдан.
    И да, ваше «нет и вопрос не обсуждается» — грубо и невежливо, завтра так нельзя будет говорит потому что кому-то там не нравится. Таким процессам нужно сопротивляться, иначе завтра забанят слово «нет» потому что отказы обижают.