tensorflow的cnn模型保存与导入

先说一下我的问题吧,预测的时候发现的,预测正确率非常低。。。总是出现几乎全是一类的情况。现象蜜汁奇怪~

在上一篇中看到了我有两个函数,一个是模型训练train(),训练后保存模型。一个是模型导入预测restore_model_ckpt(),导入模型,训练。一下做两种试验:

(1)两个函数一起

train()
restore_model_ckpt()
结果:上边是预测结果,下边是标签。。。看起来正确率很高有没有。。。
[0 2 1 2 3 2 2 3 2 0 1 1 2 3 1 0 0 3 0 2 2 3 3 0 0 2 0 0 1 2 1 0 3 3 2 3 1
 3 1 1 2 2 2 0 0 2 0 1 1 3 0 0 1 0 2 1 2 0 1 1 2 2 1 0 3 3 1 2 1 1 1 0 0 1
 3 1 1 3 2 0 3 2 2 2 3 0 3 3 0 3 2 1 1 3 3 1 0 1 1 2]
%d [0 2 1 2 3 2 2 3 2 0 0 1 2 3 3 0 0 3 0 2 2 3 3 0 0 2 0 0 1 2 1 0 3 3 2 3 3
 3 1 1 2 2 2 0 0 2 0 1 1 3 0 0 1 0 2 1 2 0 1 1 2 2 1 0 3 3 1 2 1 1 1 0 0 1
 3 1 1 3 2 0 3 2 2 2 3 0 3 3 0 3 2 1 1 3 3 1 0 1 1 3]
(2)先训练,后预测
 train()
 #restore_model_ckpt()
  #train()
  restore_model_ckpt()

结果:想哭有没有,总觉得很玄学~  

[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
%d [0 2 1 2 3 2 2 3 2 0 0 1 2 3 3 0 0 3 0 2 2 3 3 0 0 2 0 0 1 2 1 0 3 3 2 3 3
 3 1 1 2 2 2 0 0 2 0 1 1 3 0 0 1 0 2 1 2 0 1 1 2 2 1 0 3 3 1 2 1 1 1 0 0 1
 3 1 1 3 2 0 3 2 2 2 3 0 3 3 0 3 2 1 1 3 3 1 0 1 1 3]

或者

[1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1
 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]
%d [0 2 1 2 3 2 2 3 2 0 0 1 2 3 3 0 0 3 0 2 2 3 3 0 0 2 0 0 1 2 1 0 3 3 2 3 3
 3 1 1 2 2 2 0 0 2 0 1 1 3 0 0 1 0 2 1 2 0 1 1 2 2 1 0 3 3 1 2 1 1 1 0 0 1
 3 1 1 3 2 0 3 2 2 2 3 0 3 3 0 3 2 1 1 3 3 1 0 1 1 3]

思来想去觉得还是模型导入导出有问题。。。然后各种百度终于试出了正解。。

模型保存:

saver = tf.train.Saver(max_to_keep=1)
saver.save(sess, 'C:\pkl/my_test_model.ckpt')

模型导入:

saver = tf.train.Saver(max_to_keep=1)
saver.restore(sess, tf.train.latest_checkpoint('./'))

其余代码和上一篇中一样~~~

你可能感兴趣的:(tensorflow的cnn模型保存与导入)