保存Keras模型为没有TensorFlow的生产模式



我想保存一个训练好的Keras模型,以便它可以在应用程序的Django REST后端中使用。我做了很多研究,但似乎没有任何方法使用这些模型没有安装TensorFlow。

那么,这个存储空间有什么用呢?我不想在服务器上安装像TensorFlow这样沉重的库。我用pickle和joblib以及Keras自己的model.save()测试了保存。

有没有一种方法来加载这个模型,而不安装TensorFlow,只与Keras本身?

这是我的代码的一部分,

from keras.models import Sequential
from keras.layers import Dense, LSTM, Dropout
xtrain, ytrain = np.array(xtrain), np.array(ytrain)
ytrain = np.reshape(ytrain, (ytrain.shape[0], 1, 1))
model = Sequential()
model.add(LSTM(150, return_sequences=True, input_shape=(xtrain.shape[1], 1)))
model.add(LSTM(150, return_sequences=False))
model.add(Dense(25))
model.add(Dense(1))
model.compile(optimizer='adam', loss='mean_squared_error')
model.fit(xtrain, ytrain, batch_size=1, epochs=7)
model.save('model.h5')

通常工作完美,但如果我在其他地方使用模型,我得到这个错误:

ModuleNotFoundError: No module named 'tensorflow'

您不需要在生产中使用TensorFlow。您可以通过替换编程语言中的随机函数来使用系数。

示例:输入数组、时间系数矩阵和未装箱系统输入到盒容器中带有反馈系统的输出。

temp = tf.random.normal([10], 1, 0.2, tf.float32)
temp = np.asarray(temp) * np.asarray([ coefficient_0, coefficient_1, coefficient_2, coefficient_3, coefficient_4, coefficient_5, coefficient_6, coefficient_7, coefficient_8, coefficient_9 ]) #action = actions['up']
temp = tf.nn.softmax(temp)
action = int(np.argmin(temp))

相关内容

  • 没有找到相关文章

最新更新