Как стать автором
Обновить
9.75

TensorFlow *

открытая библиотека для машинного обучения

Сначала показывать
Порог рейтинга
Уровень сложности

Ломаем текстовую капчу на примере VK или брутфорсинг до сих пор актуален

Уровень сложностиСредний
Время на прочтение52 мин
Количество просмотров22K

Что мы знаем о капче? Капча - автоматизированный тест тьюринга, помогающий отсеивать подозрительные действия недобросовестных роботов от реальных людей. Но, к сожалению ( или к счастью, смотря для кого ), текстовая капча сильно устарела. Если еще 10 лет назад она была более-менее эффективным методом защиты от роботов, то сейчас ее может взломать обойти любой желающий робот, более-менее разбирающийся в компьютере.

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

А ну-ка поподробнее
Всего голосов 64: ↑61 и ↓3+58
Комментарии38

Новости

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

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров15K

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

Необходимая подготовка читателя — должно быть общее представление о компьютерном зрении (computer vision) и нейронных сетях. Здесь не будет описаний, что такое сверточная нейронная сеть и т.п., статей по таким основам найдете много на хабре (вот хорошая Глубокое обучение для новичков: распознаем изображения с помощью сверточных сетей). В то же время, совсем новички могут получить представление, какие знания и компетенции нужны для решения подобных задач.

Читать далее
Всего голосов 28: ↑27 и ↓1+26
Комментарии21

5% из 666 репозиториев Python содержат ошибки из-за запятых (в том числе Tensorflow, PyTorch, Sentry и V8)

Время на прочтение3 мин
Количество просмотров5.7K
Мы выяснили, что в 5% из 666 исследованных нами репозиториев Python с открытым исходным кодом на GitHub есть три бага, вызванных ошибочным использованием запятых.

Слишком мало запятых


Случайно пропущенная запятая в строке списка/кортежа/множества, приводящая к ненужной конкатенации строк.

Читать дальше →
Всего голосов 27: ↑26 и ↓1+25
Комментарии8

Войти вайти в 37 лет, личный опыт

Время на прочтение11 мин
Количество просмотров47K

Сейчас мне сорок пять, и я наконец получил нормальную фултайм позицию аналитика данных. У меня первый диплом - Провизор по специальности Фармация. Я успел поработать таксистом, разнорабочим на складе лекарственных трав, заготовщиком, владельцем цеха металлообработки и одновременно рабочим в этом цеху. Был фармацевтом за кассой, заместителем заведующей аптекой, владельцем аптеки. Никогда не думал, что буду работать в IT, хотя всегда интересовался этой темой.

В школе у нас был компьютерный класс...
Всего голосов 70: ↑61 и ↓9+52
Комментарии77

Истории

Го: Долгая дорога к боту

Время на прочтение28 мин
Количество просмотров6K
There is no difference between theory and practice in theory,
but there is often a great deal of difference between theory
and practice in practice.

Yogi Berra

Я слепым вместо глаз вставил звезды и синее небо.

Юрий Шевчук


Тема игровых ботов с самого начала была для меня довольно чувствительной. Используя Dagaz, я научился воссоздавать самые разнообразные игры, но что в них толку, если с тобой никто не играет? Nest позволил разработать сервер, для игры по сети, но до тех пор пока на нём не слишком много народу, боты продолжают оставаться актуальными. Универсальные боты, которые я писал, были медленными и слабыми. К счастью, знакомство с Garbochess позволило переломить ситуацию, по крайней мере в том, что касалось шахматных игр. Признаюсь честно, я никогда не думал, что у меня появится бот для игры в Го
Читать дальше →
Всего голосов 35: ↑35 и ↓0+35
Комментарии11

Mode on: Сравнить две лучшие системы автоматического оцветнения

Время на прочтение11 мин
Количество просмотров6.3K
Продолжение заметок про оцветнение. Запустим уже несвежую, но ещё новую нейросеть и будем сравнивать со старичком Deoldify на множестве тестовых примеров, чтобы оценить скорость надвижения будущего.

image

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

Преподаватель: Петров! Как работает трансформатор?
Петров басом: У-у-у-у-у.


Google Colorizing Transformer vs Deoldify

