سخنرانی ها ، جلسات محصول ، کارگاه ها و موارد دیگر را از لیست پخش Google I / O مشاهده کنید

داده های NumPy را بارگیری کنید

مشاهده در TensorFlow.org در Google Colab اجرا کنید مشاهده منبع در GitHub دانلود دفترچه یادداشت

این آموزش مثالی از بارگیری داده ها از آرایه های NumPy را درtf.data.Dataset .

این مثال مجموعه داده های MNIST را از یک پرونده .npz می کند. با این حال ، منبع آرایه های NumPy مهم نیست.

برپایی

import numpy as np
import tensorflow as tf

از پرونده .npz کنید

DATA_URL = 'https://storage.googleapis.com/tensorflow/tf-keras-datasets/mnist.npz'

path = tf.keras.utils.get_file('mnist.npz', DATA_URL)
with np.load(path) as data:
  train_examples = data['x_train']
  train_labels = data['y_train']
  test_examples = data['x_test']
  test_labels = data['y_test']

آرایه های NumPy را باtf.data.Dataset

با فرض اینکه شما یک آرایه از مثال ها و یک آرایه متناظر برچسب، تصویب دو آرایه به عنوان یک تاپل به tf.data.Dataset.from_tensor_slices برای ایجاد یکtf.data.Dataset .

train_dataset = tf.data.Dataset.from_tensor_slices((train_examples, train_labels))
test_dataset = tf.data.Dataset.from_tensor_slices((test_examples, test_labels))

از مجموعه داده ها استفاده کنید

مجموعه داده ها را مرتب کرده و دسته ای کنید

BATCH_SIZE = 64
SHUFFLE_BUFFER_SIZE = 100

train_dataset = train_dataset.shuffle(SHUFFLE_BUFFER_SIZE).batch(BATCH_SIZE)
test_dataset = test_dataset.batch(BATCH_SIZE)

یک مدل بسازید و آموزش دهید

model = tf.keras.Sequential([
    tf.keras.layers.Flatten(input_shape=(28, 28)),
    tf.keras.layers.Dense(128, activation='relu'),
    tf.keras.layers.Dense(10)
])

model.compile(optimizer=tf.keras.optimizers.RMSprop(),
              loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True),
              metrics=['sparse_categorical_accuracy'])
model.fit(train_dataset, epochs=10)
Epoch 1/10
938/938 [==============================] - 3s 2ms/step - loss: 3.5303 - sparse_categorical_accuracy: 0.8715
Epoch 2/10
938/938 [==============================] - 2s 2ms/step - loss: 0.5368 - sparse_categorical_accuracy: 0.9236
Epoch 3/10
938/938 [==============================] - 2s 2ms/step - loss: 0.3773 - sparse_categorical_accuracy: 0.9435
Epoch 4/10
938/938 [==============================] - 2s 2ms/step - loss: 0.3382 - sparse_categorical_accuracy: 0.9524
Epoch 5/10
938/938 [==============================] - 2s 2ms/step - loss: 0.2958 - sparse_categorical_accuracy: 0.9577
Epoch 6/10
938/938 [==============================] - 2s 2ms/step - loss: 0.2562 - sparse_categorical_accuracy: 0.9636
Epoch 7/10
938/938 [==============================] - 2s 2ms/step - loss: 0.2408 - sparse_categorical_accuracy: 0.9664
Epoch 8/10
938/938 [==============================] - 2s 2ms/step - loss: 0.2283 - sparse_categorical_accuracy: 0.9699
Epoch 9/10
938/938 [==============================] - 2s 2ms/step - loss: 0.2040 - sparse_categorical_accuracy: 0.9704
Epoch 10/10
938/938 [==============================] - 2s 2ms/step - loss: 0.1929 - sparse_categorical_accuracy: 0.9734
<tensorflow.python.keras.callbacks.History at 0x7f20bc7e3050>
model.evaluate(test_dataset)
157/157 [==============================] - 0s 2ms/step - loss: 0.6609 - sparse_categorical_accuracy: 0.9530
[0.6609476804733276, 0.953000009059906]