1、首先就要下載模型結構
首先要做的就是下載訓練好的模型結構和預訓練好的模型,結構地址是:點擊打開鏈接
模型結構如下:
文件test_vgg16.py可以用於提取特征。其中vgg16.npy是需要單獨下載的文件。
2、使用預訓練的模型提取特征
打開test_vgg16.py,做如下修改:
1 import numpy as np 2 import tensorflow as tf 3 4 import vgg16 5 import utils 6 7 img1 = utils.load_image("./test_data/tiger.jpeg") 8 img2 = utils.load_image("./test_data/puzzle.jpeg") 9 10 batch1 = img1.reshape((1, 224, 224, 3)) 11 batch2 = img2.reshape((1, 224, 224, 3)) 12 13 batch = np.concatenate((batch1, batch2), 0) 14 15 # with tf.Session(config=tf.ConfigProto(gpu_options=(tf.GPUOptions(per_process_gpu_memory_fraction=0.7)))) as sess: 16 with tf.device('/cpu:0'): 17 with tf.Session() as sess: 18 images = tf.placeholder("float", [2, 224, 224, 3]) 19 feed_dict = {images: batch} 20 21 vgg = vgg16.Vgg16() 22 with tf.name_scope("content_vgg"): 23 vgg.build(images) 24 25 prob = sess.run(vgg.fc7, feed_dict=feed_dict) #需要提取哪一層特征,就在這里做修改,比如fc6,只需要把vgg.fc7修改為vgg.fc6 26 print(prob) 27 # utils.print_prob(prob[0], './synset.txt') 28 # utils.print_prob(prob[1], './synset.txt')
提取哪一層的特征,需要把名字修改一下即可,而名字可以查vgg16.py,里面定義了每一層的名字。
自此,所有操作已經完畢,相對還是挺簡單的。
如果還有問題未能得到解決,搜索887934385交流群,進入后下載資料工具安裝包等。最后,感謝觀看!