2016-07-13 11 views
1

Ich möchte alle jpg in Unterverzeichnissen in einem anderen Verzeichnis ('all_image_dir') gespeichert lesen. Die Verzeichnisnamen sind wie '001', '002' usw.Tensorflow: Lesen Sie jpg's in verschiedenen Verzeichnissen

Es ist kein Problem, alle jpg in einem bestimmten Verzeichnis zu lesen, zum Beispiel ‚all_image_dir/001, mit:

filename_queue = tf.train.string_input_producer(tf.train.match_filenames_once('all_image_dir/001/*.jpg')) 

Um Zugang alle jpg in allen Verzeichnissen, habe ich versucht, so etwas wie diese:

filename_queue = tf.train.string_input_producer(tf.train.match_filenames_once('all_image_dir/*/*.JPG')) 

Aber das funktioniert nicht ... - wie kann ich das tun?

Antwort

2

Der pattern Musterparameter zu tf.train.match_filenames_once ist ziemlich begrenzt. Für Ihren speziellen Fall nehmen Sie an, dass Ihre Unterverzeichnisse 001, , ... 020 sind. Sie können die folgende tun, um die gleiche Wirkung wie 'all_image_dir/*/*.JPG' zu erreichen:

Holen Sie sich die Dateien in 001, 002 etc. separat in Terminal

ln -s folder1 1 
ln -s folder2 2 
... 
ln -s folder20 20 

Dann:

ich weiter entdeckt
all_files = [tf.train.match_filenames_once(
    'all_image_dir/%03d/*' % x) for x in range(20)] 
# Concatenate the list of all the files before passing to string_input_producer 
filename_queue = tf.train.string_input_producer(tf.concat(0, all_files)] 
+0

Vielen Dank! Das funktioniert sehr gut ... – meridius

0

Inzwischen (subsub-) Verzeichnisse innerhalb der nun zugänglichen Unterverzeichnisse: zum Beispiel 'all_image_dir/101/verschiede_name_dir/*. jpg. Leider werden diese Verzeichnisse nicht einfach benannt (bzw. nummeriert), sondern haben verschiedene Namen ... - Gibt es einen allgemeinen Weg, mit dieser Situation umzugehen?

+0

Ich wollte nur erwähnen, dass ich alle JPGs mit dem ubuntu-Terminal in ein Verzeichnis verschoben habe. Praktisch, das Problem ist gelöst ... – meridius

+0

wenn Sie nicht genug Bilder haben, um die Kapazität von Dateien/Ordner des zugrunde liegenden FS überlaufen ... sonst wird es nicht funktionieren ... –

Verwandte Themen