Расширение конфигураций FB HydraPython

Программы на Python
Ответить Пред. темаСлед. тема
Гость
 Расширение конфигураций FB Hydra

Сообщение Гость »


Я пытаюсь использовать пакет Facebook Hydra для настройки проекта. В приведенном ниже примере я постарался сделать имена как можно более общими. Предположим, что существует несколько типов архитектуры модели (например, различные типы задач сегментации), которые пользователь может загрузить. Основное приложение загружает соответствующую модель с помощью ключа task в конфигурации модели.

Мое дерево файлов конфигурации выглядит так:

├── config.yaml ├── данные │   └── default.yaml ├── модель │   ├── задача_1 │   │   ├── base.yaml │   │   ├── вариант_1.yaml │   │   ├── вариант_2.yaml │   └── задача_2 │   ├── base.yaml │   ├── default.yaml │   ├── вариант_1.yaml Моя конфигурация по умолчанию содержит:

по умолчанию: - данные: по умолчанию - модель: задача_1/база Загрузка работает, и я получаю ключ model с содержимым файла конфигурации base.yaml.

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

launch("config", overrides=["model=task_1/variant_1"])` В variant_1.yaml я пробовал:

по умолчанию: - база но это исключение:

MissingConfigException: в «модели/задаче_1/вариант_1»: не удалось загрузить «модель/базу». если вместо этого я использую task_1/base, то это работает, но тогда вся базовая конфигурация загружается как отдельный ключ словаря под названием task_1:

{ задача_1: {из базы}, конфиг: {... из варианта_1}} } а не:

{ ... config: {база, расширенная другими параметрами из варианта_1} } Как правильно наследовать такую ​​вложенную структуру каталогов (или есть ли более канонический способ сделать это)? Документация Hydra, кажется, предполагает, что это просто, но я не могу понять это из примеров.
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»