如何从model.fit MXNet Python打印处理步骤/报告

时间:2017-08-13 02:09:02

标签: python mxnet

我正在尝试使用MXNet深度学习库训练我的20x20图像数据集,您可以看到以下代码: 问题是当我运行它时,虽然它没有显示任何错误但它没有返回任何内容,我的意思是它没有显示任何处理,如:

时代0:........准确度:.....

时代1:........准确度:.....

那么,我该如何打印这样的处理格式,或者可能出现问题? 注意:我尝试了各种类型的Callback API:http://mxnet.io/api/python/callback.html?fref=gc并且没有一个给出任何响应;代码工作没有错误,但没有显示处理步骤!

提前致谢

X_train = []
training_flatten_rows_mxnet_csv=np.loadtxt("training_set_flatten_rows_mxnet.csv", delimiter=",")
train_data = training_flatten_rows_mxnet_csv
X_train = train_data.reshape((training_counter,1,20,20))
Y_train = np.loadtxt("training_labels.csv", delimiter=",")

X_validate = []
validate_flatten_rows_mxnet_csv=np.loadtxt("validation_set_flatten_rows_mxnet.csv", delimiter=",")
validate_data = validate_flatten_rows_mxnet_csv
X_validate = validate_data.reshape((validate_counter,1,20,20))
Y_validate = np.loadtxt("validate_labels.csv", delimiter=",")

train_iterator = mx.io.NDArrayIter(X_train, Y_train, batch_size=batch_size,shuffle=True)#,last_batch_handle='discard')
validate_iterator = mx.io.NDArrayIter(X_validate, Y_validate, batch_size=batch_size,shuffle=True)

data = mx.sym.var('data')

conv1 = mx.sym.Convolution(data=data, kernel=(3,3), num_filter=6)
relu1 = mx.sym.Activation(data=conv1, act_type="relu")
pool1 = mx.sym.Pooling(data=relu1, pool_type="max", kernel=(2,2), stride=(2,2))

conv2 = mx.sym.Convolution(data=pool1, kernel=(6,6), num_filter=12)
relu2 = mx.sym.Activation(data=conv2, act_type="relu")
pool2 = mx.sym.Pooling(data=relu2, pool_type="max", kernel=(2,2), stride=(2,2))

flatten = mx.sym.flatten(data=pool2)
fc1 = mx.symbol.FullyConnected(data=flatten, num_hidden=12 )

lenet = mx.sym.SoftmaxOutput(data=fc1, name='softmax')

lenet_model = mx.mod.Module(symbol=lenet, context=mx.cpu())

lenet_model.fit(train_iterator,
                eval_data=validate_iterator,
                optimizer='sgd',
                optimizer_params={'learning_rate':0.1},
                eval_metric='acc',
                batch_end_callback =mx.callback.Speedometer(batch_size, 100),
                num_epoch=5)

1 个答案:

答案 0 :(得分:2)

解决 将这些行添加到您的代码中:

import logging
logging.getLogger().setLevel(logging.INFO)

对于不同类型的处理报告,请参阅" MXNet中的回调API"