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

Пользователь

Отправить сообщение

Как я дообучал Tesseract и что из этого получилось

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

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

Инструкция от разработчиков https://tesseract-ocr.github.io/tessdoc/Home.html не всегда сразу понятна и очевидна, поэтому и появилась мысль записать свой опыт в эту статью.

У меня на компьютере стоит Linux Mint 20.2 Cinnamon, поэтому все действия происходят в этой системе и я не могу гарантировать, что все получится точно так же в Windows или Mac.

Для начала необходимо установить бибилиотеку tesseract на компьютер. Делается это достаточно просто. Сначала проверю версию, которая уже установлена (как правило в комплекте с Linux уже есть пакет tesseract). В терминале набираем

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

Дообучение ruGPT-3.5 13B с LoRA

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

Добрый день, уважаемые читатели и авторы Хабра!

Сегодня я рад представить вам подробное руководство по обучению модели ruGPT-3.5 13B с использованием датасетов модели Saiga-2/GigaSaiga, технологии Peft/LoRA и технологии GGML. Эта статья призвана стать полезным и практичным ресурсом для всех, кто интересуется машинным обучением, искусственным интеллектом и глубоким обучением, а также для тех, кто стремится глубже понять и освоить процесс обучения одной из самых мощных и перспективных русскоязычных моделей.

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

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

Создание библиотеки Python: полный гайд

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

Создайте свою библиотеку для Python и загрузите на PyPi, сейчас!

В этом туториале я максимально понятно и подробно расскажу о том, как создать свою библиотеку для Python и загрузить её на PyPi, для того, что бы её мог использовать любой!

Читать далее
Всего голосов 12: ↑10 и ↓2+8
Комментарии13

Почему ONNX так популярен в ML: конвертации, утилиты и инференс

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

Большинство инженеров, работающих с машинным обучением, уже знакомы с форматом данных ONNX. Его часто используют для хранения обученных моделей и конвертации их мeжду фреймворками.

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

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

Как с помощью BERT организовать поиск похожих текстов

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

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

Читать далее
Всего голосов 8: ↑7 и ↓1+6
Комментарии0

NLP для TensorFlow: Генерация текста

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров5K

Одним из самых крутых и, возможно, самых неприятных приложений NLP является генерация текста. Способность генерировать убедительный текст с помощью ИИ имеет широкое применение, от чат-ботов до создания художественной литературы или фейковых новостей. Сегодня мы рассмотрим создание фейковой фантастики на основе романа Льюиса Кэрролла «Алиса в стране чудес».

Читать далее
Всего голосов 12: ↑10 и ↓2+8
Комментарии3

Обучение универсальной модели NLU c BERT и Multitask Learning

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

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

В высоконагруженных сервисах обработки текста решается целый ряд различных задач NLP:

  1. Распознавание намерений.
  2. Выделение именованных сущностей.
  3. Сентиментный анализ.
  4. Анализ токсичности.
  5. Поиск похожих запросов.

Каждая из этих задач обладает своей спецификой и, вообще говоря, требует построения и обучения отдельной модели. Однако, поддерживать и исполнять для каждой такой задачи отдельную NLU-модель непрактично – сильно возрастает время обработки запроса и потребляемая (видео)память. Вместо этого мы используем одну сильную модель NLU для извлечения универсальных признаков из текста. Поверх этих признаков мы применяем относительно легковесные модели (адаптеры), которые и решают прикладные NLP-задачи. При этом NLU и адаптеры могут исполняться на разных машинах – это позволяет удобнее разворачивать и масштабировать решения.
Всего голосов 12: ↑12 и ↓0+12
Комментарии4

Как работают text2image модели?

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

Вы, наверное, слышали про dalle-2, midjourney, stable diffusion? Слышали о моделях, которые по тексту генерируют картинку. Совсем недавно они продвинулись настолько, что художники протестуют, закидывая в стоки картинки с призывом запретить AI, а недавно, вообще, в суд подали! В этой статье будем разбираться, как такие модели работают. Начнем с азов и потихоньку накидаем деталей и техник генерации.

