【发布时间】:2016-08-31 16:36:51
【问题描述】:
对于大学研究,我正在研究牛津 17 花 alexnet 示例。该示例使用基于 tensorflow 的 API tflearn。训练在我的 GPU 上运行良好,一段时间后准确率达到了约 97%。
不幸的是,在 tflearn 中评估单个图像还不起作用,我将不得不使用 model.predict(...) 来预测每批的所有数据,并循环遍历我的所有测试集并自己计算准确性。
到目前为止我的训练代码:
...
import image_loader
X, Y = image_loader.load_data(one_hot=True, shuffle=False)
X = X.reshape(244,244)
# Build network
network = input_data(shape=[None, 224, 224, 3])
network = conv_2d(network, 96, 11, strides=4, activation='relu')
network = max_pool_2d(network, 3, strides=2)
network = local_response_normalization(network)
network = conv_2d(network, 256, 5, activation='relu')
network = max_pool_2d(network, 3, strides=2)
network = local_response_normalization(network)
network = conv_2d(network, 384, 3, activation='relu')
network = conv_2d(network, 384, 3, activation='relu')
network = conv_2d(network, 256, 3, activation='relu')
network = max_pool_2d(network, 3, strides=2)
network = local_response_normalization(network)
network = fully_connected(network, 4096, activation='tanh')
network = dropout(network, 0.5)
network = fully_connected(network, 4096, activation='tanh')
network = dropout(network, 0.5)
network = fully_connected(network, 17, activation='softmax')
network = regression(network, optimizer='momentum',
loss='categorical_crossentropy',
learning_rate=0.01)
# Training
model = tflearn.DNN(network, checkpoint_path='model_ba',
max_checkpoints=1, tensorboard_verbose=0)
model.fit(X, Y, n_epoch=3, validation_set=0.1, shuffle=True,
show_metric=True, batch_size=32, snapshot_step=400,
snapshot_epoch=False, run_id='ba_soccer_network')
代码以 .meta 文件的形式保存检查点“model_ba”和网络。 是否有可能加载已保存的检查点并使用 tensorflow 评估单个图像?
提前致谢, 阿诺
【问题讨论】:
-
你能检查
network/model是否有方法save或write? (灵感来自here) -
是的,确实有一个
model.save()保存了一个ckpt和一个meta文件(即使这个API中还有一个方法model.load(),我需要把保存的ckpt和meta加载到一个没有使用 tflearn API 的 tensorflow 代码)
标签: python tensorflow conv-neural-network