Python tensorflow对多幅图像进行分类
我使用的是Tensorflow图像分类示例()。 如何一次对多个图像进行分类 EDIT:理想情况下,我只需传入一个图像和一个数字(Python tensorflow对多幅图像进行分类,python,image,tensorflow,classification,Python,Image,Tensorflow,Classification,我使用的是Tensorflow图像分类示例()。 如何一次对多个图像进行分类 EDIT:理想情况下,我只需传入一个图像和一个数字(nb)作为参数,然后将输入作为该图像的一部分进行分类 文件是classify\u image.py,重要部分是: def run_inference_on_image(image): """Runs inference on an image. Args: image: Image file name. Returns: Nothing """ if not tf
nb
)作为参数,然后将输入作为该图像的一部分进行分类
文件是classify\u image.py
,重要部分是:
def run_inference_on_image(image):
"""Runs inference on an image.
Args:
image: Image file name.
Returns:
Nothing
"""
if not tf.gfile.Exists(image):
tf.logging.fatal('File does not exist %s', image)
image_data = tf.gfile.FastGFile(image, 'rb').read()
# Creates graph from saved GraphDef.
create_graph()
with tf.Session() as sess:
# Some useful tensors:
# 'softmax:0': A tensor containing the normalized prediction across
# 1000 labels.
# 'pool_3:0': A tensor containing the next-to-last layer containing 2048
# float description of the image.
# 'DecodeJpeg/contents:0': A tensor containing a string providing JPEG
# encoding of the image.
# Runs the softmax tensor by feeding the image_data as input to the graph.
softmax_tensor = sess.graph.get_tensor_by_name('softmax:0')
predictions = sess.run(softmax_tensor,
{'DecodeJpeg/contents:0': image_data})
predictions = np.squeeze(predictions)
# Creates node ID --> English string lookup.
node_lookup = NodeLookup()
top_k = predictions.argsort()[-FLAGS.num_top_predictions:][::-1]
for node_id in top_k:
human_string = node_lookup.id_to_string(node_id)
score = predictions[node_id]
print('%s (score = %.5f)' % (human_string, score))
def main(_):
maybe_download_and_extract()
image = (FLAGS.image_file if FLAGS.image_file else
os.path.join(FLAGS.model_dir, 'cropped_panda.jpg'))
run_inference_on_image(image)
与您相关的代码如下所示:
def main(_):
maybe_download_and_extract()
image = (FLAGS.image_file if FLAGS.image_file else
os.path.join(FLAGS.model_dir, 'cropped_panda.jpg'))
run_inference_on_image(image)
为了对“图像”文件夹中的所有png、jpeg或jpg文件进行预测,可以执行以下操作:
def main(_):
maybe_download_and_extract()
# search for files in 'images' dir
files_dir = os.getcwd() + '/images'
files = os.listdir(files_dir)
# loop over files, print prediction if it is an image
for f in files:
if f.lower().endswith(('.png', '.jpg', '.jpeg')):
image_path = files_dir + '/' + f
print run_inference_on_image(image_path)
这将打印出该文件夹中所有图像的预测结果到目前为止,您的代码是什么?请将其添加到您的问题中。您需要的应该很容易实现,但我们需要您读取图像并调用所显示内容的部分。调用不是在main中进行的,图像读取是在前几行中完成的(image_data=tf.gfile.FastGFile(image,'rb').read())?@mathetes整个文件在这里: