mnist训练的cnn模型测试自己的手写数字

拿自己的手写数字试了下之前拿mnist训练的cnn模型;

代码和示例中用的cnn代码一样的,最后加了个保存模型和处理图像的部分;

saver = tf.train.Saver()  # defaults to saving all variables;记录;
saver.save(sess, '.../number_model.ckpt')  #保存模型参数;

#加了一个函数处理图像;
def imageprepare(infile):

    im = Image.open(infile).convert('1')
    im=im.resize((28,28))

    plt.imshow(im)
    plt.show()
    data1 = np.asarray(im.getdata()) # 这个得到的矩阵里,255是白色,0是黑色;让它变成0是白,1是黑; 
    data1 = (255-data1)/255 

    return data1


infile=".../original_img.jpg"#在画图随手画了个,保存在路径下;
with tf.Session() as sess:
    sess.run(tf.global_variables_initializer())
    saver.restore(sess, "D:/coding/number_model.ckpt")#.restore()恢复之前保存的变量;


    result1=imageprepare(infile)
    prediction=tf.argmax(y_conv,1)
    predint=prediction.eval(feed_dict={x: [result1],keep_prob: 1.0}, session=sess)
    print(h_conv2)

    print('recognize result:')
    print(predint[0])

mnist训练的cnn模型测试自己的手写数字_第1张图片

  • 自己多试了几下,写的7有时候会误认成3,像素处理的比较小容易认错;其他数字识别没问题;回头再看下改进。

你可能感兴趣的:(python,TF-Girl)