Обучение одной модели с разными наборами данных в тензорном потоке
Проблема: у меня есть модель, которую я хотел бы тренировать с независимыми наборами данных. После этого я хотел бы извлечь весовые коэффициенты каждой модели (модель одинакова для каждого экземпляра, но обучен с использованием разных наборов данных) и, наконец, вычислить и усреднить эти весовые коэффициенты. По сути, я намерен имитировать тензорный поток, работающий на нескольких устройствах, а затем усреднить их веса, чтобы они использовались одной моделью.
Мое решение: я несколько раз добавлял эту модель в tenorflow и в настоящее время обучаю каждую из этих моделей отдельно с ее уникальным набором данных... но это использует ГБ памяти, и мне интересно, есть ли лучший способ сделать это?
1 ответ
Одним из возможных решений является то, что вы можете точно настроить вес вашей сети с другими подобными сетями (схожие наборы данных, т. е. если ваш набор данных является изображениями, вы можете использовать весы AlexNet), не бойтесь, если ваша сеть не имеет такой же архитектуры, вы Вы можете просто загружать веса слоев, сколько вам нужно, с помощью функции load_with_skip https://github.com/joelthchao/tensorflow-finetune-flickr-style/blob/master/network.py
тонкая настройка требует гораздо меньше, чем обучающие сети с нуля,