• Две столичные сети кофеен ввели систему распознавания лиц покупателей. Юристы ожидают исков
    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
    Так о том и речь, я не говорю что всех надо в жопу посылать, я говорю, что эти «границы вежливости» можно задирать до бесконечности и каждая следующая ступень, например, «давайте добавлять „многоуважаемый господин старший разработчик отдела внедрения“ перед каждым обращением?» будет казаться нормальной (а что, очевидно, что это хорошо и уважительно).
    Кроме уважения есть другие критерии успешности общения (вспомните байку про среднюю длину приказа во второй мировой), а не только вежливость, и их стоит учитывать и искать баланс, нельзя просто сказать «чем вежливее тем лучше», иногда резкий аргументированный тон оправдан.
    И да, ваше «нет и вопрос не обсуждается» — грубо и невежливо, завтра так нельзя будет говорит потому что кому-то там не нравится. Таким процессам нужно сопротивляться, иначе завтра забанят слово «нет» потому что отказы обижают.
  • Линус Торвальдс отказывается от жесткого стиля и берет тайм-аут
    +1
    Ну не отвечать тоже своего рода «невежливо», некоторых так даже оскорбить можно.
  • Линус Торвальдс отказывается от жесткого стиля и берет тайм-аут
    0
    Какая разница, что там эти «агрессивные группы посчитают»

    ser_rostr2 беспокоится о них, ему есть дело, поэтому и отвечаю
    Они никого не волнуют

    Они волнуют меня и ser_rostr2, а так как мы не «никто», то «У тебя тут ошибка»
    Судя по развитию ситуации

    Как вы ее видите, а не как она на самом дела, правда? ;)
    А вы тут пытатесь быть святее папы римского

    Я думаю, быть святее папы римского очень просто, если верить слухам :)
  • Линус Торвальдс отказывается от жесткого стиля и берет тайм-аут
    +1
    который будет понятен и принят и агрессивными и мирными и воспитанными группами

    Тезис из воздуха, агрессивные группы могут посчитать вежливое общение за слабость. Ну и контекст решает, «Господа, ну полно вам» не всегда уместно, например.
    Если ты не можешь переступить через себя и не обосрать кого-то, пусть даже он этого заслуживает, то ты слаб.

    Сейчас бы ярлыки вешать, дипломатия-то сила, но в дипломатии тоже есть силовые приемы.
  • Линус Торвальдс отказывается от жесткого стиля и берет тайм-аут
    +1
    Как вам уже сказали ранее, «вежливое» обращение может быть причиной дальнейшего разговора, а оно вам не надо. Также можно спросить зачем искусственно ограничивать инструментарий донесения мысли только вежливо-лицемерными вариантами?
  • Линус Торвальдс отказывается от жесткого стиля и берет тайм-аут
    0
    Стоит разделять лицемерие и приличия

    Также стоит разделять обоснованность резкого ответа и необоснованность оного — можно вполне себе грубо и аргументированно отвечать, а не пустыми выкриками.
  • Линус Торвальдс отказывается от жесткого стиля и берет тайм-аут
    +2
    Да тут и так оставляют «замечания» по поводу орфографии, когда больше ответить нечего :) А по сути, нужно понимать, что есть разные вещи — неоправданная грубость/резкость, и резкость как степень градации недовольства/несогласия. Отвечать резко без повода — это плохо, но даже в той же статье автор отмечает, что не может сказать что высказывания были без повода. Лично мне комфортней общаться «открыто» без завесы из приличий, сквозь которую не поймешь толком что человек имеет ввиду.
    Ну и да, это все само собой зависит от контекста происходящего, с малознакомыми людьми так общаться не стоит, но совместная работа это все-таки отдельная тема, где я считаю это допустимо в «разумных» пределах.