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

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

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

Выбираю Open Source БД для себя

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

Задача такая: искал Open Source БД для своего пет-проекта. Решил посмотреть в интернете новые решения в рамках БД. После чтения статей и отбора из 6-7 БД остались три (3), которые понравились лично мне. Больше ничего путного не нашел. 

Почему именно эти? Во-первых, они Open Source, а во-вторых, у них есть ответы на два главных моих вопроса «Для чего это нужно?» и «Работает ли из коробки?».

Давайте покажу на примерах.

Читать далее

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

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

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

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

Читать далее

Построим GPT: с нуля и шаг за шагом

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

В этой статье я построил GPT архитектуру на данных из произведений Шекспира и получил достаточно впечатляющие результаты.

Читать далее

Как мы обучили Mistral 7B русскому языку и адаптировали для объявлений Авито

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

Привет! Я Настя Рысьмятова, руковожу командой LLM в Авито. Эта статья — про то, какие задачи мы решаем с помощью языковых моделей и как адаптируем их под себя. Мой опыт будет интересен прежде всего тем, кто тоже занимается большими языковыми моделями в крупных продуктовых компаниях. А всем остальным любопытно будет узнать, как модели учатся и решают конкретные задачи Авито — например, помогают пользователям писать тексты объявлений.

Читать далее

LLM-CodeSlim: Автоматическое сжатие и очистка кода для эффективного использования с LLM

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

Как известно, у больших языковых моделей (LLM) существуют ограничения по размеру контекстного окна. При постановке вопроса часто невозможно вставить весь исходный текст, что требует объединения кода из разных файлов в одном месте.

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

Для использования просто запустите скрипт в директории вашего проекта, чтобы сгенерировать минимизированный файл out.txt, содержащий оптимизированный код, готовый для использования с крупными языковыми моделями.

Перед запуском скрипта отредактируйте следующие массивы в соответствии с потребностями вашего проекта: folders_to_ignore, extensions_to_search, filenames_to_search, comment_chars и stop_words.

Пример конфигурации для проекта на Rust (включение всех файлов *.rs в out.txt):

Читать далее

Простая защита скрипта на Python

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

Стек: Python 3.11.7, ntplib, subprocess, getpass для времени, системы, пароля,

PyArmor 8+ для обфускации.

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

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

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

Читать далее

Как работает Mesh R-CNN

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

Ну для начала всем привет, в этой статье постараюсь рассказать вам про структуру Mesh R-CNN как он работает, что вообще из себя представляет, также будут сделаны сноски с описанием концепции по генерации 3D объектов. Буду опираться как и уже на существующие статьи, так буду и от себя писать. Возможно будут где то ошибки, потому если заметите, постараюсь исправить.

Вообще для чего нужен Mesh R-CNN, нужен он для того чтобы генерировать 3D объекты на основе изображения. Этот метод построен на фундаменте Mask R-CNN, но с добавлением ветви для предсказания сеток. Это создает начальное представление, которое преобразуется в сетку и уточняется с помощью графовой сверточной сети.

Читать далее

DETR: Бесконечная история

Уровень сложностиСложный
Время на прочтение13 мин
Количество просмотров3.1K

Всем привет, с вами команда Layer!
Мы рады сообщить, что совсем скоро выйдет наша новая исследовательская работа, посвященная поиску моментов в видео, релевантных пользовательскому запросу. Мы хотим сделать эту работу как можно более доступной для каждого, кто хочет глубже разобраться в теме. Поэтому мы решили написать этот небольшой туториал, посвященный семейству моделей DETR, так как они используются не только для детекции котиков на картинках, но и в таких необычных доменах, как детекция моментов в видео. Мы уверены, что среди читателей многие знакомы с основами DETR, однако подозреваем, что не все могли следить за её развитием. Всё‑таки по сравнению с YOLO, DETRу пиара явно не достает. В этой статье мы предлагаем краткий обзор эволюции модели, чтобы помочь вам лучше ориентироваться в новых исследованиях. Если же вы впервые слышите о DETR или хотите освежить свои знания, то бегом читать — тык, если после прочтения остались вопросы, то можно ознакомиться с этими видео — тык, тык.

