Я новичок в использовании ray.tune. У меня уже есть моя сеть, написанная в модульном формате, и сейчас я пытаюсь включить ray.tune, но я не знаю, где инициализировать модель (вместо обновления возмущенных гиперпараметров), чтобы модель и веса не были повторно инициализированыкогда рабочий усекается и заменяется более эффективным работником.
Справочная информация
Я использую планировщик PBT из ray.tune, который создает число моделей (рабочих) num_samples, каждая из которых инициализированас другим набором выборочных гиперпараметров. Когда модель оценивается, если она работает плохо, она останавливается и загружает контрольную точку одного из самых эффективных работников. Как только он загружен (это глубокая копия сети), гиперпараметры возмущаются, и затем он будет работать до следующей оценки.
Класс MyTrainable должен иметь функции _setup, _train, _save и _restore. Настройка вызывает переменную конфигурации, и именно здесь реализуются новые выборочные гиперпараметры.
Мой вопрос: где должна быть определена оригинальная модель? Я могу легко реализовать обновленные HP в этом разделе. Но я не видел нигде в документации, где я могу передать предопределенную модель в функцию ray.tune.run. Если я сохраню функцию create_model () в _setup (), то это исключит ранее обученные веса, что является частью преимущества этого метода.
Код
Вот 3 функцииУ меня есть:
self._hyperparameters(config) # redefines the self.opt options accoring to the new perturbations
self.model.update_optimizer(self.opt) # redefines the optimizers using the new learning rates and the beta values for Adam
self.model = create_model(self.opt) # Original function that defines the initial model and initializes the weights