Метаобучение для поиска оптимальной модели из предварительно обученных моделей в Tensorflow

У меня много предварительно обученных моделей с разным количеством слоев (Модели не являются последовательными). Данные обучения имели форму (1, 1, 103) для этих моделей, а выходные данные представляли собой метку класса от 0 до 9.

Я загрузил эти сохраненные модели, установил все слои как необучаемые. Я использовал эти модели в новой архитектуре следующим образом:

      inp = keras.layers.Input(shape=(1,1,103), name = "new_input")

out_1 = model_1(inp) # model_1 is the name of variable where I loaded trained model
out_2 = model_2(inp)
out_3 = model_3(inp)
out_4 = model_4(inp)

x = keras.layers.concatenate([out_1, out_2, out_3, out_4])
out = keras.layers.dense(1)(x)

model = keras.models.Model(inputs=inp, outputs=out, name = "meta_model")

Когда я компилирую эту модель с а также .

До этого момента я не получал никаких ошибок, но когда я запускаю , я получаю эту ошибку TypeError: аргумент int() должен быть строкой, байтовым объектом или числом, а не «NoneType»

Я не уверен, где я ошибаюсь.

Предыдущие модели обучались с оптимизатор и потеря и набор данных имел 10 классов.

Цель этой модели состояла в том, чтобы обучить эту модель с теми же данными и попытаться выяснить, какая модель среди ранее обученных моделей была оптимальной.

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

например: при обучении на наборе данных1 я обнаружил, что после 7 слоев не было значительного увеличения точности, тогда как для набора данных2 он достиг своего пика на 4 слоях, и добавление дополнительных слоев было бесполезным.

1 ответ

Для настройки гиперпараметров могу порекомендовать Ray Tune. Я использую его, и мне очень нравится этот фреймворк.

https://docs.ray.io/en/latest/tune/examples/tune_mnist_keras.html

Другие вопросы по тегам