意图在我的张量流模型上加载权重

时间:2018-01-29 13:51:41

标签: python tensorflow deep-learning

我已经在tensorflow上实施并训练了一个resnet模型。 我这样保存了它:

save_path=saver.save(sess,"/home/.../model.ckpt",global_step=50)
        saver.save(sess,"/home/s.../model.ckpt",global_step=50)

在另一个脚本上,我尝试加载它并在某些图像上测试它。

我的脚本是这样构建的:

files = [s for s in os.listdir(dossier_source+'/'+d) if s.endswith(".png") or(".jpeg")]
        print files.__len__()
        batch_size_arg=files.__len__()
        x = tf.placeholder(tf.float32, [None,IMAGE_WIDTH,IMAGE_HEIGHT,NUMBER_OF_CHANNELS], name='x-input')
        y = tf.placeholder(tf.int32, [None], name='y-input')
        train_file =str(dossier_source+d+"/*.png")

我重新创建所有变量[..]

with tf.Session() as sess:

            sess.run(tf.local_variables_initializer())

            saver=tf.train.Saver()

            saver.restore(sess,tf.train.latest_checkpoint(global_path))
            tab= sess.run('conv0/conv:0')
            print tab[0][0][0] #here is a little test that proves conv0 weights is the same as the ones i get on training

            for i in xrange(1):
                im_batch, lab_batch = sess.run([images_batch, labels_batch])

                curr=sess.run(accuracy,feed_dict={x: im_batch, y: lab_batch})
                top=sess.run(top_k_op ,feed_dict={x: im_batch, y: lab_batch})
                conf =sess.run(confusion,feed_dict={x: im_batch, y: lab_batch, })
                print "Results"

                print curr
                print conf

我的问题是,即使conv0每次都显示相同的权重,但混淆表和结果在同一图像上的每次测试中都是不同的....

当我加载我的重量和模型时,我做错了吗?

  

编辑:

通过最新测试,我意识到如果我做了

for i in xrange(3):
                im_batch, lab_batch = sess.run([images_batch, labels_batch])

                curr=sess.run(accuracy,feed_dict={x: im_batch, y: lab_batch})
                top=sess.run(top_k_op ,feed_dict={x: im_batch, y: lab_batch})
                conf =sess.run(confusion,feed_dict={x: im_batch, y: lab_batch, })
                print "Results"

                print curr
                print conf

在同一批3张图片上,我得到了不同的结果。

0 个答案:

没有答案