1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/dimld-bustag

Клонировать/Скачать
README.md 18 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 08.03.2025 00:47 aeb72fe

Автоматическая система рекомендации номерных знаков на основе машинного обучения

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

Видеоуроки по Python

https://github.com/gxtrobot/pyinaction

Для повышения эффективности решения задач создана группа QQ

Группа QQ: 941894005

Обратите внимание, что эта группа предназначена только для обсуждения обучения Python, разработки пауэрских скриптов, изучения и использования фреймворка aspider, ошибок и проблем с системой Bustag, пожалуйста, не обсуждайте темы, не относящиеся к этому.

Отказ от ответственности: Этот софт предназначен только для образовательных целей и не может использоваться в коммерческих целях. Все последствия использования этого софта лежат на пользователях! Если вам понравился этот софт, вы можете угостить меня чаем ^_^ .

Внимание!

Ссылки для скачивания версий для Windows и macOS

Ссылка: https://pan.baidu.com/s/1pqarq7fOXjsbad0WN4Uaaw Код доступа: budu

Пароль архива: gxtrobot

Обновление Docker

Запустите docker pull gxtrobot/bustag-app:latest и перезапустите проект

Инструкция по использованию

Необходимо создать конфигурационный файл config.ini в директории data, затем запустить систему и зайти по адресу localhost:8000

Видео по использованию

Ссылка: https://pan.baidu.com/s/1pqarq7fOXjsbad0WN4Uaaw Код доступа: budu

Видео находятся в соответствующих каталогах:

  • Установка Bustag через Docker на Synology NAS (16 октября 2019 года)
  • Последнее видео по использованию Bustag (15 октября 2019 года)
  • Установка Docker версии на Linux/macOS
  • Установка Docker версии на Windows 10

Обновления

Версия 0.2.1 (12 октября 2019 года)

  • Исправлены несколько ошибок
  • Добавлен вывод сообщений об ошибках при запуске системы для удобства диагностикиЭта версия предназначена для лучшего обнаружения ошибок, если ваша система работает корректно, обновление не требуется.### Выпуск 0.2.0 (2019-10-07)
  • Устранены некоторые баги, такие как неполная обработка данных
  • Оптимизация нескольких страниц (увеличение изображения при клике, переход между страницами и т.д.)
  • Добавлена проверка конфигурационного файла config.ini, в случае отсутствия — автоматический выход
  • Вручную управляемое локальное файловое хранилище, добавлено возможность вручную добавлять номера и локальные пути
  • Добавлен раздел "Сегодняшние обновления" и рекомендованное количество
  • Возможность вручную загружать номера, с отметкой "нравится"
  • Добавлен логотип
  • Добавлена функция импорта базы данных для меток

Внимание

  • В версии v0.2.0 произошли изменения в структуре базы данных, поэтому она несовместима с предыдущими версиями. Рекомендуется создать новый каталог для запуска новой версии. Если вам необходимы метаданные старой базы данных, вы можете импортировать их через страницу данных.### 2019-9-6 Версия 0.1.1
    • Устранены некоторые ошибки
    • Добавлены версии для Windows (тестировалось только на Windows 10) и macOS, распакуйте архив и используйте.

Основные функции системы

  • Автоматическое получение последних данных о номерах автомобилей, частота получения может быть настроена самостоятельно
  • После запуска системы автоматически начинается процесс загрузки, затем происходит загрузка согласно установленной частоте
  • Возможность маркировки номеров автомобилей
  • Обучение модели на основе всех имеющихся отмеченных данных
  • После обучения модели система автоматически прогнозирует и определяет, нравится ли вам объект
  • Ручная загрузка номеров, управление локальными файлами
  • Импорт метаданных из базы данных
  • Одноклик запуск при помощи Docker, что позволяет новичкам избежать сложностей конфигурации проекта
  • Адрес доступа к проекту: localhost:8000

Скриншоты системы (слева скрыта обложка)

  • Страница рекомендаций Рекомендации

  • Страница маркировки Маркировка

  • Локальная файловая система Локальные файлы

  • Страница загрузки номеров Загрузка номеров

  • Страница моделей Модели

  • Страница данных Данные

Как запустить проект ### Для Windows и macOS

Скачайте zip-архив, распакуйте его в любой каталог, затем создайте файл config.ini в папке data внутри вашего каталога. - Для Windows: выполните (дважды щелкните) файл bustag.exe - Для macOS: выполните (дважды щелкните) файл bustag - Браузер: localhost:8000, если страница открывается успешно, значит всё работает корректно. Если возникли проблемы, проверьте наличие ошибок в окне программы. ### Установка с использованием исходного кода Если вы знакомы с Python, вы можете клонировать этот проект, создать виртуальное окружение и установить все зависимости из файла requirements.txt. Затем запустите проект следующими командами:

python bustag/app/index.py

или, если установлен gunicorn,
gunicorn bustag.app.index:app --bind='0.0.0.0:8000'

Запуск с помощью Docker (рекомендуется)

  1. Создайте каталог, например, назовите его bustag, затем создайте в нем подкаталог data, который будет использоваться для хранения конфигурационных файлов и базы данных.
  2. В каталоге data создайте файл config.ini, который используется для настройки начального адреса и максимального количества загружаемых данных за один раз.
  3. Выполните команду запуска.
