Pull to refresh
@ni-coread⁠-⁠only

User

Send message

Работа с изображениями на Python

Reading time18 min
Views105K
Тема сегодняшнего разговора — чему же научился Python за все годы своего существования в работе с изображениями. И действительно, кроме старичков родом из 1990 года ImageMagick и GraphicsMagick, есть современные эффективные библиотеки. Например, Pillow и более производительная Pillow-SIMD. Их активный разработчик Александр Карпинский (homm) на MoscowPython сравнил разные библиотеки для работы с изображениями на Python, представил бенчмарки и рассказал о неочевидных особенностях, которых всегда хватает. В этой статье расшифровка доклада, который поможет вам выбрать библиотеку под свое приложение, и сделать так, чтобы она работало максимально эффективно.


О спикере: Александр Карпинский работает в компании Uploadcare и занимается сервисом быстрой модификации изображений на лету. Участвует в разработке Pillow — популярной библиотеки для работы с изображениями на Python, развивает собственный форк этой библиотеки — Pillow-SIMD, который использует современные инструкции процессоров для наибольшей производительности.
Total votes 49: ↑49 and ↓0+49
Comments9

Как правильно «фармить» Kaggle

Reading time27 min
Views157K

image
*фарм — (от англ. farming) — долгое и занудное повторение определенных игровых действий с определенной целью (получение опыта, добыча ресурсов и др.).


Введение


Недавно (1 октября) стартовала новая сессия прекрасного курса по DS/ML (очень рекомендую в качестве начального курса всем, кто хочет, как это теперь называется, "войти" в DS). И, как обычно, после окончания любого курса у выпускников возникает вопрос — а где теперь получить практический опыт, чтобы закрепить пока еще сырые теоретические знания. Если вы зададите этот вопрос на любом профильном форуме, то ответ, скорее всего, будет один — иди решай Kaggle. Kaggle — это да, но с чего начать и как наиболее эффективно использовать эту платформу для прокачки практических навыков? В данной статье автор постарается на своем опыте дать ответы на эти вопросы, а также описать расположение основных грабель на поле соревновательного DS, чтобы ускорить процесс прокачки и получать от этого фан.

проверить глубину этой кроличьей норы
Total votes 87: ↑86 and ↓1+85
Comments15

Решение проблемы обнаружения центральной линии сосуда

Reading time9 min
Views9.3K

Суть задачи


В процессе медицинской диагностики может возникнуть необходимость исследовать сосуды пациента. Такое исследование называется ангиографией. С появлением томографов в дополнение к классической ангиографии появились методы МРТ и КТ ангиографии, которые в отличие от традиционной ангиографии, дающей только плоскую картинку в одной проекции, позволяют получить полное трехмерное представление сосудов. Для проведения таких исследований пациенту в кровь вводится контраст — специальное вещество, делающее сосуды на снимках более яркими. В зависимости от предполагаемого диагноза, врач или оценивает общую картину, или пытается найти конкретные участки сосудов, в которых возникли проблемы. Если участок сосуда сужен и пропускает меньше крови, чем должен, то это место называется стенозом.


Одна из задач врача — найти стенозы и оценить, насколько они опасны. Задача же разработчика, как обычно, облегчить работу конечного пользователя. Для этого необходимо построить полную 3D модель стенок сосуда и провести их первичный анализ. Это является большой и интересной задачей, однако, в её основе лежит более простая и известная проблема — построение центральной линии сосуда.
Читать дальше →
Total votes 43: ↑42 and ↓1+41
Comments15

Делаем проект по машинному обучению на Python. Часть 3

Reading time9 min
Views21K


Перевод A Complete Machine Learning Walk-Through in Python: Part Three

Многим не нравится, что модели машинного обучения представляют собой чёрные ящики: мы кладём в них данные и безо всяких объяснений получаем ответы — часто очень точные ответы. В этой статье мы постараемся разобраться, как созданная нами модель делает прогнозы и что она может рассказать о решаемой нами задаче. И завершим мы обсуждением самой важной части проекта по машинному обучению: задокументируем сделанное и представим результаты.

В первой части мы рассмотрели очистку данных, разведочный анализ, конструирование и выбор признаков. Во второй части изучили заполнение отсутствующих данных, реализацию и сравнение моделей машинного обучения, гиперпараметрическую настройку с помощью случайного поиска с перекрёстной проверкой и, наконец, оценку получившейся модели.
Читать дальше →
Total votes 20: ↑19 and ↓1+18
Comments1

Делаем проект по машинному обучению на Python. Часть 2

Reading time12 min
Views51K


Перевод A Complete Machine Learning Walk-Through in Python: Part Two

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

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

Весь код проекта лежит на GitHub, а здесь находится второй блокнот, относящийся к текущей статье. Можете использовать и модифицировать код по своему усмотрению!
Читать дальше →
Total votes 20: ↑19 and ↓1+18
Comments4

Нейронные сети с нуля. Обзор курсов и статей на русском языке, бесплатно и без регистрации

Reading time5 min
Views220K
На Хабре периодически появляются обзоры курсов по машинному обучению. Но такие статьи чаще добавляют в закладки, чем проходят сами курсы. Причины для этого разные: курсы на английском языке, требуют уверенного знания матана или специфичных фреймворков (либо наоборот не описаны начальные знания, необходимые для прохождения курса), находятся на других сайтах и требуют регистрации, имеют расписание, домашнюю работу и тяжело сочетаются с трудовыми буднями. Всё это мешает уже сейчас с нуля начать погружаться в мир машинного обучения со своей собственной скоростью, ровно до того уровня, который интересен и пропускать при этом неинтересные разделы.

В этом обзоре в основном присутствуют только ссылки на статьи на хабре, а ссылки на другие ресурсы в качестве дополнения (информация на них на русском языке и не нужно регистрироваться). Все рекомендованные мною статьи и материалы я прочитал лично. Я попробовал каждый видеокурс, чтобы выбрать что понравится мне и помочь с выбором остальным. Большинство статей мною были прочитаны ранее, но есть и те на которые я наткнулся во время написания этого обзора.

Обзор состоит из нескольких разделов, чтобы каждый мог выбрать уровень с которого можно начать.
Для крупных разделов и видео-курсов указаны приблизительные временные затраты, необходимые знания, ожидаемые результаты и задания для самопроверки.


Читать дальше →
Total votes 39: ↑34 and ↓5+29
Comments12

Делаем проект по машинному обучению на Python. Часть 1

Reading time13 min
Views87K


Перевод A Complete Machine Learning Project Walk-Through in Python: Part One.

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

Чтобы у вас в голове наконец сложилась цельная картина, мы предлагаем разобрать от начала до конца проект применения машинного обучения с использованием реальных данных.
Читать дальше →
Total votes 24: ↑21 and ↓3+18
Comments4

Это правильные пчелы: механическая адаптация к динамическому воздействию

Reading time8 min
Views6.9K

Разработка искусственных нейронных сетей нацелена на воссоздание своего рода искусственного мозга. Все нейроны связаны друг с другом, передают сигналы друг другу и зависят друг от друга. Чем их больше, тем сложнее и развитие будет сеть. Сегодня мы обратим внимание не на искусственные сети, а на те, что мы можем наблюдать в природе, ибо многое в технологиях человека позаимствовано именно от-туда. Но что можно сравнить с мозгом человека или с искусственной нейронной сетью? Ответ нестандартный — рой пчел. По отдельности пчелы не так интересны ученым, как в рое. Все мы знаем насколько слаженно и эффективно работает рой на благо улья. Каждая пчела выполняет определенную задачу, не мешая другим, а дополняя собой общий механизм улья, работающий безостановочно. Сегодня мы будем разбираться в необычном исследовании, пытающемся пояснить как рой пчел справляется с опасностями внешней среды и как индивидуальные особи в таких ситуациях взаимодействуют. Какую опасность ученые преподнесли бедным пчела, как они с ней справились и что это может значить для человека и науки? Ответы будем искать в докладе. Поехали.
Total votes 21: ↑21 and ↓0+21
Comments10

Культурные ценности, сделанные из пластика, начинают распадаться

Reading time8 min
Views25K

Музейные хранители торопятся придумать, как сохранить современные произведения искусства и исторические объекты, разваливающиеся на куски



Доктор Одиль Мэдден из Института сохранения Гетти в Лос-Анджелесе держит кусок деградирующего пластика, используемого в исследованиях новых методов хранения

Хранители скафандра Нила Армстронга в Национальном воздушно-космическом музее знали, что это случится. Это чудо инженерной мысли сделано из 21 слоя различных видов пластика – нейлона, неопрена, майлара, полиэтилентерефталата, каптона и тефлона.

Резиновый слой неопрена представляет собой самую большую проблему. Хотя он невидим и находится под другими слоями, он, как предполагали хранители, должен затвердеть и с возрастом стать ломким, из-за чего костюм должен приобрести твёрдость доски. В январе 2006 года скафандр сняли с витрины и поместили в хранилище, чтобы остановить деградацию.
Читать дальше →
Total votes 32: ↑30 and ↓2+28
Comments57

Забытое искусство сгибания: как в других культурах берегут позвоночник

Reading time4 min
Views72K


Чтобы узнать, правильно ли вы нагибаетесь, проведите простой эксперимент.

«Встаньте и поставьте руки на талию», — говорит Джин Кауч, уже 25 лет помогающая людям избавиться от боли в спине в своей студии в Пало-Альто. «Теперь представьте, что я уронила вам под ноги пёрышко, и прошу вас его поднять, — говорит Кауч. – В этот момент обычно все наклоняют голову и смотрят вниз».

Этот взгляд изгибает позвоночник и отправляет сигнал желудку немного съёжиться. «Вы уже начали неправильно сгибаться – вы сгибаетесь в талии, — говорит Кауч. – Почти все в США сгибаются на уровне живота».

В процессе наши спины вырисовывают букву «С» – или, как говорит Кауч, «Мы становимся похожи на орехи кешью». Иначе говоря, когда мы сгибаемся, то становимся похожими на орехи. Но во многих других частях мира люди не похожи на орехи при сгибании. Там можно увидеть нечто совсем другое.
Читать дальше →
Total votes 53: ↑46 and ↓7+39
Comments81

Kivy — фреймворк для кроссплатформенной разработки №1

Reading time7 min
Views75K

В мире кроссплатформенной разработки под мобильные платформы сейчас, наверное, как это не прискорбно, доминируют два фреймворка — Xamarin и React Native. Xamarin — потому что является «приемным сыном» компании Microsoft и, гордо размахивая костылями, активно пиарится последней, а React Native — отпрыск не менее известной Facebook, который с не меньшей долей гордости отращивает бороды уставшим на нем разрабатывать программистам. Для себя я уже давно нашел альтернативу, а тех, кто еще не знаком с фреймворком для кроссплатформенной разработки Kivy, добро пожаловать под кат…
Читать дальше →
Total votes 37: ↑26 and ↓11+15
Comments119

Жизнь в Германии глазами моей жены

Reading time12 min
Views98K


В интернете довольно много воодушевляющих статей об успешной IT-эмиграции практически в любую страну мира. Разумеется, в основном это истории успеха, пускай и тернистые, но обязательно с хэппи-эндом. Тем не менее, все мы знаем, что истории неудач могут принести даже больше пользы для исследователя, т.к. успех, порой, связан с простым везением, в то время как неудачи часто обусловлены системными причинами.

Вот я и решил спустя два с половиной года после переезда в Германию написать что-то демотивирующее про этот период моей жизни.

