����λ�ã���ҳ > �����̳� > �̳� > �����˹�����ģ�ͻ�����TFDS��Keras����������

�����˹�����ģ�ͻ�����TFDS��Keras����������

��Դ������������|��ʱ�䣺2024-11-05 09:45:50 |���Ķ���111��|�� ��ǩ�� a T ���� ���� K S ���� ���� �˹� �� �˹����� �� |����������

��һƪ�������ݹ���ʦ��ת���˹����ܸ�λ������ʱ��ͨ���� ���ԣ����ڽ���������̽�� TensorFlow �ṩ�Ĺؼ����ߺͷ������������ݼ�������������ģ�͵Ĺ�����ѵ�������ִ��˹����ܿ���У�TensorFlow �����ݼ��ӿ� (TensorFlow Datasets, ��� TFDS) �� Kera

¹¹½¨È˹¤ÖÇÄÜÄ£ÐÍ»ù´¡£ºTFDSºÍKerasµÄÍêÃÀ´îÅä

��һƪ�������ݹ���ʦ��ת���˹����ܸ�λ������ʱ��ͨ����

���ԣ� ���ڽ���������̽�� TensorFlow �ṩ�Ĺؼ����ߺͷ������������ݼ�������������ģ�͵Ĺ�����ѵ�������ִ��˹����ܿ���У�TensorFlow �����ݼ��ӿ� (TensorFlow Datasets, ��� TFDS) �� Keras ģ�Ϳ�Ϊ���ѧϰ�����ṩ�˼���ı��������½�����չʾ���ʹ�� TFDS �� Keras ��Ϲ���������ܹ�����ʵ�ָ�Ч�����ݴ�����ģ��ѵ����ͨ�����ڵ�ʵ���������������մ����ݼ��ء�Ԥ������ģ�ʹ�ĺ������̣�Ϊ��һ�����˹�����ģ���з��춨��ʵ�Ļ�����

ʹ��TFDS��Kerasģ��

����һ���У�����ѧ�������ʹ��TensorFlow��Keras����һ���򵥵ļ�����Ӿ�ģ�ͣ�ʹ��Keras���õ����ݼ�������Fashion MNIST��������������ʾ��

mnist = tf.keras.datasets.fashion_mnist

(training_images, training_labels), (test_images, test_labels) = mnist.load_data()

ʹ��TFDSʱ������dz����ƣ�����һЩС�ı仯��Keras�����ݼ�ֱ�Ӹ����Ƿ����˿�����model.fit��ԭ��ʹ�õ�ndarray���ͣ���ʹ��TFDSʱ��������Ҫ����һЩת����

(training_images, training_labels), (test_images, test_labels) = tfds.as_numpy(tfds.load('fashion_mnist', split=['train', 'test'], batch_size=-1, as_supervised=True))

���������ʹ����tfds.load����fashion_mnist��Ϊ��������ݼ����ݸ���������֪��������ݼ���ѵ�����Ͳ��Լ��Ļ��֣������������д�����Щ��������ذ���ͼ��ͱ�ǩ�����������顣ʹ��tfds.as_numpy�ڵ���tfds.loadʱ�Ὣ���ݷ���ΪNumpy���顣ָ��batch_size=-1�������ǻ�ȡ�������ݣ���as_supervised=True��ȷ�����صĸ�ʽΪ�����룬��ǩ��Ԫ�顣

�����Щ���������ǻ����ϻ������Keras���ݼ���ͬ�����ݸ�ʽ������һ�����𡪡���TFDS�У����ݵ���״��(28, 28, 1)������Keras���ݼ�����(28, 28)��

����ζ�Ŵ�����Ҫ��һЩС�ĸĶ���ָ���������ݵ���״Ϊ(28, 28, 1)��������(28, 28)��

import tensorflow as tf

import tensorflow_datasets as tfds

(training_images, training_labels), (test_images, test_labels) = tfds.as_numpy(tfds.load('fashion_mnist', split=['train', 'test'], batch_size=-1, as_supervised=True))

training_images = training_images / 255.0

test_images = test_images / 255.0