Сравнение под катом
Всего голосов 65: ↑62 и ↓3+59
Комментарии25

Есть ли жизнь без Nvidia? Запускаем TensorFlow на Radeon RX 580

Время на прочтение4 мин
Количество просмотров44K

На новом рабочем месте меня посадили за ПК, оборудованный процессором Ryzen 2600 и видеокартой Radeon RX 580. Попробовав обучать нейронные сети на процессоре, я понял, что это не дело: уж слишком медленным был процесс. После недолгих поисков я узнал, что существует как минимум 2 способа запуска современных библиотек машинного обучения на видеокартах Radeon: PlaidML и ROCm. Я попробовал оба и хочу поделиться результатами.

Читать далее
Всего голосов 31: ↑31 и ↓0+31
Комментарии39

Создание камеры-ловушки с использованием Raspberry Pi, Python, OpenCV и TensorFlow

Время на прочтение6 мин
Количество просмотров15K


Я сильно верю в обучение через практику, через создание чего-то нового. А для того чтобы что-то создавать, нужно чтобы работа приносила бы удовольствие.

Я начну рассказ о моём новом проекте с того, что раскрою причины, по которым решил попытаться создать камеру-ловушку на основе Raspberry Pi.

Я живу в Лондоне, мой сад часто посещают местные представители дикой природы. Случается это так часто, что я, заядлый садовник, мало-помалу начал расстраиваться. Разбитые горшки, выкопанные из земли растения, съеденные фрукты и овощи…

Я видел в своём саду маленьких лис (они — просто прелесть), больших лис, кошек (не моих), птиц. А однажды меня даже посетил ястреб-перепелятник.
Читать дальше →
Всего голосов 42: ↑34 и ↓8+26
Комментарии12

Защита фото от систем распознавания лиц работает?

Время на прочтение2 мин
Количество просмотров30K
image

За последние полтора месяца (с начала августа 2020) уже довольно много изданий/платформ и ресурсов говорили/писали про Алгоритм Fawkes: https://sandlab.cs.uchicago.edu/fawkes/#press.

Среди которых и Habr, The New York Times, The Verge и т.д.
Читать дальше →
Всего голосов 35: ↑34 и ↓1+33
Комментарии26

Руками не трогать! Управляем веб-страницей с помощью веб-камеры

Время на прочтение4 мин
Количество просмотров10K


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


Экономический кризис станет двигателем быстрой адаптации изменений: компании, которые первыми поймут, как дать пользователям дополнительную ценность или удобство, окажутся в топах. Перед IT-индустрией будет масса челленджей. И в этом материале мы поделимся своим решением одной из проблем нового мира. Но обо всем по порядку.

Читать дальше →
Всего голосов 32: ↑32 и ↓0+32
Комментарии12

Молчание вентиляторов. Google Colab, Javascript и TensorflowJS

Время на прочтение4 мин
Количество просмотров34K

Google Colab — это бесплатный облачный сервис на основе Jupyter Notebook. Google Colab предоставляет всё необходимое для машинного обучения прямо в браузере, даёт бесплатный доступ к невероятно быстрым GPU и TPU. Заранее предупрежу, что у него есть некоторые ограничения, поэтому вы не сможете использовать его для production.


С помощью Google Colab вы можете легко обучить свою модель за считанные секунды. Он поддерживает Python (2/3) из коробки, так что всё должно быть хорошо, верно?


Читать дальше →
Всего голосов 34: ↑33 и ↓1+32
Комментарии4

Deep Reinforcement Learning: как научить пауков ходить

Время на прочтение14 мин
Количество просмотров20K

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


Основой решения является алгоритм Advantage Actor Critic (A2C) с оценкой Advantage через Generalized Advantage Estimation (GAE).


Под катом математика, реализация на TensorFlow и множество демок того, к каким способам ходьбы сошлись алгоритмы.


Всего голосов 26: ↑26 и ↓0+26
Комментарии22

Serverless tensorflow на AWS Lambda

Время на прочтение7 мин
Количество просмотров11K

