В настоящее время я использую VGG-face-disccriptor от https://github.com/AKSHAYUBHAT/TensorFace.TensorFlow, как смотреть внутри «blob», ответ через CNN
VGG-лицо-дескриптор использует VGG16 и выходной вектор 2622, ряд классных знаменитостей. Что мне действительно нужно, это ответ второго последний полностью подключен слой, размер которого составляет 4096. Используя предоставленный код из репозитория я упоминал выше
import vggface
from pprint import pprint
import tensorflow as tf
input_placeholder = tf.placeholder(tf.float32, shape=(1, 224, 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')]
Глядя на output
Название переменной, я вижу 2622 Numpy ndarry. Но я действительно хочу второй последний вектор функции. Как я могу это достичь?
Я просмотрел все коды учебников TensorFlow, но не могу найти что-то вроде этого. С Caffe, я просто
out = net.forward()
v = net.blobs['fc7'].data[0].copy()
Простой было. Как я могу видеть через «blob» в TensorFlow? С цветным векторным элементом?
Thx для вашего ответа !! Это помогает – nelya9227