Давайте детальнее разберёмся, что ждёт вас в этом туториале. Сначала мы рассмотрим недостатки оригинальной версии DETR, а затем перейдём к архитектурным улучшениям, которые либо устранили эти проблемы, либо заметно их сгладили. Начнём с Deformable DETR — модели, которая оптимизировала вычисления. Затем обратим внимание на Conditional DETR и DAB DETR — архитектуры, которые существенно переосмыслили роль queries в модели. Далее мы погрузимся в особенности DN‑DETR, который стабилизирует one‑to‑one matching. После этого детально разберём DINO DETR — модель, которая объединяет и улучшает идеи DN‑DETR и DAB‑DETR, а также переизобретает RPN для детекционных трансформеров. И в завершение нашего путешествия мы познакомимся с CO‑DETR, который объединил классические детекторы, такие как ATSS, Faster RCNN, и модели типа DETR, установив новые SOTA метрики на COCO.

Читать далее

Раскрываем секреты роя: оптимизация на Python с помощью PSO

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

Начну с небольшой шутки:

"Знаете ли вы, что до изобретения часов людям приходилось активно ходить повсюду и спрашивать время?"

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

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

Индивидуально оптимальная позиция: то, что особь считает наилучшим для себя.

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

В связи с этим возникает естественный вопрос: что считать "оптимальным" в природе? Что является наилучшим для отдельной особи и для всей группы? Не будучи биологом, я не могу дать ответы на эти вопросы. Однако, наблюдая за подобным поведением в природе, мы можем разработать эффективный алгоритм оптимизации. Другими словами, определив критерии "оптимальности", мы можем применить этот эволюционный подход для оптимизации заданной функции.

Данный алгоритм известен как оптимизация роем частиц (Particle Swarm Optimization, PSO). Возможно, это звучит несколько сложно. Что подразумевается под "оптимизацией"? Какова роль математики в этом процессе? Что именно оптимизируется? В статье я постараюсь подробно разъяснить все эти моменты. Более того, мы применим ООП на Python для создания собственного класса ParticleSwarmOptimizer(). И таким образом, мы пройдем путь от теоретических основ PSO до их практической реализации.

Итак, приступим! Желаю приятного чтения.

Читать далее

Анализ производительности моделей YOLOv8

Уровень сложностиСложный
Время на прочтение21 мин
Количество просмотров6.5K

В данной статье речь пойдёт о замерах производительности и точности работы моделей YOLOv8 на разных устройствах с различными оптимизациями и без них. Большое внимание будет уделено работе Yolo на “слабых устройствах”, таких как Raspberry PI, Orange PI, Jetson Nano, мини ПК. 

Современные задачи робототехники требуют вычислений "на борту", что особенно актуально для автономных систем. Важность данного исследования заключается в том, что оно направлено на решение задачи детекции в режиме реального времени на маломощных устройствах, что открывает новые возможности для использования компьютерного зрения в мобильных и автономных роботах. Будем считать, что FPS обработки изображений  >= 10 пригоден для некоторых задач детекции в реальном времени, но далеко не для всех.

Читать подробнее

AIOgram3 18. Подключаем оплату Telegram Stars

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

6 июня Павел Дуров сообщил, что в Telegram вводится новая валюта — Stars. Stars позволят производить покупку цифровых товаров и услуг, проще говоря, оплачивать покупки внутри Telegram, например, в ботах или в MiniApps. Однако не всё так радужно. Введение нового способа оплаты влечёт за собой отключение всех остальных платёжных средств. Если ваш бот принимал оплату через ЮКассу, то теперь только "Звёзды". Причины таких изменений оставим за скобками и сосредоточимся на более важных вещах, а именно на том, как внедрить в Telegram-бота новый способ оплаты — Telegram Stars.

