Могу ли я выполнить обрезку к предварительно подготовленной модели керас с помощью набора инструментов оптимизации модели кеора тензор? - PullRequest
0 голосов
/ 31 мая 2019

у меня керас предварительно тренировал модель (модель.х5).И я хочу обрезать эту модель с помощью тензорного весового обрезания веса с помощью Keras.Любопытно, что моя предварительно обученная модель построена с использованием оригинальной модели keras> Я имею в виду, что она не из tenorflow.keras.Внутри tenorflow Масштабирование на основе величины на примере Keras показывает, как поступить с моделью tenorflow.keras.Я хочу спросить: можно ли использовать их инструмент для обрезки моей первоначальной модели с предварительным обучением керасу?

в их наборе инструментов для сокращения веса, есть два пути.один сокращает модель слой за слоем во время обучения, а второй - всю модель.Я попробовал второй способ обрезать всю подготовленную модель.ниже мой код.в их инструментарии для подрезания веса есть два пути.один сокращает модель слой за слоем во время обучения, а второй - всю модель.Я попробовал второй способ обрезать всю подготовленную модель.ниже мой код.Для моей исходной предварительно обученной модели я загружаю вес из model.h5 и могу вызвать model.summary () после того, как я применю prune_low_magnitude (), ни один из методов модели не может вызвать, включая метод model.summary ().И покажите ошибку наподобие AttributeError: у объекта 'NoneType' нет атрибута 'summary'

model = get_training_model(weight_decay)
model.load_weights('model/keras/model.h5')
model.summary()


epochs = 1
end_step = np.ceil(1.0 * 100 / 2).astype(np.int32) * epochs
print(end_step)

new_pruning_params = {
      'pruning_schedule': tfm.sparsity.keras.PolynomialDecay(initial_sparsity=0.1,
                                                   final_sparsity=0.90,
                                                   begin_step=40,
                                                   end_step=end_step,
                                                   frequency=30)
}

new_pruned_model = tfm.sparsity.keras.prune_low_magnitude(model, **new_pruning_params)
print(new_pruned_model.summary())

Внутри своего инструментария сокращения веса введите описание ссылки здесь , есть два пути.один сокращает модель слой за слоем во время обучения, а второй - всю модель.Я попробовал второй способ обрезать всю подготовленную модель.ниже мой код.Для моей исходной предварительно обученной модели я загружаю вес из model.h5 и могу вызвать model.summary () после того, как я применю prune_low_magnitude (), ни один из методов модели не может вызвать, включая метод model.summary ().И покажите ошибку, как

AttributeError: у объекта 'NoneType' нет атрибута 'summary'

...