Я открыл свой пост с обобщениями ожиданий от Германии, который написал сразу после переезда, обнаружил там много желчи, пирамиду потребностей Маслоу, которую социологи уже давно не применяют по назначению, но не нашёл там ничего, в чём бы я действительно разочаровался.

Похоже, действительно нужно признать, что если вы переезжаете в Германию, имея на руках контракт, драма в вашей жизни на этом если не прекращается, то как минимум надолго откладывается: у вас появляется интересная работа, новые знакомства, возможность путешествовать и наслаждаться жизнью. Прежде, чем вам начнут чудиться на каждом шагу русофобы, а немецкие СМИ внезапно начнут поливать вас антироссийской пропагандой (несмотря на то, что вы их принципиально не смотрите и не читаете, разумеется), нужно долго и упорно выгорать на работе, загоняя себя в глубокую депрессию. То, насколько быстро это случится и случится ли вообще, во многом зависит от гармонии в вашей семье.

Поэтому этот пост я хотел бы адресовать тем специалистам, которые собираются переезжать в Германию со своей семьёй. Я расспросил свою жену о том, как она пережила эти 2,5 года моего профессионального счастья, искала смысл жизни и дошла до того, что открыла в Германии ИП по 3Д-визуализации.
Читать дальше →
Total votes 69: ↑53 and ↓16+37
Comments232

Визуализация комментариев ютуб-каналов международных и локальных touhou-сообществ

Reading time5 min
Views4.9K
Всем привет! Мы развиваем идеи первого поста и продолжаем визуализировать и изучать комментарии на ютубе. На этот раз мы поработаем с глобальными и локальными ютуб-сообществами. Как взаимодействуют комментаторы, которые пишут на разных языках? Собирается ли из множества локальных групп единое глобальное сообщество, или дело сложнее, чем кажется? И причем здесь Touhou Project? Давайте выясним.


Читать дальше →
Total votes 25: ↑25 and ↓0+25
Comments11

Космический язык, ч. 2: приветствуем вас, GJ273b

Reading time8 min
Views2.8K
image

Установка Рамфьордмен Европейской научной ассоциации некогерентного рассеяния (EISCAT), расположенная рядом с Тромсо в Норвегии. В установку входят несколько радиотелескопов, использующихся для изучения взаимодействия Солнца с ионосферой и магнитосферой Земли. Слева – круглая параболическая поворотная антенна диаметром 32 м, которую использовали для передачи сообщения в сторону звезды Лейтена

Симпозиум «Язык в космосе»


В октябре 2017 года исследователи три раза разворачивали мощный радарный телескоп, расположенный рядом с городом Тромсё в Норвегии, в направлении тусклой, невидимой глазу звезды, находящейся в созвездии Малый Пёс, и отправляли в космос закодированное сообщение, пытаясь подать сигнал инопланетной цивилизации. Об этой новой попытки найти иную разумную жизнь во Вселенной было рассказано на презентации, состоявшейся в рамках симпозиума «Язык в космосе» 26 мая в Лос-Анджелесе.

Спонсором симпозиума стала компания METI International. Эту организацию основали для продвижения проекта передачи сигналов внеземным разумным существам как нового подхода к поискам внеземного разума, SETI. Она поддерживает и другие аспекты исследований SETI и астробиологии. Симпозиум стал частью международной конференции космических разработок, спонсором которой стало Национальное космическое общество.
Читать дальше →
Total votes 10: ↑8 and ↓2+6
Comments7

AI, практический курс. Современные архитектуры глубоких нейронных сетей для классификации изображений

Reading time7 min
Views17K


В предыдущей статье, Обзор нейронных сетей для классификации изображений, мы ознакомились с основными базовыми понятиями сверточных нейронных сетей, а также лежащими в их основе идеями. В данной статье мы рассмотрим несколько архитектур глубоких нейронных сетей, обладающих большой вычислительной мощностью — таких как AlexNet, ZFNet, VGG, GoogLeNet и ResNet — и подытожим основные преимущества каждой из этих архитектур. Структура статьи основана на записи в блоге Основные понятия сверточных нейронных сетей, часть 3.
Читать дальше →
Total votes 25: ↑23 and ↓2+21
Comments8

