我在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'])
这样定义一个密集模型:
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'])
所以我的问题是两个网络将一起工作,所以我必须在同一个tensorflow会话中运行它们两个,但我想将它们保存在两个不同的文件夹中。 我真的不知道是否有可能,因为我根本对运行tensorflow图完全不感兴趣,而且我只知道当我使用tensorflow saver时,我只会将会话和路径作为参数。
所以我的问题是如何将模型的存储空间分开放在两个文件夹中?
我想要这样做是因为我希望能够轻松更改我的RNN,而不必重新训练我的两个网络或不必覆盖我训练有素的RNN
如果我不清楚,请询问我更多详细信息
答案 0 :(得分:2)
所以我的问题是如何将模型的存储分为两个 文件夹?
Keras模型的save
方法接受文件路径,因此可以为各个模型指定不同的文件夹。
ModelRNN.save('folder1/<filename.h5>')
ModelDense.save('folder2/<filename.h5>')
https://www.tensorflow.org/tutorials/keras/save_and_restore_models#save_the_entire_model