linux, mac
docker run --rm -d -e TZ=Asia/Shanghai -e PYTHONUNBUFFERED=1 -v $(pwd)/data:/app/data -p 8000:8000 gxtrobot/bustag-app

Windows PowerShell
docker run --rm -d -e TZ=Asia/Shanghai -e PYTHONUNBUFFERED=1 -v ${PWD}/data:/app/data -p 8000:8000 gxtrobot/bustag-app

Примечание:
-e TZ=Asia/Shanghai указывает настройку часового пояса контейнера Docker, если требуется другой часовой пояс, его можно самостоятельно установить; если ничего не указано, используется часовой пояс UTC по умолчанию.
-e PYTHONUNBUFFERED=1 указывает отображение всех логов вывода; если это значение не установлено, будут видны только логи ошибок уровня debug.## Как использовать проект

Пожалуйста, следуйте следующему порядку:

  1. Перейдите на страницу для маркировки данных, чтобы отметить данные до достижения определённого количества (например, 300 отметок "лайк" и "не лайк").
  2. Перейдите на другую страницу для обучения модели.
  3. Ждите автоматических рекомендаций системы.
  4. Подтвердите рекомендации на странице подтверждения (подтверждённые данные становятся данными для маркировки).
  5. Накопление большего количества данных для маркировки, повторное обучение модели; чем больше данных для маркировки, тем лучше работает модель.

Описание файлов в папке data

|____bus.db
|____config.ini
|____crontab.txt
|____model
| |____label_binarizer.pkl
| |____model.pkl
  • config.ini (файл конфигурации системы, обязательный, необходим при запуске системы, образец файла):
    • root_path: Указывает домашний адрес сайта bus, начальный адрес для парсинга, поскольку этот адрес может меняться, убедитесь, что он доступен с вашего компьютера; если требуется прокси-сервер для доступа, глобальный прокси-сервер должен быть активирован, система сама не имеет настроек прокси-сервера;
    • count: Количество загружаемых данных за один раз, рекомендуется не слишком большое количество, лучше всего меньше 500;
    • interval: Интервал времени между загрузками, измеряется в секундах, рекомендуется не менее 1800 секунд;
- crontab.txt (файл конфигурации для периодической загрузки, необязательный, [пример файла](./docker/crontab.txt));
- папка models (папка, содержащая модели, созданные системой).

## Другие вопросы

1. Изменение частоты автоматической загрузки
   Измените параметр interval в файле config.ini, единицы измерения — секунды, например, установите обновление каждые полчаса как `interval=1800`.

2. Изменение начального URL-адреса для загрузки
   Поскольку этот URL часто меняется, он определяется в config.ini -> download -> root_path, вы можете изменить его по своему желанию.

3. Можно ли использовать прокси-сервер?
   В настоящее время система не поддерживает использование прокси-сервера, однако вы можете настроить прокси-сервер через Docker.4. Какое количество загружаемых данных является подходящим?
   Исходя из стабильности парсинга, не рекомендуется загружать слишком много данных за один раз, так как это может вызвать нагрузку на сервер bus. При первом использовании можно увеличить количество до 1000, чтобы загрузить больше начальных данных для маркировки, а затем вернуться к значению 300.

5. Каковы результаты модели?
   После нескольких тестов был выбран модель KNN. Её эффективность нельзя назвать идеальной — точность достаточно высока, но recall ниже среднего. Это значит, что рекомендации имеют высокую точность, однако некоторые предпочитаемые данные могут быть пропущены.
   Поэтому, регулярно проверяйте качество рекомендаций, после чего используйте эти метки для обучения модели. Чем больше меток, тем лучше будет результат.6. Сколько меток требуется для обучения модели?
   Рекомендуется иметь как минимум 300 меток (включая "нравится" и "не нравится"). Для попытки обучения модели и проверки её производительности можно использовать эту базу данных. Если результат вас не устраивает, увеличьте количество меток и повторите обучение.

7. На какие данные была обучена модель?
   В настоящее время модель основана на различных метках, таких как категории фильмов, имена актёров и так далее. В данный момент заголовки не используются.

8. Как изменить порт запуска сервера?
   По умолчанию сервер запускается на порту bkpt_8000. Чтобы изменить его, вам потребуется модифицировать команду запуска Docker контейнера, например на bkpt_8000.
   
```markdown
Запустите с портом 8000, обратите внимание: следующий 8000 не следует менять, затем вы сможете получить доступ через localhost:8000

docker run --rm -d -v $(pwd)/data:/app/data -p 8000:8000 gxtrobot/bustag-app
  1. Как сделать бэкап базы данных? База данных системы хранится в файле bus.db в папке data. Если это необходимо, вы можете создать резервную копию этого файла. Например, если вы хотите вернуться к старым меткам при тестировании модели, вы можете восстановить базу данных до предыдущего состояния. Этот файл имеет формат SQLite и может быть открыт любым подходящим программным обеспечением, таким как DB Browser for SQLite, которое работает на многих платформах.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/dimld-bustag.git
git@api.gitlife.ru:oschina-mirror/dimld-bustag.git
oschina-mirror
dimld-bustag
dimld-bustag
master