model = tf.keras.models.Sequential([

tf.keras.layers.Flatten(input_shape=(28, 28, 1)),

tf.keras.layers.Dense(128, activation=tf.nn.relu),

tf.keras.layers.Dropout(0.2),

tf.keras.layers.Dense(10, activation=tf.nn.softmax)

])

model.compile(optimizer='adam',

loss='sparse_categorical_crossentropy',

metrics=['accuracy'])

model.fit(training_images, training_labels, epochs=5)

���ڸ����ӵ�ʾ�������Բο���3����ʹ�õġ������ˡ����ݼ���������ݼ���TFDS��Ҳ����ʹ�á�������ʹ������ѵ��ģ�͵��������룺

import tensorflow as tf

import tensorflow_datasets as tfds

data = tfds.load('horses_or_humans', split='train', as_supervised=True)

train_batches = data.shuffle(100).batch(10)

model = tf.keras.models.Sequential([

tf.keras.layers.Conv2D(16, (3,3), activation='relu', input_shape=(300, 300, 3)),

tf.keras.layers.MaxPooling2D(2, 2),

tf.keras.layers.Conv2D(32, (3,3), activation='relu'),

tf.keras.layers.MaxPooling2D(2,2),

tf.keras.layers.Conv2D(64, (3,3), activation='relu'),

tf.keras.layers.MaxPooling2D(2,2),

tf.keras.layers.Conv2D(64, (3,3), activation='relu'),

tf.keras.layers.MaxPooling2D(2,2),

tf.keras.layers.Conv2D(64, (3,3), activation='relu'),

tf.keras.layers.MaxPooling2D(2,2),

tf.keras.layers.Flatten(),

tf.keras.layers.Dense(512, activation='relu'),

tf.keras.layers.Dense(1, activation='sigmoid')

])

model.compile(optimizer='Adam', loss='binary_crossentropy', metrics=['accuracy'])

history = model.fit(train_batches, epochs=10)

���������������൱ֱ�ӣ�ֻ����� tfds.load����������Ҫ�ķָ�ڱ�������ѵ��������Ȼ����ģ����ʹ���������ݱ�������������˳���Ա����Ч�ؽ���ѵ����

��Horses or Humans�����ݼ�������Ϊѵ�����Ͳ��Լ���������������ѵ��ʱ��֤ģ�ͣ�����ͨ��TFDS���ص�������֤�����������£�

val_data = tfds.load('horses_or_humans', split='test', as_supervised=True)

����Ҫ����ѵ����һ���������������磺

validation_batches = val_data.batch(32)

Ȼ����ѵ��ʱ��ָ����Щ������Ϊ��֤���ݡ��㻹��Ҫ��ʽ����ÿ������Ҫʹ�õ���֤����������TensorFlow�ᱨ���������ȷ��������Ϊ1���ɣ����£�

history = model.fit(train_batches, epochs=10, validation_data=validation_batches, validation_steps=1)

�����ض��汾

������TFDS�д洢�����ݼ���ʹ��MAJOR.MINOR.PATCH���ϵͳ���䱣֤���£������PATCH���£�����÷��ص�������ͬ�����ײ���֯���ܷ����仯�����ֱ仯�Կ�����Ӧ���޸�֪�ġ����MINOR���£������ݱ��ֲ��䣬�����ܻ���ÿ����¼�������µ����ԣ����ƻ��Ը��ģ������⣬���ض���Ƭ���μ���74ҳ�ġ�ʹ���Զ�����Ƭ���������ݲ��������������MAJOR���£����¼��ʽ����λ�ÿ��ܻᷢ���仯������ض���Ƭ���ܻ᷵�ز�ͬ��ֵ��

�ڼ�����ݼ�ʱ����ῴ����ʱ�в�ͬ�汾���á������磬cnn_dailymail���ݼ���������������㲻��ҪĬ�ϰ汾������׫дʱ��3.0.0��������ϣ��ʹ�����ڰ汾������1.0.0�����԰����·�ʽ���أ�

data, info = tfds.load("cnn_dailymail:1.0.0", with_info=True)

