Шаг 61.
Глубокое обучение на Python. Математические основы нейронных сетей. Оглядываясь на первый пример. Полный цикл обучения

    На этом шаге мы приведем реализацию полного цикла обучения.

    Эпоха обучения просто повторяет шаг обучения для каждого пакета обучающих данных, а полный цикл обучения - это повторение одной эпохи:

def fit(model, images, labels, epochs, batch_size=128): 
    for epoch_counter in range(epochs): 
        print(f"Epoch {epoch_counter}") 
    batch_generator = BatchGenerator(images, labels) 
    for batch_counter in range(batch_generator.num_batches): 
        images_batch, labels_batch = batch_generator.next() 
        loss = one_training_step(model, images_batch, labels_batch) 
        if batch_counter % 100 == 0:
            print(f"loss at batch {batch_counter}: {loss:.2f}")

    Давайте протестируем получившееся:

from tensorflow.keras.datasets import mnist


(train_images, train_labels), (test_images, test_labels) = mnist.load_data()
train_images = train_images.reshape((60000, 28 * 28)) 
train_images = train_images.astype("float32") / 255
test_images = test_images.reshape((10000, 28 * 28)) 
test_images = test_images.astype("float32") / 255

fit(model, train_images, train_labels, epochs=10, batch_size=128)

    На следующем шаге мы рассмотрим оценку модели.




Предыдущий шаг Содержание Следующий шаг