我是tensorflow的新手,我尝试使用Tensorflow: use pretrained inception model中提到的脚本,以避免使用TF记录,但我所有的预测都在同一个错误的类中结束。然而,评估分类器会产生正确的结果,所以它不是模型,我认为预处理是我做错的地方。
因此,我决定尝试使用inception预处理函数,但现在它不接受我的jpgs。我得到了这个错误:
inception_preprocessing.py", line 265, in preprocess_for_eval
image = tf.image.central_crop(image, central_fraction=central_fraction)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/image_ops_impl.py", line 335, in central_crop
_Check3DImage(image, require_static=False)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/image_ops_impl.py", line 129, in _Check3DImage
raise ValueError("'image' must be three-dimensional.")
ValueError: 'image' must be three-dimensional.
下面是我的代码:
arg_scope = inception_utils.inception_arg_scope()
im_size = 299
inputs = tf.placeholder(tf.float32, (None, im_size, im_size, 3))
inputs = inception_preprocessing.preprocess_image(inputs, im_size, im_size)
with slim.arg_scope(arg_scope):
logits, end_points = inception_v4.inception_v4(inputs)
saver = tf.train.Saver()
saver.restore(sess,ckpt_file)
for image in sample_img:
im = Image.open(image)
im = im.resize((im_size,im_size))
im = np.array(im)
logit_values = sess.run(logits, feed_dict={inputs:im})
print(np.argmax(logit_values))
转载请注明出处:http://www.fortunesungroup.com/article/20230331/1377750.html