1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/Python_Ai_Road-eat_tensorflow2_in_30_days

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
1-2,图片数据建模流程范例.md 5 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 03.12.2024 15:14 374a95e
51264     
_________________________________________________________________
max_pooling2d_1 (MaxPooling2 (None, 5, 5, 64)          0         
_________________________________________________________________
dropout (Dropout)            (None, 5, 5, 64)          0         
_________________________________________________________________
flatten (Flatten)            (None, 1600)              0         
_________________________________________________________________
dense (Dense)                (None, 32)                51232     
_________________________________________________________________
dense_1 (Dense)              (None, 1)                 33        
=================================================================
Всего параметров: 103 425
Обучаемых параметров: 103 425
Необучаемых параметров: 0
_________________________________________________________________

Три, обучение модели

Обучение модели обычно включает три метода: встроенный метод fit, встроенный метод train_on_batch и пользовательский цикл обучения. Здесь мы выбираем наиболее часто используемый и простой встроенный метод fit.

import datetime
import os

stamp = datetime.datetime.now().strftime("%Y%m%d-%H%M%S")
logdir = os.path.join('data', 'autograph', stamp)

## В Python3 рекомендуется использовать pathlib для работы с путями в разных операционных системах
# from pathlib import Path
# stamp = datetime.datetime.now().strftime("%Y%m%d-%H%M%S")
# logdir = str(Path('./data/autograph/' + stamp))

tensorboard_callback = tf.keras.callbacks.TensorBoard(logdir, histogram_freq=1)

model.compile(
        optimizer=tf.keras.optimizers.Adam(learning_rate=0.001),
        loss=tf.keras.losses.binary_crossentropy,
        metrics=["accuracy"]
    )

history = model.fit(ds_train,epochs= 10,validation_data=ds_test,
                    callbacks = [tensorboard_callback],workers = 4)
Проходить обучение 100 шагов, валидировать 20 шагов
Эпоха 1/10
100/100 [==============================] - 16s 156ms/step - потеря: 0.4830 - точность: 0.7697 - val_потеря: 0.3396 - val_точность: 0.8475
Эпоха 2/10
100/100 [==============================] - 14s 142ms/step - потеря: 0.3437 - точность: 0.8469 - val_потеря: 0.2997 - val_точность: 0.8680
Эпоха 3/10
100/100 [==============================] - 13s 131ms/step - потеря: 0.2871 - точность: 0.8777 - val_потеря: 0.2390 - val_точность: 0.9015
Эпоха 4/10
100/100 [==============================] - 12s 117ms/step - потеря: 0.2410 - точность: 0.9040 - val_потеря: 0.2005 - val_точность: 0.9195
Эпоха 5/10
100/100 [==============================] - 13s 130ms/step - потеря: 0.1992 - точность: 0.9213 - val_потеря: 0.1949 - val_точность: 0.9180
Эпоха 6/10
100/100 [==============================] - 14s 136ms/step - потеря: 0.1737 - точность: 0.9323 - val_потеря: 0.1723 - val_точность: 0.9275
Эпоха 7/10
100/100 [==============================] - 14s 139ms/step - потеря: 0.1531 - точность: 0.9412 - val_потеря: 0.1670 - val_точность: 0.9310
Эпоха 8/10
100/100 [==============================] - 13s 134ms/step - потеря: 0.1299 - точность: 0.9525 - val_потеря: 0.1553 - val_точность: 0.9340
Эпоха 9/10
100/100 [==============================] - 14s 137ms/step - потеря: 0.1158 - точность: 0.9556 - val_потеря: 0.1581 - val_точность: 0.9340
Эпоха 10/10
100/100 [==============================] - 14s 142ms/step - потеря: 0.1006 - точность: 0.9617 - val_потеря: 0.1614 - val_точность: 0.9345

Четыре, оценка модели

%load_ext tensorboard
#%tensorboard --logdir ./data/keras_model
from tensorboard import notebook
notebook.list() 
#Просмотр модели в tensorboard
notebook.start("--logdir ./data/keras_model")

import pandas as pd 
dfhistory = pd.DataFrame(history.history)
dfhistory.index = range(1,len(dfhistory) + 1)
dfhistory.index.name = 'epoch'

dfhistory

%matplotlib inline
%config InlineBackend.figure_format = 'svg'

import matplotlib.pyplot as plt

def plot_metric(history, metric):
    train_metrics = history.history[metric]
    val_metrics = history.history['val_'+metric]
    epochs = range(1, len(train_metrics) + 1)
    plt.plot(epochs, train_metrics, 'bo--')
    plt.plot(epochs, val_metrics, 'ro-')
    plt.title('Обучение и валидация')

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/Python_Ai_Road-eat_tensorflow2_in_30_days.git
git@api.gitlife.ru:oschina-mirror/Python_Ai_Road-eat_tensorflow2_in_30_days.git
oschina-mirror
Python_Ai_Road-eat_tensorflow2_in_30_days
Python_Ai_Road-eat_tensorflow2_in_30_days
master