Читать далее
Всего голосов 79: ↑78 и ↓1+77
Комментарии4

Ultralytics YOLOv8

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

YOLOv8 - это новейшее семейство моделей обнаружения объектов на базе YOLO от Ultralytics, обеспечивающих самые современные характеристики.

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

YOLOR — Объяснение статьи и выводы – Углубленный анализ

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

В последние годы наблюдается огромный прогресс в серии YOLO, в настоящее время в ней используются как модели обнаружения объектов без привязки, так и модели обнаружения объектов на основе привязки. Вместо того, чтобы сосредоточиться исключительно на архитектурных изменениях, YoloR выбирает новый маршрут. Он черпает вдохновение в том, как люди сочетают неявные знания с явными знаниями для решения новых задач. Предлагаемые методы значительно улучшают производительность Обнаружение объектов YoloR модели, в результате которых они будучи на ~88% 🚀быстрее и лучше (🎯 57,3% на Набор для тестирования COCO) с минимальными дополнительными затратами.

Читать далее
Всего голосов 5: ↑4 и ↓1+3
Комментарии3

9 причин перейти с Python на Go

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

Переход на новый язык — это всегда большой шаг. Особенно, если этим языком владеет только один член команды. В начале этого года мы поменяли основной язык программирования в Stream — с Python на Go. В этой статье я приведу 9 причин почему — и 3 минуса, выявленных в процессе. 

Кодить на Python не брошу, но посмотрю
Всего голосов 37: ↑9 и ↓28-19
Комментарии36

Получить выписку ЕГРН из Росреестра с помощью python, минуя api

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

Не первое знакомство с порталом Росреестра


Любой юрист когда-либо обращался с запросом в Росреестр (Федеральная служба государственной регистрации, кадастра и картографии). Времена, когда для запроса надо было бежать в отделение Росреестра и подавать запрос на бумаге уходят в прошлое. Росреестр запустил несколько онлайн сервисов, которые можно использовать не выходя из дома. К этим сервисам относится и запрос выписки из Единого государственного реестра недвижимости. Официальный сайт для начала работы.

Всем, кто уже успел поработать с сайтом, известно, что для получения выписки из ЕГРН, в которой будет содержаться информация не только об общих характеристиках объекта, но и о правообладателе данного объекта, необходимо зайти в личный кабинет Росреестра.

Возможно, это удобный способ получения одной или нескольких выписок. Однако, что делать, если необходим пакет выписок ЕГРН? Допустим, вы работаете с недвижимостью или владеете рядом объектов, общее число которых более 10. По общему правилу получать выписку из ЕГРН надо не реже 1 раза в год, чтобы успеть вовремя отреагировать в юридической плоскости на нежелательные изменения в Росреестре, если они возникнут помимо вашей воли.

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

TransUNet — революция в традиционной сегментации изображений

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

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

Однако CNN могут эффективно использовать только информацию ближнего радиуса действия (“последних 100 метров”) (или локальную) из-за небольшого размера ядра свертки, что не позволяет им в достаточной степени исследовать данные в задачах, содержащих компоненты с зависимостями на больших расстояниях.

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

Чтобы использовать возможности CNN для компенсации недостатков трансформеров и с другой стороны в задачах сегментации изображений, Чен (Chen) и др. предложили TransUNet, которая также является первой моделью сегментации изображения, построенная на основе трансформера. Стоит также отметить, что авторы удостоверились в перспективности объединения CNN и трансформеров, сначала попытавшись использовать чистую архитектуру трансформера для сегментации изображения. Однако она не сработала так же хорошо, как внедрение CNN в их архитектуру, поскольку трансформеры не так хороши при эксплуатации локальных возможностей, как CNN.

Читать далее
Всего голосов 10: ↑7 и ↓3+4
Комментарии0

