CNN样本分类验证

神经网络训练完成后需要样本来验证神经网络的性能,或者说使用神经网络的分类功能。需要加载你当前训练完成后神经网络的权重对样本进行计算,输出一个理想的结果。
首先需要将需要验证的图像转换成为神经网络batch的大小,比如说:我的神经网络输入的batch大小是10*224*224*3的,而我读入的图像是224*224*3大小的图像,那么我需要用numpy的concat函数将输入的图像转换成为10*224*224*3大小。
接下来需要加载训练中保存的神经网络模型和参数,用saver即可实现。然后定义你输入的节点和想要看的输出节点,然后run即可。

代码如下

import numpy as np
import tensorflow as tf

img = load_image("data/cat.jpg")
imgs = np.concatenate((img,img,img,img,img,img,img,img,img,img),axis=0)#此处将输入图像调整为神经网络的输入大小
print(imgs)
sess = tf.Session()

new_saver = tf.train.import_meta_graph("/tmp/resnet_train/data/model.ckpt-51.meta")
new_saver.restore(sess, "/tmp/resnet_train/data/model.ckpt-51")#将训练图和数据取出

graph = tf.get_default_graph()
prob_tensor = graph.get_tensor_by_name("prob:0")
images = graph.get_tensor_by_name("images:0")#定义输入输出
for op in graph.get_operations():
    print op.name

#init = tf.initialize_all_variables()
#sess.run(init)
print "graph restored"

batch = imgs.reshape((10, 224, 224, 3))

feed_dict = {images: batch}

prob = sess.run(prob_tensor, feed_dict=feed_dict)

print_prob(prob[0])#输出判决结果

千万不要用tf去读取图像数据,否则会卡死,我也不知道怎么回事。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值