私は、特定の順序でpythonスクリプトを実行する必要がある約13000個の画像を持っています。私はforループを使ってみましたが、正しい順序で画像を通過しません。これらの画像が格納されているフォルダは、必ずしも名前順ではありません。私は、順番にファイル名を含むcsvファイルを持っています。おそらく、それはcsvファイルを読み込んで、どのファイルを反復するのかを見つけることができますか?forループで画像を順番に調べる方法
複数の画像を分類し、tensorflow、python、retrainedグラフ、およびそれ以前に生成されたそれぞれのラベルを使用してcsvに印刷しようとしています。
import tensorflow as tf, sys
import csv
import numpy
import os
files_dir = os.getcwd() + '/Desktop/model/test_stg1/'
files = os.listdir(files_dir)
for f in files:
if f.lower().endswith(('.png', '.jpg', '.jpeg')):
image_path = files_dir + '/' + f
image_data = tf.gfile.FastGFile(image_path, 'rb').read()
label_lines = [line.rstrip() for line
in tf.gfile.GFile("/home/fly/Desktop/model/retrained_labels.txt")]
with tf.gfile.FastGFile("/home/fly/Desktop/model/retrained_graph.pb", 'rb') as f:
graph_def = tf.GraphDef()
graph_def.ParseFromString(f.read())
_ = tf.import_graph_def(graph_def, name='')
with tf.Session() as sess:
softmax_tensor = sess.graph.get_tensor_by_name('final_result:0')
predictions = sess.run(softmax_tensor, \
{'DecodeJpeg/contents:0': image_data})
top_k = predictions[0].argsort()[-len(predictions[0]):][::-1]
text_file = open("Outputtest2.csv", "a")
for node_id in top_k:
human_string = label_lines[node_id]
score = predictions[0][node_id]
print('%s (score = %.5f)' % (human_string, score))
text_file.write('%s (%.5f),' % (human_string, score))
あなたは 'ファイル=ソート(ファイル)'を行うことができますか? –
あなたの質問は何ですか?あなたの質問を改善するために、[最小限の、完全で検証可能なサンプルを作成する方法](https://stackoverflow.com/help/mcve)を参照してください。 – Craig
こんにちは@Craigあなたが見ることができるように、パブロはすでにこれに答えました:) – xion