Оценки классификаторов и отложенная вкладка CLASS
Для кого: Для тех, у кого есть опубликованные профили классификаторов Rhythm Lab. Задача: Фильтровать и пересчитывать результаты классификаторов, не смешивая их с семействами анализа. Тип: Руководство
Классификатор полезен, когда вы снова и снова принимаете одно и то же личное решение, которое плохо выражается обычными тегами. Например, можно создать профиль, отделяющий треки с заметным вокалом от преимущественно инструментальных, или профиль определённого характера живых инструментов. Rhythm Lab учится на ваших примерах, а основное приложение сохраняет повторно используемую оценку для остальной совместимой фонотеки.
Эта оценка не обнаруживает объективный факт о музыке. Она отражает локальную границу, которую модель выучила по одному профилю и его меткам. Используйте её, чтобы сократить объём проверки, но обязательно слушайте пограничные и важные треки.
Для разовой идеи звучания лучше подходит поиск по референсному треку (seed) или тексту. Классификатор приносит наибольшую пользу, если один и тот же вопрос возникает во многих сессиях.
Что появляется в основном приложении
- Вы создаёте профиль в Rhythm Lab и размечаете примеры.
- Обучение создаёт артефакты-кандидаты, которые вы проверяете и публикуете.
- Основное приложение вычисляет оценки совместимых треков для опубликованного профиля.
- Вкладка CLASS фильтрует фонотеку по сохранённой оценке.
- SET может предпочитать или избегать признака, а также усиливать или ослаблять его по ходу черновика.
Бэкенд читает опубликованные локальные профили, только если их манифест корректен и совместим с актуальными входами. Клиент React ещё не перенесён на v7, поэтому описанное ниже поведение вкладки CLASS — ожидаемый дизайн, а не проверенный текущий контракт. Для расчёта используйте CLI или API.
Как хранится опубликованный классификатор
Он использует один указатель на неизменяемое поколение модели и манифеста:
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.