python – TensorFlow,如何通过CNN查看“blob”内部的响应
我目前正在使用
https://github.com/AKSHAYUBHAT/TensorFace的VGG-face-discriptor.
VGG-face-discriptor使用VGG16和输出矢量2622,一些名人. import vggface from pprint import pprint import tensorflow as tf input_placeholder = tf.placeholder(tf.float32,shape=(1,224,3)) network = vggface.VGGFace() ses = tf.InteractiveSession() network.load(ses,input_placeholder) output = network.eval(feed_dict={input_placeholder:vggface.load_image('test/ak.png')})[0] pprint(sorted([(v,network.names[k]) for k,v in enumerate(output)],reverse=True)[:10]) 工作非常好,给我最接近的名人脸部结果. 结果: [(13.686731,'Aamir_Khan'),(8.4711819,'Adam_Driver'),(8.0207777,'Manish_Dayal'),(7.2776313,'John_Abraham'),(6.8999376,'Jacob_Artist'),(6.5390964,'Adam_Copeland'),(6.4980922,'Adrian_Paul'),(6.4170547,'Akshay_Kumar'),(6.3718734,'D.B._Woodside'),(6.0774565,'Ajay_Devgn')] 看着输出变量,我看到2622 numpy ndarry. 我查看了所有TensorFlow教程代码,但找不到这样的东西. out = net.forward() v = net.blobs['fc7'].data[0].copy() 很简单就是这样.我怎样才能在TensorFlow中看到’blob’? 解决方法
您可以使用session.run获取计算图中元素的当前值.
layer7_values = session.run(layer7_tf,feed_dict={<your inputs>}) 在此示例中,session是一个tf.Session()对象. layer7_tf是对TensorFlow模型中图层的Tensor输出的引用,layer7_values将包含给定输入的图层值作为numpy数组. 要获得layer7_tf的句柄,您有几个选项.您可以修改TensorFace / vggface / init.py以返回对相应图层的引用;或者你可以探索session.graph_def结构来找到与那个张量相对应的节点的名称,并传递张量的字符串名称(例如layer7_tf / foo / bar:0,其中:0对应于第0个输出对于session.run(),op称为layer7_tf / foo / bar. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |