Я хотел бы использовать одну из этих моделей pretrained tensorflow: https://github.com/tensorflow/models/tree/master/slimTensorflow: использование pretrained создания модели
После загрузки модели inceptionv4, у меня были проблемы с некоторыми тестируемых предсказаний. Существует аналогичный вопрос: Using pre-trained inception_resnet_v2 with Tensorflow
В этом вопросе решением было исправить предварительную обработку изображения. я попытался использовать диапазоны для цветовых каналов от 0 до 1 и от -1 до 1.
Вот мой код (я импортировал все из исходного файла inceptionv4):
checkpoint_file = '..\checkpoints\inception_resnet_v2_2016_08_30.ckpt'
sample_images = ['horse.jpg', 'hound.jpg']
sess = tf.Session()
im_size = 299
inception_v4.default_image_size = im_size
arg_scope = inception_utils.inception_arg_scope()
inputs = tf.placeholder(tf.float32, (None, im_size, im_size, 3))
with slim.arg_scope(arg_scope):
net, logits, end_points = inception_v4(inputs)
saver = tf.train.Saver()
saver.restore(sess,'..\checkpoints\inception_v4.ckpt')
for image in sample_images:
im = Image.open(image)
im = im.resize((299, 299))
im = np.array(im)
im = im.reshape(-1, 299, 299, 3)
im = 2. * (im/255.) - 1.
logit_values = sess.run(logits, feed_dict={inputs: im})
print(np.max(logit_values))
print(np.argmax(logit_values))
В код, я тестирую сеть с лошадью. Это картина.
При текущей предварительной обработке цветные каналы от -1 до 1, сеть считает, что эта лошадь является купальной крышкой. Для масштабирования от 0 до 1 он становится выпьем, по-видимому маленькой птицей. Я использовал эту таблицу для определения прогнозируемых классов: https://gist.github.com/aaronpolhamus/964a4411c0906315deb9f4a3723aac57
Я также проверил несколько изображений. Сеть постоянно отключена.
Что происходит не так?