У меня нет большого опыта в Tensorflow.Я пытаюсь использовать предварительно обученную модель ResNet152 для получения активаций последнего слоя в качестве вывода.Изображения, которые я использую для ввода, хранятся на моем жестком диске.Поэтому мне нужно загрузить изображения, предварительно обработать их, а затем получить выходные данные из предварительно обученной модели.Я нашел примеры для этого, используя URL-адреса изображений, но когда я пробую это с путями к изображениям, я не могу заставить это работать.Это то, что у меня есть (пока только одно изображение):
with tf.Graph().as_default():
filename_queue = tf.train.string_input_producer(['./testimg/A_008.jpg'])
reader = tf.WholeFileReader()
key, value = reader.read(filename_queue)
image = tf.image.decode_jpeg(value, channels=3)
preprocessing = preprocessing_factory.get_preprocessing('resnet_v2_152', is_training=False)
processed_image = preprocessing(image, 299,299)
processed_images = tf.expand_dims(processed_image, 0)
with slim.arg_scope(resnet_v2.resnet_arg_scope()):
logits, end_points = resnet_v2.resnet_v2_152(processed_images, is_training=False)
checkpoints_dir='./models/resnet_v2_152'
init_fn = slim.assign_from_checkpoint_fn(
os.path.join(checkpoints_dir, 'resnet_v2_152.ckpt'),
slim.get_variables_to_restore())
with tf.Session() as sess:
init_fn(sess)
np_image, fv = sess.run([image, logits])
Я делаю это в блокноте Jupyter.Когда я выполняю код, я не получаю сообщение об ошибке, оно просто продолжает работать и работает, пока я не перезапущу ядро.
Есть идеи, что я сделал не так?И как бы я сделал это для нескольких изображений?