Может кто-нибудь помочь понять, почему этот код не обрабатывает ВСЕ изображения? или как убедиться, что он обработал все изображения? Пожалуйста, смотрите, что случилось, когда я распечатал функции и метки:Почему эта петля, кажется, обрабатывает только одно изображение?
def extract_features(list_images):
nb_features = 2048
features = np.empty((len(list_images),nb_features))
labels = []
create_graph()
with tf.Session() as sess:
next_to_last_tensor = `sess.graph.get_tensor_by_name('pool_3:0')`
for ind, image in enumerate(list_images):
if (ind%100 == 0):
print('Processing %s...' % (image))
if not gfile.Exists(image):
tf.logging.fatal('File does not exist %s', image)
image_data = gfile.FastGFile(image, 'rb').read()
predictions = sess.run(next_to_last_tensor,
{'DecodeJpeg/contents:0': image_data})
features[ind,:] = np.squeeze(predictions)
labels.append(re.split('_\d+',image.split('/')[1])[0])
return features, labels
Как вы видите ниже, в [11]: «Обработка изображений/Young-Bengal-tiger.jpg ...», кажется, что LOOP только proccesed Одно изображение.
In [11]: features,labels = extract_features(list_images)
Обработка изображений/Young-Bengal-tiger.jpg ... W tensorflow/core/framework/op_def_util.cc: 332] Op BatchNormWithGlobalNormalization устарела. Он перестанет работать в GraphDef версии 9. Используйте tf.nn.batch_normalization().
я должен увидеть что-то вроде:
Processing images/baby_shoe_0.jpg...
Processing images/basketball_hoop_0.jpg...
Processing images/bath_spa_0.jpg...
Processing images/binocular_0.jpg...
Processing images/birdcage_0.jpg...
Processing images/birdhouse_0.jpg...
Processing images/boot_0.jpg...
Processing images/cabinet_0.jpg...
Processing images/calculator_0.jpg...
...etc...
Пожалуйста, смотрите изображение, содержащее:
- печати (функции)
- печати (этикетки)