��ע�⣬�������Colab��ʹ��TFDS��������Colabʹ�õ�TFDS�汾������׫дʱ��ColabԤװ��TFDS��2.0�棬�����д���һЩ�������ݼ���bug������cnn_dailymail���ݼ�������Щ������TFDS 2.1��֮��İ汾�����޸�����˽���ʹ����Щ�汾������������Colab�а�װ���ǣ��������������õ�Ĭ�ϰ汾��

ʹ��ӳ�亯������������ǿ

��ǰ����½��У��������ʹ��ImageDataGeneratorΪģ���ṩѵ������ʱ��һЩ������ǿ���ߡ��������֪�������ʹ��TFDSʱʵ��ͬ���Ĺ��ܣ���Ϊ��ʱ�㲻�Ǵ���Ŀ¼��ʽ��ȡͼ��ʵ�ִ˹��ܵ���ѷ��������κ�������ʽ��ת�����Ƕ�����������ʹ��ӳ�亯���������ǿ������ʵ����һ�㡣

֮ǰ�����Ƕ�Horses or Humans���ݼ��Ĵ���ֻ�Ǵ�TFDS�м������ݲ�Ϊ�䴴�����Σ�������ʾ��

data = tfds.load('horses_or_humans', split='train', as_supervised=True)

train_batches = data.shuffle(100).batch(10)

Ҫ�����ݽ��б任������ӳ�䵽���ݼ�������Դ���һ��ӳ�亯������ֻ�DZ�׼��Python���롣���磬�����㴴����һ����Ϊaugmentimages�ĺ���������������һЩͼ����ǿ��������ʾ��

def augmentimages(image, label):

image = tf.cast(image, tf.float32)

image = (image/255)

image = tf.image.random_flip_left_right(image)

return image, label

Ȼ������Խ���ӳ�䵽�����ϣ�����һ����Ϊtrain�������ݼ���

train = data.map(augmentimages)

֮���ڴ�������ʱ��ʹ��train������data�����£�

train_batches = train.shuffle(100).batch(32)

��augmentimages�����У�����Կ���ʹ��tf.image.random_flip_left_right(image)��ͼ��������������ת��tf.image�����кܶ��������ǿ�ĺ�������ϸ����������ĵ���

ʹ��TensorFlow Addons

TensorFlow Addons�����������ú�����ImageDataGenerator��ǿ�е�һЩ���ܣ�����ת�����ڴ˿��п��ã���˽���鿴����

ʹ��TensorFlow Addons�dz��򵥡���ֻ�谲װ�⼴�ɣ�

pip install tensorflow-addons

��װ��ɺ󣬿��Խ�Addons���뵽���ӳ�亯���С������ǽ���תAddons����ǰ��ӳ�亯����ʾ����

import tensorflow_addons as tfa

def augmentimages(image, label):

image = tf.cast(image, tf.float32)

image = (image/255)

image = tf.image.random_flip_left_right(image)

image = tfa.image.rotate(image, 40, interpolation='NEAREST')

return image, label

ʹ���Զ���ָ�

��ĿǰΪֹ����һֱʹ�õ���Ԥ�ȷָ�Ϊѵ�����Ͳ��Լ������ݼ������磬Fashion MNIST��60,000��10,000����¼���ֱ�����ѵ���Ͳ��ԡ�������㲻��ʹ����Щ�ָ��أ������������Լ�������ָ������أ�TFDS��һ��ǿ��֮�������ڡ������ṩ��һ��API�������㾫ϸ�ؿ������ݵķָʽ��

ʵ�������Ѿ��������ַ�ʽ�ˣ�������������������ʱ��

data = tfds.load('cats_vs_dogs', split='train', as_supervised=True)

ע��split������һ���ַ�����������������train�ָ��ǡ�����������ݼ����������ϤPython����Ƭ���ţ�Ҳ����ʹ���������ַ��ſ����ܽ�Ϊ�ڷ������ڶ�������Ҫ����Ƭ��������ʾ��[ : : ]������һ���൱���ӵ��﷨�������˺ܴ������ԡ�

���磬�����ϣ��train��ǰ10,000����¼��Ϊѵ�����ݣ�����ʡ�� ��ֱ�ӵ���train[:10000]��һ�����õļ��似���ǽ�ǰ��ð�Ŷ�����ǰ���������⽫������trainǰ10,000����¼������

