【问题标题】:how to store and access trained neural networks如何存储和访问训练有素的神经网络
【发布时间】:2018-01-23 21:23:29
【问题描述】:

我最近刚开始使用 keras 在 python 上学习 NN,我有一个非常明显的问题,似乎没有人提到它的答案。

问题很简单。

在您获取数据、构建模型并训练您的网络之后会发生什么?
每个教程都会彻底完成,但从不提及如何使用训练好的模型或在此之后存储它。
例如,我用 keras 编写了这个简单的代码来训练 MNIST 上的网络:

model = Sequential()
model.add(Convolution2D(32, kernel_size=3,data_format="channels_first", 
activation='relu', input_shape=(1,28,28)))
model.add(Convolution2D(32, (3 ,3), activation='relu'))
model.add(MaxPooling2D(pool_size=(2,2)))
model.add(Dropout(0.25))
model.add(Flatten())
model.add(Dense(128, activation='relu'))
model.add(Dropout(0.5))
model.add(Dense(10, activation='softmax'))
#compiling
model.compile(loss='categorical_crossentropy',optimizer='adam',metrics=['accuracy'])
#fitting and training
model.fit(X_train, Y_train,batch_size=32, epochs=1, verbose=1)

现在我如何存储最终的网络并在关闭编辑器后再次使用它?

例如,如果我想构建一个简单的 Web 界面来上传 MNIST 图片并通过预训练模型运行它并检测答案。

我如何用 Python 存储训练好的模型,用 JS 或 php 访问它,通过它运行上传的图片,并将输出返回给用户。

谢谢,如果我的问题看起来很愚蠢或很明显,我很抱歉。

【问题讨论】:

    标签: python neural-network keras


    【解决方案1】:

    这是一个示例,您可以如何将您的神经网络保存在 json 和 h5 中的 keras 中:

    # serialize model to JSON
    model_json = model.to_json()
    with open("model.json", "w") as json_file:
        json_file.write(model_json)
    # serialize weights to HDF5
    model.save_weights("model.h5")
    print("Saved model to disk")
    

    这就是你可以再次加载它的方式:

    # load json and create model
    json_file = open('model.json', 'r')
    loaded_model_json = json_file.read()
    json_file.close()
    loaded_model = model_from_json(loaded_model_json)
    # load weights into new model
    loaded_model.load_weights("model.h5")
    print("Loaded model from disk")
    

    最后,您可以在新的测试数据上评估加载的模型:

    # evaluate loaded model on test data
    loaded_model.compile(loss='binary_crossentropy', optimizer='rmsprop', metrics=['accuracy'])
    score = loaded_model.evaluate(X, Y, verbose=0)
    print("%s: %.2f%%" % (loaded_model.metrics_names[1], score[1]*100))
    

    【讨论】:

      猜你喜欢
      • 2016-12-16
      • 2017-04-21
      • 1970-01-01
      • 1970-01-01
      • 2011-04-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-19
      相关资源
      最近更新 更多