Приобрести звёзды можно, открыв настройки Telegram и найдя пункт "Звёзды Telegram".

Читать далее

Эй, компьютер, создай-ка мне шрифт

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

Это история о том, как я с нуля осваивал создание генеративных моделей МО, попутно обучая компьютер создавать шрифты. Да, настоящие типографские шрифты, состоящие из набора заглавных глифов. Созданная мной модель получает на входе описание шрифта и создаёт на выходе файл с их готовым набором. Назвал я свой проект FontoGen.

Выше вы видите несколько примеров шрифтов, сгенерированных моделью FontoGen.

Ну а дальше я подробно опишу всю историю.
Читать дальше →

Математика прекрасного. Как создать красивую картинку, если ты дилетант, художник или нейросеть?

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

Привет, Хабр, я Павел Бузин, работаю аналитиком в компании Cloud.ru и занимаюсь решением задач, требующих применения различных математических методов, в том числе используемых для машинного обучения. 

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

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

Читать дальше

Решаем судоку на pytorch

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

Решаем судоку на pytorch. Можно ли делать нейросети без обучения? Без кучи тестовых примеров? Попробую ответить на этот вопрос.

Читать далее

Топ 5 продвинутых инструментов Data Science. Изучи за выходные и будешь выделяться

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

Привет, чемпионы! Сегодня рассмотрим, как облегчить себе жизнь, применяя 5 инструментов в своих проектах. Эти инструменты улучшат ваш код, сделают ваш pipeline более стабильным и позволят не писать один код по 10 раз. Круто? Погнали!

Изучать новое!

Работа с API YandexART на Python

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

Всем привет!

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

Читать далее

Обучение с подкреплением: 10 вариантов применения

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

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

Читать далее

Использование Insightface для быстрого поиска и сравнения лиц на изображениях

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

Привет, Хабр!

С вами Вадим Дарморезов, участник профессионального сообщества NTA.

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

В проектах, связанных с распознаванием лиц своеобразными «флагманами» являются библиотеки dlib/face‑recognition и свёрточные нейронные сети. При этом на просторах русскоязычного интернета довольно мало статей о библиотеке insightface. Именно о ее использовании хотелось бы поговорить более подробно. Всем, кому это интересно, добро пожаловать по кат.

Искать "близнецов"

You Only Look Once… But it Sees Everything! Обзор YOLO детекторов. Часть 1

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

Детекция объектов в реальном времени является важнейшей задачей и охватывает большое количество областей, таких как беспилотные транспортные средства, робототехника, видеонаблюдение, дополненная реальность и многие другие. Сейчас такая задача решается с помощью двух типов алгоритмов: one-step алгоритм детекции, например You Only Look Once (YOLO), и two-steps алгоритм, например Faster Region-Based Convolutional Neural Network (Faster R-CNN). Двухстадийный подход имеет ряд недостатков: долгое обучение и инференс, плохое качество детекции маленьких объектов, неустойчивость к различным размерам входных данных. Одностадийный алгоритм детекции подразумевает одновременное выполнение детекции и классификации, что обеспечивает end-to-end обучение с сохранением высоких показателей как точности, так и скорости.

Читать далее

WebODM: Создаем карты и 3d модели с дрона

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

Развитие программного обеспечения с открытым исходным кодом, снижает барьер входа в нишевые технологии. Ранее подобные технологии были широко распространены в рамках геодезии, однако сейчас фотограмметрия используется в разработке игр, VR/AR, или для сохранения исторических памятников культурного наследия.

В данной статье, мы рассмотрим процесс установки и эксплуатации WEBODM - бесплатного, кросс-платформенного программного обеспечения для создания карт, и 3D-моделей из аэрофотоснимков.

Читать далее

Информация

В рейтинге
5 357-й
Зарегистрирован
Активность