Наборы данных, кэшированные различными выпусками Vowpal Wabbit

По определенным причинам я использую 2 разных выпуска VW: последнюю версию разработки (8.1.1) для своих экспериментов и «последний стабильный» выпуск 7.10 для производства. Итак, вопрос: что произойдет, если я просто укажу флаг -c для производственной модели, тренируясь на том же наборе данных, который использовался Vowpal Wabbit 8.1.1?

  • Будет ли он восстанавливать кеш с нуля?
  • Будет ли он просто повторно использовать ранее сохраненный кеш? Если это так, совместимы ли двоичные форматы для разных выпусков VW?

Я наткнулся на следующее предложение в документах:

Если кеш существует и новее, чем набор данных, он будет использоваться, если он не существует, он будет создан при первом использовании -c.

Это относится и к другим выпускам?


person kurtosis    schedule 22.12.2015    source источник


Ответы (2)


Согласно исходному коду, cache перестраивается, если версия, хранящаяся в файле кеша, отличается от текущей версии VW.

Думаю формат кеша меняется не так часто, так что может рискнешь и отключишь проверку. Я не уверен в совместимости кеша 8.1.1 и 7.10.

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

person Martin Popel    schedule 23.12.2015

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

person truf    schedule 23.12.2015