Сохранить две модели в двух разных папках - PullRequest
0 голосов
/ 04 июля 2019

Я использую две разные последовательные модели нейронных сетей в моей программе на Python.

Одна модель RNN определена так:

import tensorflow as tf
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import LSTM, Dense, CuDNNLSTM

ModelRNN = Sequential()

ModelRNN.add(CuDNNLSTM(150, return_sequences=True, batch_size=None, input_shape=(None,10)))
ModelRNN.add(CuDNNLSTM(150, return_sequences=True))
ModelRNN.add(Dense(100, activation='relu'))
ModelRNN.add(Dense(10, activation='relu'))
optimizer = tf.keras.optimizers.Adam(lr=0.001)

ModelRNN.compile(loss='mean_squared_error', optimizer=optimizer, metrics=['accuracy'])

Одна модель Dense определена так:

ModelDense = Sequential()

ModelDense.add(Dense(380, batch_size=None, input_shape=(1,380), activation='elu'))
ModelDense.add(Dense(380, activation='elu'))
ModelDense.add(Dense(380, activation='elu'))
ModelDense.add(Dense(380, activation='elu'))
optimizer = tf.keras.optimizers.Adam(lr=0.00025)

ModelDense.compile(loss='mean_squared_error', optimizer=optimizer, metrics=['accuracy'])

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

Итак, мой вопрос: как я могу разделить хранилище своих моделей в две папки?

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

Если я не совсем уверен, пожалуйста, спросите меня для более подробной информации

1 Ответ

2 голосов
/ 04 июля 2019

Итак, мой вопрос: как я могу разделить хранилище моих моделей на две папки?

Метод save модели Keras принимает путь к файлу, поэтому разные папки могут бытьдано для отдельных моделей.

ModelRNN.save('folder1/<filename.h5>')
ModelDense.save('folder2/<filename.h5>')

https://www.tensorflow.org/tutorials/keras/save_and_restore_models#save_the_entire_model

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...