Перейти к содержанию

Оценки классификаторов и отложенная вкладка CLASS

Для кого: Для тех, у кого есть опубликованные профили классификаторов Rhythm Lab. Задача: Фильтровать и пересчитывать результаты классификаторов, не смешивая их с семействами анализа. Тип: Руководство

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

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

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

Что появляется в основном приложении

  1. Вы создаёте профиль в Rhythm Lab и размечаете примеры.
  2. Обучение создаёт артефакты-кандидаты, которые вы проверяете и публикуете.
  3. Основное приложение вычисляет оценки совместимых треков для опубликованного профиля.
  4. Вкладка CLASS фильтрует фонотеку по сохранённой оценке.
  5. SET может предпочитать или избегать признака, а также усиливать или ослаблять его по ходу черновика.

Бэкенд читает опубликованные локальные профили, только если их манифест корректен и совместим с актуальными входами. Клиент React ещё не перенесён на v7, поэтому описанное ниже поведение вкладки CLASS — ожидаемый дизайн, а не проверенный текущий контракт. Для расчёта используйте CLI или API.

Как хранится опубликованный классификатор

Он использует один указатель на неизменяемое поколение модели и манифеста:

text
models/classifiers/<artifact-prefix>/current.json
models/classifiers/<artifact-prefix>/generations/<generation-id>/model.joblib
models/classifiers/<artifact-prefix>/generations/<generation-id>/model.json

Перед атомарным переключением current.json Rhythm Lab проверяет и синхронизирует оба файла поколения. Обнаружение отклоняет неполное поколение и любое несовпадение хэша указателя, манифеста или модели.

Манифест описывает ключ классификатора, метки, идентификатор модели, состояние калибровки, необходимые входы и необязательные сведения о сигнале Hybrid. Версия 2 также требует точный контракт анализа SONARA для любого зависимого набора признаков.

Текущие опубликованные артефакты в models/classifiers/ используют версию 1. Среда показывает для них блокировку, но не рассчитывает оценки до переобучения и публикации в версии 2.

Фильтрация

Для каждого опубликованного классификатора отображается ползунок от 0.00 до 1.00. Фонотеку можно фильтровать по минимальной сохранённой оценке.

Трек без оценки не проходит положительный минимальный фильтр. В модификаторах SET и Hybrid отсутствующая оценка остаётся нейтральной.

Повторный расчёт

Кнопка запуска в строке классификатора сбрасывает и заново рассчитывает один ключ. Сначала интерфейс вызывает путь сброса, затем запускает /api/classifiers/{classifier_key}/analyze.

Расчёт работает только с базой данных. Он читает ровно те входы SONARA и MAEST/MERT/CLAP, которые указаны в опубликованном манифесте, и записывает Core classifier_scores. Аудио не декодируется, а задача не выполняется внутри SONARA или ML.

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

Этап анализа CLASSIFIERS

В левой панели есть отдельный флажок CLASSIFIERS. При его выборе снимаются флажки SONARA и ML; явно объединить все этапы в один упорядоченный конвейер можно через FULL. Единственная кнопка Analyze рассчитывает совместимые профили. Интерфейс показывает число готовых и неготовых пар согласно каждому манифесту и причины блокировки. Треки без необходимых входов исключаются до формирования общего количества и не получают частичной оценки. Если в сводном выборе ничего не отмечено, используются все совместимые опубликованные классификаторы.

SET и Hybrid

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

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

Если профили не появились

Опубликуйте профиль из Rhythm Lab либо поместите model.json и model.joblib в models/classifiers/<profile>/. См. Rhythm Lab.

Документация локального инструмента анализа музыкальной библиотеки.