Руководство по программированию сокетов на Python. От введения до работающего примера

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


К концу руководства вы освоите основные функции и методы модуля Python socket, научитесь применять пользовательский класс для отправки сообщений и данных между конечными точками и работать со всем этим в собственных клиент-серверных приложениях. Материалом делимся к старту курса по Fullstack-разработке на Python.
Посмотреть первую часть
Всего голосов 8: ↑6 и ↓2+4
Комментарии0

Самообучающийся трекер объектов: как отслеживать цель в изменчивых условиях сцены

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

Специалисты по компьютерному зрению не один десяток лет бьются над трекингом объектов. Они перепробовали многое: от старой-доброй оценки движения оптическим потоком до сетей-трансформеров.

Есть один подход к трекингу, широко известный на западе, но о котором мало пишут по-русски: Incremental Visual Tracker (IVT). Это трекер объектов на основе модифицированного метода главных компонент: он самообучается на ходу и адаптируется к изменчивым условиям.

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

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

Все, что вам нужно знать об Airflow DAGs, ч.2 — Операторы и Датчики

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

Операторы являются основными строительными блоками DAG Airflow. Это классы, которые содержат логику выполнения единичной работы.

Вы можете использовать операторы в Airflow, создав их экземпляры в задачах. Задача определяет работу, выполняемую оператором в контексте DAG.

Чтобы просмотреть и выполнить поиск по всем доступным операторам в Airflow, посетите Astronomer Registry. Ниже приведены примеры операторов, которые часто используются в проектах Airflow.

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

17 убойных репозиториев GitHub, которые нужно сохранить

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

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

Читать далее
Всего голосов 174: ↑144 и ↓30+114
Комментарии44

Асинхронные задания в Django с Celery

Время на прочтение11 мин
Количество просмотров55K
Перевод статьи подготовлен в преддверии старта курса «Web-разработчик на Python».




Если в вашем приложении есть какой-то длительный процесс, вы можете обрабатывать его не в стандартном потоке запросов/ответов, а в фоновом режиме.

К примеру, в вашем приложении пользователь должен отправить картинку-миниатюру (которую, скорее всего, нужно будет отредактировать) и подтвердить адрес электронной почты. Если ваше приложение обрабатывает изображение, а потом отправляет письмо для подтверждения в обработчике запросов, то конечному пользователю придется зачем-то ждать завершения выполнения обеих задач перед тем, как перезагрузить или закрыть страницу. Вместо этого, вы можете передать эти операции в очередь задач и оставить на обработку отдельному процессу, чтобы немедленно отправить пользователю ответ. В таком случае, конечный пользователь сможет заниматься другими делами на стороне клиента во время выполнения обработки в фоновом режиме. Ваше приложение в таком случае также сможет свободно отвечать на запросы других пользователей и клиентов.
Читать дальше →
Всего голосов 11: ↑10 и ↓1+9
Комментарии4

Обучение с подкреплением: сети Deep Q

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

В предыдущих материалах из этой серии мы рассказали о том, что такое обучение с подкреплением (Reinforcement learning, RL), поговорили о том, почему это важно, разобрались с математическим аппаратом, используемым для создания RL-агентов.

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

«Ленивый сахар» PostgreSQL

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

SQL - декларативный язык - то есть вы описываете "что" хотите получить, а СУБД сама решает, "как" именно она будет это делать. Некоторые из них при этом позволяют им "подсказывать", как именно лучше выполнять запрос, но PostgreSQL - нет.

Тем не менее, "синтаксический сахар" некоторых языковых конструкций позволяет не только писать меньше кода (учите матчасть!), но и добиться, что ваша база будет делать часть вычислений "лениво", только при фактической необходимости.

Читать далее
Всего голосов 42: ↑42 и ↓0+42
Комментарии15
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Иркутск, Иркутская обл., Россия
Зарегистрирован
Активность