def crack_captcha():
output = crack_captcha_cnn()
saver = tf.train.Saver()
with tf.Session() as sess:
saver.restore(sess, "./tmp/ckpt/model")
count = 0
predict = tf.argmax(tf.reshape(output, [-1, MAX_CAPTCHA, CHAR_SET_LEN]), 2)
for i in range(get_test_sets_length()):#get_test_sets_length()
text, image = get_test_captcha_text_and_image(i)
image = convert2gray(image)
captcha_image = image.flatten() / 255
text_list = sess.run(predict, feed_dict={X: [captcha_image], keep_prob: 1})
predict_text = text_list[0].tolist()
#print(predict_text)
vector = np.zeros(MAX_CAPTCHA * CHAR_SET_LEN)
s = 0
for n in predict_text:
vector[s * CHAR_SET_LEN + n] = 1
s += 1
predict_text = vec2text(vector)
#print(predict_text)
if text == predict_text:
count += 1
check_result = ",预测结果正确"
else:
check_result = ",预测结果不正确"
print(str(i) + ':' +"正确: {} 预测: {}".format(text, predict_text) + check_result)
#print(text + ',' + predict_text)
print("正确率:" + str(count) + "/" + str(get_test_sets_length()))
print((count)/(get_test_sets_length()))
#测试时将下面一行代码的注释去掉
#crack_captcha()
调用测试神经网络的函数
crack_captcha()
得到的正确率为