data = tfds.load('cats_vs_dogs', split='train[:10000]', as_supervised=True)

�㻹����ʹ��%��ָ���ָ���磬�����ϣ��ǰ20%�ļ�¼����ѵ��������������ʹ��:20%��

data = tfds.load('cats_vs_dogs', split='train[:20%]', as_supervised=True)

���������Ը���һ������϶���ָҲ����˵�������ϣ��ѵ��������ǰ1000����¼�����1000����¼����ϣ�������������-1000:��ʾ�����1000����¼������:1000����ʾ��ǰ1000����¼������

data = tfds.load('cats_vs_dogs', split='train[-1000:]+train[:1000]', as_supervised=True)

Dogs vs. Cats���ݼ�û�й̶���ѵ�������Ժ���֤�ָ��ʹ��TFDS�������Զ���ָ�dz��򵥡�������ϣ���ָ�Ϊ80%��10%��10%���������������������ݼ���

train_data = tfds.load('cats_vs_dogs', split='train[:80%]', as_supervised=True)

validation_data = tfds.load('cats_vs_dogs', split='train[80%:90%]', as_supervised=True)

test_data = tfds.load('cats_vs_dogs', split='train[-10%:]', as_supervised=True)

һ�����������ǣ��Ϳ�����ʹ���κ������ָ�һ��ʹ�����ǡ�

��Ҫע����ǣ����ڷ��ص����ݼ��޷���̽���䳤�ȣ����ͨ������ȷ�����Ƿ���ȷ�طָ���ԭʼ���ݼ���Ҫ�鿴����ij���ָ��еļ�¼���������������������ݼ���һ���������������Ƕ���մ�����ѵ�������м����Ĵ��룺

train_length = [i for i, _ in enumerate(train_data)][-1] + 1

print(train_length)

�������һ�������Ĺ��̣������ȷ�����ڵ���ʱʹ������

�����ܽ᣺ ���½��������ʹ�� TensorFlow Datasets��TFDS���� Keras �������ģ�ͣ���̽����������ǿ���ָ��Ԥ�����ȹؼ�������ͨ���� TFDS ���ݼ��� Keras ģ�ͽ�ϣ���ѧ������θ�Ч���غ�ת�����ݣ�Ϊ������ģ�͵Ĺ�����ѵ������׼�������⣬���ǻ���������������Զ������ݷָ��Ӧ��������ǿ��Ϊģ���ṩ���Ӷ�������ѵ�����ݡ���������Щ���ܺ������ܹ��������Ӧ�� TensorFlow �� Keras ���и������ѧϰ��Ŀ�Ŀ�����Ϊ����ģ�͵Ĵ�춨��ʵ�Ļ�������һ�����ǽ���Ϊ��ҽ��ܴ�TFDS�����س��������ݼ�����ʲô��ʽ���������ġ�TFRecord!

С���Ƽ��Ķ�

�������������Ľ�Ϊ������Ϣ����������������ͬ���޹۵��֤ʵ��������

a 1.0
a 1.0
���ͣ���������������Ӫ״̬����ʽ��Ӫ�������ԣ����� ����

��Ϸ����

��Ϸ���

��Ϸ��Ƶ

��Ϸ����

��Ϸ�

��alittletotheleft������������һ��ܻ�ӭ����������������Ϸ����ҵ������Ƕ��ճ������еĸ���������
È˹¤ÖÇÄÜ 1.0.5
�˹����� 1.0.5
���ͣ���������������Ӫ״̬����ʽ��Ӫ�������ԣ����� ����

��Ϸ����

��Ϸ���

��Ϸ��Ƶ

��Ϸ����

��Ϸ�

���˹����ܡ��ǿ�����FELF������һ��AI������������Ϸ����ҿ��Ժ���Ϸ�е�AIС������죬��������������

�����Ƶ����

����

ͬ������

����

ɨ��ά�����������ֻ��汾��

ɨ��ά����������΢�Ź��ںţ�

��վ�������������������ϴ��������ַ���İ�Ȩ���뷢�ʼ�[email protected]

��ICP��2022002427��-10 �湫��������43070202000427��© 2013~2025 haote.com ������