Image
Машинное обучение и нейросети становятся все более незаменимыми для многих компаний. Одна из основных проблем, с которыми они сталкиваются — деплой такого рода приложений. Я хочу показать показать практичный и удобный способ подобного деплоя, для которого не требуется быть специалистом в облачных технологиях и кластерах. Для этого мы будем использовать serverless инфраструктуру.

Читать дальше →
Всего голосов 32: ↑31 и ↓1+30
Комментарии12

Ближайшие события

Распознавание жестов движений на Android используя Tensorflow

Время на прочтение10 мин
Количество просмотров18K
image

Введение


В сегодняшние дни есть много разных способов взаимодействия со смартфонами: тач-скрин, аппаратные кнопки, сканер отпечатков пальцев, видео камера (например система распознавания лиц), D-PAD, кнопки на гарнитуре, и так далее. Но что насчет использования жестов движений?

Например быстрое перемещение телефона вправо или влево держа его в руке может очень точно отражать намерение перейти на следующую или предыдущую песню в плей-листе. Или же вы можете быстро перевернуть телефон верх ногами и потом назад для обновления контента приложения. Внедрение такого взаимодействия выглядит многообещающим и буквально добавляет новое измерение в UX. Эта статья описывает как реализовать подобное используя машинное обучение и библиотеку Tensorflow для Android.
Всего голосов 29: ↑29 и ↓0+29
Комментарии5

Библиотека глубокого обучения Tensorflow

Время на прочтение16 мин
Количество просмотров131K

Здравствуй, Хабр! Цикл статей по инструментам для обучения нейронных сетей продолжается обзором популярного фреймворка Tensorflow.


Tensorflow (далее — TF) — довольно молодой фреймворк для глубокого машинного обучения, разрабатываемый в Google Brain. Долгое время фреймворк разрабатывался в закрытом режиме под названием DistBelief, но после глобального рефакторинга 9 ноября 2015 года был выпущен в open source. За год с небольшим TF дорос до версии 1.0, обрел интеграцию с keras, стал значительно быстрее и получил поддержку мобильных платформ. В последнее время фреймворк развивается еще и в сторону классических методов, и в некоторых частях интерфейса уже чем-то напоминает scikit-learn. До текущей версии интерфейс менялся активно и часто, но разработчики пообещали заморозить изменения в API. Мы будем рассматривать только Python API, хотя это не единственный вариант — также существуют интерфейсы для C++ и мобильных платформ.

Читать дальше →
Всего голосов 83: ↑83 и ↓0+83
Комментарии15

Учим TensorFlow рисовать кириллицу

Время на прочтение7 мин
Количество просмотров14K
Привет Хабр! За последние годы новые подходы в обучении нейронных сетей позволили существенно расширить сферы практического применения машинного обучения. А появление большого количества хороших высокоуровневых библиотек дало возможность проверить свои навыки специалистам разного уровня подготовки.

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

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

В качестве библиотеки был выбран TensorFlow. А за задачей и её решением прошу под кат…
Читать дальше →
Всего голосов 59: ↑58 и ↓1+57
Комментарии7

Google выпустила TensorFlow 1.0

Время на прочтение4 мин
Количество просмотров27K

TensorFlow 1.0 с моделью нейросети нового поколения Inception поддерживает аппаратное ускорение на DSP Hexagon в мобильных процессорах Qualcomm Snapdradon 820. Скорость работы приложений вроде Prism и программ машинного зрения увеличится в 8 и более раз, а энергопотребление снизится в 4 раза. Фильтры от нейросетей можно будет накладывать на видео почти в реальном времени

На первой конференции для разработчиков TensorFlow Dev Summit компания Google объявила о выходе мажорного релиза библиотеки TensorFlow 1.0, обратно несовместимого с предыдущими версиями. Это значит, что программы, работавшие на версиях TensorFlow 0.n, могут не работать на версии TensorFlow 1.0. Разработчики из Google говорят, что изменения в API были необходимы «для обеспечения внутренне согласованных программных интерфейсов», и больше такого не повторится: ломающих обратную совместимость изменений в будущих версиях 1.x не планируется. Сейчас разработчикам рекомендуется изучить руководство по миграции и использовать скрипт для преобразования.

