TensorFlow.org에서 보기 |
Google Colab에서 실행하기 |
GitHub에서 소스 보기 |
노트북 다운로드하기 |
개요
이 노트북은 TensorFlow 애드온에서 TimeStopping 콜백을 사용하는 방법을 보여줍니다.
설정
pip install -q -U tensorflow-addonsimport tensorflow_addons as tfa
from tensorflow.keras.datasets import mnist
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense, Dropout, Flatten
데이터 가져오기 및 정규화
# the data, split between train and test sets
(x_train, y_train), (x_test, y_test) = mnist.load_data()
# normalize data
x_train, x_test = x_train / 255.0, x_test / 255.0
간단한 MNIST CNN 모델 빌드하기
# build the model using the Sequential API
model = Sequential()
model.add(Flatten(input_shape=(28, 28)))
model.add(Dense(128, activation='relu'))
model.add(Dropout(0.2))
model.add(Dense(10, activation='softmax'))
model.compile(optimizer='adam',
loss = 'sparse_categorical_crossentropy',
metrics=['accuracy'])
간단한 TimeStopping 사용법
# initialize TimeStopping callback
time_stopping_callback = tfa.callbacks.TimeStopping(seconds=5, verbose=1)
# train the model with tqdm_callback
# make sure to set verbose = 0 to disable
# the default progress bar.
model.fit(x_train, y_train,
batch_size=64,
epochs=100,
callbacks=[time_stopping_callback],
validation_data=(x_test, y_test))
Epoch 1/100 1/938 [..............................] - ETA: 0s - loss: 2.4094 - accuracy: 0.0781 27/938 [..............................] - ETA: 1s - loss: 1.5353 - accuracy: 0.5463 55/938 [>.............................] - ETA: 1s - loss: 1.1143 - accuracy: 0.6793 83/938 [=>............................] - ETA: 1s - loss: 0.9178 - accuracy: 0.7327 111/938 [==>...........................] - ETA: 1s - loss: 0.8035 - accuracy: 0.7659 139/938 [===>..........................] - ETA: 1s - loss: 0.7273 - accuracy: 0.7878 166/938 [====>.........................] - ETA: 1s - loss: 0.6715 - accuracy: 0.8040 194/938 [=====>........................] - ETA: 1s - loss: 0.6271 - accuracy: 0.8185 222/938 [======>.......................] - ETA: 1s - loss: 0.5936 - accuracy: 0.8275 249/938 [======>.......................] - ETA: 1s - loss: 0.5703 - accuracy: 0.8339 276/938 [=======>......................] - ETA: 1s - loss: 0.5484 - accuracy: 0.8414 302/938 [========>.....................] - ETA: 1s - loss: 0.5309 - accuracy: 0.8470 329/938 [=========>....................] - ETA: 1s - loss: 0.5115 - accuracy: 0.8525 357/938 [==========>...................] - ETA: 1s - loss: 0.4955 - accuracy: 0.8570 385/938 [===========>..................] - ETA: 1s - loss: 0.4795 - accuracy: 0.8616 413/938 [============>.................] - ETA: 0s - loss: 0.4662 - accuracy: 0.8654 442/938 [=============>................] - ETA: 0s - loss: 0.4528 - accuracy: 0.8689 470/938 [==============>...............] - ETA: 0s - loss: 0.4427 - accuracy: 0.8719 498/938 [==============>...............] - ETA: 0s - loss: 0.4310 - accuracy: 0.8751 527/938 [===============>..............] - ETA: 0s - loss: 0.4222 - accuracy: 0.8780 555/938 [================>.............] - ETA: 0s - loss: 0.4132 - accuracy: 0.8808 583/938 [=================>............] - ETA: 0s - loss: 0.4071 - accuracy: 0.8824 611/938 [==================>...........] - ETA: 0s - loss: 0.4022 - accuracy: 0.8840 638/938 [===================>..........] - ETA: 0s - loss: 0.3948 - accuracy: 0.8861 666/938 [====================>.........] - ETA: 0s - loss: 0.3875 - accuracy: 0.8883 695/938 [=====================>........] - ETA: 0s - loss: 0.3808 - accuracy: 0.8901 723/938 [======================>.......] - ETA: 0s - loss: 0.3759 - accuracy: 0.8914 751/938 [=======================>......] - ETA: 0s - loss: 0.3695 - accuracy: 0.8934 778/938 [=======================>......] - ETA: 0s - loss: 0.3657 - accuracy: 0.8947 806/938 [========================>.....] - ETA: 0s - loss: 0.3603 - accuracy: 0.8962 834/938 [=========================>....] - ETA: 0s - loss: 0.3557 - accuracy: 0.8975 862/938 [==========================>...] - ETA: 0s - loss: 0.3514 - accuracy: 0.8986 889/938 [===========================>..] - ETA: 0s - loss: 0.3467 - accuracy: 0.8999 918/938 [============================>.] - ETA: 0s - loss: 0.3423 - accuracy: 0.9012 938/938 [==============================] - 2s 2ms/step - loss: 0.3393 - accuracy: 0.9019 - val_loss: 0.1657 - val_accuracy: 0.9516 Epoch 2/100 1/938 [..............................] - ETA: 0s - loss: 0.0782 - accuracy: 1.0000 30/938 [..............................] - ETA: 1s - loss: 0.1704 - accuracy: 0.9443 57/938 [>.............................] - ETA: 1s - loss: 0.1678 - accuracy: 0.9482 86/938 [=>............................] - ETA: 1s - loss: 0.1704 - accuracy: 0.9499 114/938 [==>...........................] - ETA: 1s - loss: 0.1744 - accuracy: 0.9489 142/938 [===>..........................] - ETA: 1s - loss: 0.1754 - accuracy: 0.9480 170/938 [====>.........................] - ETA: 1s - loss: 0.1756 - accuracy: 0.9483 197/938 [=====>........................] - ETA: 1s - loss: 0.1754 - accuracy: 0.9475 224/938 [======>.......................] - ETA: 1s - loss: 0.1739 - accuracy: 0.9479 251/938 [=======>......................] - ETA: 1s - loss: 0.1730 - accuracy: 0.9486 278/938 [=======>......................] - ETA: 1s - loss: 0.1758 - accuracy: 0.9477 306/938 [========>.....................] - ETA: 1s - loss: 0.1742 - accuracy: 0.9485 334/938 [=========>....................] - ETA: 1s - loss: 0.1748 - accuracy: 0.9483 361/938 [==========>...................] - ETA: 1s - loss: 0.1750 - accuracy: 0.9486 388/938 [===========>..................] - ETA: 1s - loss: 0.1748 - accuracy: 0.9492 416/938 [============>.................] - ETA: 0s - loss: 0.1741 - accuracy: 0.9495 443/938 [=============>................] - ETA: 0s - loss: 0.1748 - accuracy: 0.9493 471/938 [==============>...............] - ETA: 0s - loss: 0.1735 - accuracy: 0.9495 498/938 [==============>...............] - ETA: 0s - loss: 0.1732 - accuracy: 0.9495 526/938 [===============>..............] - ETA: 0s - loss: 0.1726 - accuracy: 0.9494 554/938 [================>.............] - ETA: 0s - loss: 0.1721 - accuracy: 0.9497 581/938 [=================>............] - ETA: 0s - loss: 0.1732 - accuracy: 0.9494 608/938 [==================>...........] - ETA: 0s - loss: 0.1720 - accuracy: 0.9497 635/938 [===================>..........] - ETA: 0s - loss: 0.1713 - accuracy: 0.9499 662/938 [====================>.........] - ETA: 0s - loss: 0.1700 - accuracy: 0.9503 690/938 [=====================>........] - ETA: 0s - loss: 0.1688 - accuracy: 0.9506 718/938 [=====================>........] - ETA: 0s - loss: 0.1682 - accuracy: 0.9507 746/938 [======================>.......] - ETA: 0s - loss: 0.1678 - accuracy: 0.9508 773/938 [=======================>......] - ETA: 0s - loss: 0.1666 - accuracy: 0.9511 801/938 [========================>.....] - ETA: 0s - loss: 0.1664 - accuracy: 0.9511 828/938 [=========================>....] - ETA: 0s - loss: 0.1659 - accuracy: 0.9514 855/938 [==========================>...] - ETA: 0s - loss: 0.1660 - accuracy: 0.9513 883/938 [===========================>..] - ETA: 0s - loss: 0.1663 - accuracy: 0.9511 911/938 [============================>.] - ETA: 0s - loss: 0.1660 - accuracy: 0.9513 938/938 [==============================] - 2s 2ms/step - loss: 0.1658 - accuracy: 0.9514 - val_loss: 0.1171 - val_accuracy: 0.9670 Epoch 3/100 1/938 [..............................] - ETA: 0s - loss: 0.2316 - accuracy: 0.9375 29/938 [..............................] - ETA: 1s - loss: 0.1148 - accuracy: 0.9634 56/938 [>.............................] - ETA: 1s - loss: 0.1192 - accuracy: 0.9618 83/938 [=>............................] - ETA: 1s - loss: 0.1247 - accuracy: 0.9603 110/938 [==>...........................] - ETA: 1s - loss: 0.1209 - accuracy: 0.9624 138/938 [===>..........................] - ETA: 1s - loss: 0.1227 - accuracy: 0.9612 166/938 [====>.........................] - ETA: 1s - loss: 0.1278 - accuracy: 0.9607 194/938 [=====>........................] - ETA: 1s - loss: 0.1288 - accuracy: 0.9605 222/938 [======>.......................] - ETA: 1s - loss: 0.1302 - accuracy: 0.9602 250/938 [======>.......................] - ETA: 1s - loss: 0.1294 - accuracy: 0.9609 278/938 [=======>......................] - ETA: 1s - loss: 0.1287 - accuracy: 0.9608 306/938 [========>.....................] - ETA: 1s - loss: 0.1295 - accuracy: 0.9602 334/938 [=========>....................] - ETA: 1s - loss: 0.1286 - accuracy: 0.9608 363/938 [==========>...................] - ETA: 1s - loss: 0.1267 - accuracy: 0.9616 391/938 [===========>..................] - ETA: 0s - loss: 0.1250 - accuracy: 0.9622 418/938 [============>.................] - ETA: 0s - loss: 0.1252 - accuracy: 0.9620 445/938 [=============>................] - ETA: 0s - loss: 0.1241 - accuracy: 0.9625 472/938 [==============>...............] - ETA: 0s - loss: 0.1240 - accuracy: 0.9627 499/938 [==============>...............] - ETA: 0s - loss: 0.1240 - accuracy: 0.9627 526/938 [===============>..............] - ETA: 0s - loss: 0.1238 - accuracy: 0.9629 554/938 [================>.............] - ETA: 0s - loss: 0.1236 - accuracy: 0.9629 582/938 [=================>............] - ETA: 0s - loss: 0.1232 - accuracy: 0.9630 610/938 [==================>...........] - ETA: 0s - loss: 0.1233 - accuracy: 0.9631 638/938 [===================>..........] - ETA: 0s - loss: 0.1226 - accuracy: 0.9633 665/938 [====================>.........] - ETA: 0s - loss: 0.1226 - accuracy: 0.9633 693/938 [=====================>........] - ETA: 0s - loss: 0.1234 - accuracy: 0.9632 721/938 [======================>.......] - ETA: 0s - loss: 0.1234 - accuracy: 0.9634 748/938 [======================>.......] - ETA: 0s - loss: 0.1229 - accuracy: 0.9634 776/938 [=======================>......] - ETA: 0s - loss: 0.1221 - accuracy: 0.9636 804/938 [========================>.....] - ETA: 0s - loss: 0.1211 - accuracy: 0.9638 832/938 [=========================>....] - ETA: 0s - loss: 0.1205 - accuracy: 0.9639 859/938 [==========================>...] - ETA: 0s - loss: 0.1210 - accuracy: 0.9639 886/938 [===========================>..] - ETA: 0s - loss: 0.1217 - accuracy: 0.9637 913/938 [============================>.] - ETA: 0s - loss: 0.1220 - accuracy: 0.9636 938/938 [==============================] - 2s 2ms/step - loss: 0.1220 - accuracy: 0.9636 - val_loss: 0.0951 - val_accuracy: 0.9723 Timed stopping at epoch 3 after training for 0:00:05 <tensorflow.python.keras.callbacks.History at 0x7ff8b4a0a7b8>
TensorFlow.org에서 보기
Google Colab에서 실행하기
GitHub에서 소스 보기
노트북 다운로드하기