Английская грамматика как математика. С чего начать тем, у кого не сложилось

Reading time6 min
Views43K
Английская грамматика – удивительна своей простотой. Её очень сложно не любить: почти всё логично, структурировано, понятно, если знать (конечно). Это не русский, где можно что угодно сказать как угодно, но и в этом есть свой шарм. Поэтому мне всегда кажется, что людям с математическим складом ума природа просто кричит в ухо, что английский надо учить и для них это просто. Полно конечно всяких исключений, куда без них, но в общей массе всё логично.
Допустим, решились, нашли какую-то мотивацию. Так как же начать, с чего подойти? С алфавита? С неправильных глаголов? С произношения? Можно как угодно подходить, но, если ваша цель заговорить, правильнее всего будет подойти к преподавателю. Если к преподавателю лично подойти не можете, подойдите сюда.

Читать дальше →
Total votes 17: ↑14 and ↓3+11
Comments52

Создание бота для участия в AI mini cup 2018 на основе рекуррентной нейронной сети

Reading time8 min
Views15K


Изначально у меня не было планов о статье, тем более о выступлении на конференции. Но случилась конференция. И после выступления на ней, у смотревших появились ко мне вопросы касательно реализации некоторых технических моментов. Так и получилось слово за слово — статья.


Запись прямого эфира ниже по ссылке.


Дисклеймер: Это статья попытка ответить на часть этих вопросов. Буду рад если возникнут новые вопросы, отвечая на которые появится возможность и самому узнать что-то новое. И да, эта статья не является ни в коей мере попыткой ощутить звон медных труб.


И так начнем с самого начала этой истории. Весна 2018 года, mail.ru объявил конкурс по программированию по мотивам игры Агаиро. Суть соревнований создание игрового бота.

Total votes 39: ↑36 and ↓3+33
Comments13

Эмоции формируют используемый нами язык; но второй язык помогает их обойти

Reading time4 min
Views18K


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

Большинство людей знакомы с ощущением того, как в подобных ситуациях эмоции берут верх над разумом, но почему часто настолько проще выпустить пар при помощи неродного языка? Большая часть людей, изучающих иностранный язык, сможет порадоваться тому, что всякие запретные темы при помощи второго языка довольно легко поднимать, и более того, это даже бывает весело. И если я не буду ругаться по-английски в присутствии моей бабушки, то по-испански я ругаюсь, как Тони Монтана.

И, между прочим, существует научное объяснение тому, почему мы часто гораздо легче отстраняемся от эмоций, используя иностранный язык. Кроме того, что из-за этой отстранённости нам легче говорить всякие непотребства, недавние исследования показали, что она может изменять и наше восприятие морали.
Читать дальше →
Total votes 21: ↑20 and ↓1+19
Comments11

Принцип работы свёрточной нейронной сети. Просто о сложном

Reading time5 min
Views39K
Глубокие нейронные сети привели к прорыву во множестве задач распознавания образов, таких как компьютерное зрение и распознавание голоса. Сверточная нейронная сеть один из популярных видов нейронных сетей.

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


2D Свёрточная нейронная сеть
Читать дальше →
Total votes 33: ↑26 and ↓7+19
Comments11

IBM Watson Build — попробуйте свои силы в конкурсе разработчиков

Reading time2 min
Views2.4K

image


Продолжается прием заявок на участие в IBM WatsonBuild – международном конкурсе по созданию приложений и сервисов на базе IBM Watson.
К участию приглашаются партнеры-разработчики когнитивных решений с применением API-интерфейсов Watson (требуется использование как минимум одного сервиса IBM Watson). Все разработки ведутся в среде IBM Cloud.

Читать дальше →
Total votes 8: ↑8 and ↓0+8
Comments3

Information

Rating
Does not participate
Registered
Activity