TensorFlow — свободная программная библиотека для машинного обучения в применении к различным видам задач на восприятие и понимание языка. В данный момент она используется в научно-исследовательской работе и в десятках коммерческих продуктов Google, в том числе в Google Search, Gmail, Photos, Youtube, Translate, Assistant, а так же всевозможных системах распознавания, в том числе распознавания речи.
Читать дальше →
Всего голосов 33: ↑30 и ↓3+27
Комментарии17

Как японский фермер при помощи глубокого обучения и TensorFlow огурцы сортировал

Время на прочтение3 мин
Количество просмотров27K


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

Сделать это довольно тяжело, и Койке убедился в этом на своем опыте. «Каждый огурец отличается от других — все они бывают разной формы, качества и свежести», — говорит инженер. Для того, чтобы конечный продукт попал в магазины, овощи необходимо сортировать. В Японии насчитывается девять классов огурцов. Классификация производится согласно форме, размеру и ряду других свойств. Чем выше класс, тем дороже огурец.
Всего голосов 34: ↑31 и ↓3+28
Комментарии36

Hello, TensorFlow. Библиотека машинного обучения от Google

Время на прочтение11 мин
Количество просмотров227K

tensorflow


Проект TensorFlow масштабнее, чем вам может показаться. Тот факт, что это библиотека для глубинного обучения, и его связь с Гуглом помогли проекту TensorFlow привлечь много внимания. Но если забыть про ажиотаж, некоторые его уникальные детали заслуживают более глубокого изучения:


  • Основная библиотека подходит для широкого семейства техник машинного обучения, а не только для глубинного обучения.
  • Линейная алгебра и другие внутренности хорошо видны снаружи.
  • В дополнение к основной функциональности машинного обучения, TensorFlow также включает собственную систему логирования, собственный интерактивный визуализатор логов и даже мощную архитектуру по доставке данных.
  • Модель исполнения TensorFlow отличается от scikit-learn языка Python и от большинства инструментов в R.

Все это круто, но TensorFlow может быть довольно сложным в понимании, особенно для того, кто только знакомится с машинным обучением.


Как работает TensorFlow? Давайте попробуем разобраться, посмотреть и понять, как работает каждая часть. Мы изучим граф движения данных, который определяет вычисления, через которые предстоит пройти вашим данным, поймем, как тренировать модели градиентным спуском с помощью TensorFlow, и как TensorBoard визуализирует работу с TensorFlow. Наши примеры не помогут решать настоящие проблемы машинного обучения промышленного уровня, но они помогут понять компоненты, которые лежат в основе всего, что создано на TensorFlow, в том числе того, что вы напишите в будущем!

Читать дальше →
Всего голосов 71: ↑68 и ↓3+65
Комментарии12

FizzBuzz на TensorFlow

Время на прочтение4 мин
Количество просмотров53K

интервьюер: Приветствую, хотите кофе или что-нибудь еще? Нужен перерыв?


я: Нет, кажется я уже выпил достаточно кофе!


интервьюер: Отлично, отлично. Как вы относитесь к написанию кода на доске?


я: Я только так код и пишу!


интервьюер: ...


я: Это была шутка.


интервьюер: OK, итак, вам знакома задача "fizz buzz"?


я: ...


интервьюер: Это было да или нет?


я: Это что-то вроде "Не могу поверить, что вы меня об этом спрашиваете."


интервьюер: OK, значит, нужно напечатать числа от 1 до 100, только если число делится нацело на 3, напечатать слово "fizz", если на 5 — "buzz", а если делится на 15, то — "fizzbuzz".


я: Я знаю эту задачу.


интервьюер: Отлично, кандидаты, которые не могут пройти эту задачу, у нас не сильно уживаются.


я: ...


интервьюер: Вот маркер и губка.


я: [задумался на пару минут]


интервьюер: Вам нужна помощь, чтобы начать?


я: Нет, нет, все в порядке. Итак, начнем с пары стандартных импортов:


import numpy as np
import tensorflow as tf

интервьюер: Эм, вы же правильно поняли проблему в fizzbuzz, верно?


я: Так точно. Давайте обсудим модели. Я думаю тут подойдет простой многослойный перцептрон с одним скрытым слоем.

Читать дальше →
Всего голосов 132: ↑123 и ↓9+114
Комментарии140