Je suis nouveau sur TensorFlow. Je cherche de l'aide sur la reconnaissance d'image où je peux former ma propre image ensemble de données.
Existe-t-il un exemple pour la formation du nouvel ensemble de données?
Si vous souhaitez savoir comment entrer vos propres données dans TensorFlow, vous pouvez consulter ce didacticiel .
J'ai également rédigé un guide contenant les meilleures pratiques pour le CS230 à Stanford ici .
tf.data
) Et avec étiquettesAvec l'introduction de tf.data
Dans r1.4
, Nous pouvons créer un lot d'images sans espaces réservés et sans files d'attente. Les étapes sont les suivantes:
tf.data.Dataset
Lisant ces noms de fichiers et étiquettestf.data.Dataset
Qui donnera le prochain lotLe code est:
# step 1
filenames = tf.constant(['im_01.jpg', 'im_02.jpg', 'im_03.jpg', 'im_04.jpg'])
labels = tf.constant([0, 1, 0, 1])
# step 2: create a dataset returning slices of `filenames`
dataset = tf.data.Dataset.from_tensor_slices((filenames, labels))
# step 3: parse every image in the dataset using `map`
def _parse_function(filename, label):
image_string = tf.read_file(filename)
image_decoded = tf.image.decode_jpeg(image_string, channels=3)
image = tf.cast(image_decoded, tf.float32)
return image, label
dataset = dataset.map(_parse_function)
dataset = dataset.batch(2)
# step 4: create iterator and final input tensor
iterator = dataset.make_one_shot_iterator()
images, labels = iterator.get_next()
Maintenant, nous pouvons exécuter directement sess.run([images, labels])
sans introduire de données dans des espaces réservés.
Pour résumer, vous avez plusieurs étapes:
Le code le plus simple serait:
# step 1
filenames = ['im_01.jpg', 'im_02.jpg', 'im_03.jpg', 'im_04.jpg']
# step 2
filename_queue = tf.train.string_input_producer(filenames)
# step 3: read, decode and resize images
reader = tf.WholeFileReader()
filename, content = reader.read(filename_queue)
image = tf.image.decode_jpeg(content, channels=3)
image = tf.cast(image, tf.float32)
resized_image = tf.image.resize_images(image, [224, 224])
# step 4: Batching
image_batch = tf.train.batch([resized_image], batch_size=8)