Notebooks
M
Microsoft
SemanticSegmentationTF

SemanticSegmentationTF

artificial-intelligencernngan12-Segmentationmicrosoft-for-beginnerslessonsAImicrosoft-AI-For-Beginnersmachine-learningdeep-learning4-ComputerVisioncomputer-visioncnnNLP

Semantic Segmentation

Segmentation is one of the main computer vision task. For each pixel of image you must specify class(background included). Semantic segmentation only tells pixel class, instance segmentation divide classes into different instances.

For instance segmentation ten cars is different objects, for semantic segmentation all cars is one class.

Image from this blog post

Almost all architectures have same structure. First part is encoder that extracts features from input image, second part is decoder that transforms this features into image with same height and width and some number of channels, may be equal to classes count.

Image from this publication

[210]
[211]

Dataset

[ ]
[198]
[199]
[200]

Let's plot some images with corresponding masks.

[201]
OutputOutput

SegNet

Simple encoder - decoder architecture with convolutions, poolings in encoder and convolutions, upsamplings in decoder.

[212]
[213]
[214]
[215]
Epoch 1/100
3/3 [==============================] - 2s 298ms/step - loss: 0.6123 - val_loss: 0.6960
Epoch 2/100
3/3 [==============================] - 1s 197ms/step - loss: 0.3332 - val_loss: 0.6874
Epoch 3/100
3/3 [==============================] - 1s 199ms/step - loss: 0.2715 - val_loss: 0.6707
Epoch 4/100
3/3 [==============================] - 1s 205ms/step - loss: 0.2508 - val_loss: 0.6544
Epoch 5/100
3/3 [==============================] - 1s 286ms/step - loss: 0.2290 - val_loss: 0.6403
Epoch 6/100
3/3 [==============================] - 1s 235ms/step - loss: 0.2110 - val_loss: 0.6242
Epoch 7/100
3/3 [==============================] - 1s 231ms/step - loss: 0.1986 - val_loss: 0.6138
Epoch 8/100
3/3 [==============================] - 1s 197ms/step - loss: 0.1923 - val_loss: 0.6068
Epoch 9/100
3/3 [==============================] - 1s 203ms/step - loss: 0.1789 - val_loss: 0.6018
Epoch 10/100
3/3 [==============================] - 1s 199ms/step - loss: 0.1714 - val_loss: 0.5979
Epoch 11/100
3/3 [==============================] - 1s 201ms/step - loss: 0.1745 - val_loss: 0.5945
Epoch 12/100
3/3 [==============================] - 1s 196ms/step - loss: 0.1613 - val_loss: 0.5912
Epoch 13/100
3/3 [==============================] - 1s 199ms/step - loss: 0.1570 - val_loss: 0.5877
Epoch 14/100
3/3 [==============================] - 1s 201ms/step - loss: 0.1547 - val_loss: 0.5861
Epoch 15/100
3/3 [==============================] - 1s 204ms/step - loss: 0.1546 - val_loss: 0.5862
Epoch 16/100
3/3 [==============================] - 1s 197ms/step - loss: 0.1527 - val_loss: 0.5853
Epoch 17/100
3/3 [==============================] - 1s 197ms/step - loss: 0.1456 - val_loss: 0.5865
Epoch 18/100
3/3 [==============================] - 1s 202ms/step - loss: 0.1567 - val_loss: 0.5903
Epoch 19/100
3/3 [==============================] - 1s 198ms/step - loss: 0.1429 - val_loss: 0.5939
Epoch 20/100
3/3 [==============================] - 1s 207ms/step - loss: 0.1432 - val_loss: 0.5960
Epoch 21/100
3/3 [==============================] - 1s 201ms/step - loss: 0.1438 - val_loss: 0.5940
Epoch 22/100
3/3 [==============================] - 1s 204ms/step - loss: 0.1449 - val_loss: 0.5933
Epoch 23/100
3/3 [==============================] - 1s 201ms/step - loss: 0.1424 - val_loss: 0.5972
Epoch 24/100
3/3 [==============================] - 1s 201ms/step - loss: 0.1407 - val_loss: 0.5999
Epoch 25/100
3/3 [==============================] - 1s 206ms/step - loss: 0.1370 - val_loss: 0.6001
Epoch 26/100
3/3 [==============================] - 1s 215ms/step - loss: 0.1371 - val_loss: 0.6021
Epoch 27/100
3/3 [==============================] - 1s 200ms/step - loss: 0.1345 - val_loss: 0.6194
Epoch 28/100
3/3 [==============================] - 1s 200ms/step - loss: 0.1312 - val_loss: 0.6287
Epoch 29/100
3/3 [==============================] - 1s 199ms/step - loss: 0.1304 - val_loss: 0.6154
Epoch 30/100
3/3 [==============================] - 1s 201ms/step - loss: 0.1265 - val_loss: 0.6151
Epoch 31/100
3/3 [==============================] - 1s 201ms/step - loss: 0.1219 - val_loss: 0.6220
Epoch 32/100
3/3 [==============================] - 1s 210ms/step - loss: 0.1200 - val_loss: 0.6249
Epoch 33/100
3/3 [==============================] - 1s 199ms/step - loss: 0.1151 - val_loss: 0.6268
Epoch 34/100
3/3 [==============================] - 1s 202ms/step - loss: 0.1139 - val_loss: 0.6328
Epoch 35/100
3/3 [==============================] - 1s 200ms/step - loss: 0.1117 - val_loss: 0.6297
Epoch 36/100
3/3 [==============================] - 1s 200ms/step - loss: 0.1081 - val_loss: 0.6288
Epoch 37/100
3/3 [==============================] - 1s 204ms/step - loss: 0.1064 - val_loss: 0.6330
Epoch 38/100
3/3 [==============================] - 1s 202ms/step - loss: 0.1056 - val_loss: 0.6385
Epoch 39/100
3/3 [==============================] - 1s 204ms/step - loss: 0.1086 - val_loss: 0.6446
Epoch 40/100
3/3 [==============================] - 1s 199ms/step - loss: 0.1047 - val_loss: 0.6595
Epoch 41/100
3/3 [==============================] - 1s 206ms/step - loss: 0.1040 - val_loss: 0.6602
Epoch 42/100
3/3 [==============================] - 1s 206ms/step - loss: 0.1073 - val_loss: 0.6681
Epoch 43/100
3/3 [==============================] - 1s 200ms/step - loss: 0.1074 - val_loss: 0.6802
Epoch 44/100
3/3 [==============================] - 1s 202ms/step - loss: 0.0992 - val_loss: 0.6728
Epoch 45/100
3/3 [==============================] - 1s 204ms/step - loss: 0.0976 - val_loss: 0.6802
Epoch 46/100
3/3 [==============================] - 1s 198ms/step - loss: 0.0973 - val_loss: 0.6865
Epoch 47/100
3/3 [==============================] - 1s 200ms/step - loss: 0.1094 - val_loss: 0.7038
Epoch 48/100
3/3 [==============================] - 1s 202ms/step - loss: 0.0974 - val_loss: 0.7115
Epoch 49/100
3/3 [==============================] - 1s 200ms/step - loss: 0.0964 - val_loss: 0.7044
Epoch 50/100
3/3 [==============================] - 1s 206ms/step - loss: 0.0922 - val_loss: 0.7199
Epoch 51/100
3/3 [==============================] - 1s 198ms/step - loss: 0.0951 - val_loss: 0.7396
Epoch 52/100
3/3 [==============================] - 1s 198ms/step - loss: 0.1069 - val_loss: 0.7395
Epoch 53/100
3/3 [==============================] - 1s 203ms/step - loss: 0.1093 - val_loss: 0.7520
Epoch 54/100
3/3 [==============================] - 1s 202ms/step - loss: 0.0953 - val_loss: 0.7568
Epoch 55/100
3/3 [==============================] - 1s 206ms/step - loss: 0.1025 - val_loss: 0.7783
Epoch 56/100
3/3 [==============================] - 1s 201ms/step - loss: 0.0912 - val_loss: 0.7390
Epoch 57/100
3/3 [==============================] - 1s 203ms/step - loss: 0.0931 - val_loss: 0.7246
Epoch 58/100
3/3 [==============================] - 1s 198ms/step - loss: 0.0870 - val_loss: 0.7614
Epoch 59/100
3/3 [==============================] - 1s 200ms/step - loss: 0.0896 - val_loss: 0.7579
Epoch 60/100
3/3 [==============================] - 1s 200ms/step - loss: 0.0872 - val_loss: 0.7351
Epoch 61/100
3/3 [==============================] - 1s 200ms/step - loss: 0.0839 - val_loss: 0.7296
Epoch 62/100
3/3 [==============================] - 1s 203ms/step - loss: 0.0797 - val_loss: 0.7343
Epoch 63/100
3/3 [==============================] - 1s 198ms/step - loss: 0.0776 - val_loss: 0.7349
Epoch 64/100
3/3 [==============================] - 1s 205ms/step - loss: 0.0794 - val_loss: 0.7375
Epoch 65/100
3/3 [==============================] - 1s 200ms/step - loss: 0.0758 - val_loss: 0.7488
Epoch 66/100
3/3 [==============================] - 1s 200ms/step - loss: 0.0774 - val_loss: 0.7626
Epoch 67/100
3/3 [==============================] - 1s 203ms/step - loss: 0.0758 - val_loss: 0.7650
Epoch 68/100
3/3 [==============================] - 1s 205ms/step - loss: 0.0792 - val_loss: 0.7603
Epoch 69/100
3/3 [==============================] - 1s 198ms/step - loss: 0.0764 - val_loss: 0.7573
Epoch 70/100
3/3 [==============================] - 1s 198ms/step - loss: 0.0791 - val_loss: 0.7603
Epoch 71/100
3/3 [==============================] - 1s 197ms/step - loss: 0.0749 - val_loss: 0.7415
Epoch 72/100
3/3 [==============================] - 1s 199ms/step - loss: 0.0730 - val_loss: 0.7432
Epoch 73/100
3/3 [==============================] - 1s 199ms/step - loss: 0.0729 - val_loss: 0.7702
Epoch 74/100
3/3 [==============================] - 1s 200ms/step - loss: 0.0711 - val_loss: 0.7692
Epoch 75/100
3/3 [==============================] - 1s 199ms/step - loss: 0.0710 - val_loss: 0.7545
Epoch 76/100
3/3 [==============================] - 1s 200ms/step - loss: 0.0680 - val_loss: 0.7410
Epoch 77/100
3/3 [==============================] - 1s 201ms/step - loss: 0.0683 - val_loss: 0.7372
Epoch 78/100
3/3 [==============================] - 1s 199ms/step - loss: 0.0684 - val_loss: 0.6997
Epoch 79/100
3/3 [==============================] - 1s 200ms/step - loss: 0.0654 - val_loss: 0.7236
Epoch 80/100
3/3 [==============================] - 1s 196ms/step - loss: 0.0682 - val_loss: 0.7213
Epoch 81/100
3/3 [==============================] - 1s 194ms/step - loss: 0.0721 - val_loss: 0.6602
Epoch 82/100
3/3 [==============================] - 1s 201ms/step - loss: 0.0821 - val_loss: 0.6739
Epoch 83/100
3/3 [==============================] - 1s 199ms/step - loss: 0.0835 - val_loss: 0.7153
Epoch 84/100
3/3 [==============================] - 1s 195ms/step - loss: 0.0793 - val_loss: 0.6923
Epoch 85/100
3/3 [==============================] - 1s 201ms/step - loss: 0.0796 - val_loss: 0.6331
Epoch 86/100
3/3 [==============================] - 1s 199ms/step - loss: 0.0719 - val_loss: 0.6116
Epoch 87/100
3/3 [==============================] - 1s 199ms/step - loss: 0.0782 - val_loss: 0.5826
Epoch 88/100
3/3 [==============================] - 1s 199ms/step - loss: 0.0681 - val_loss: 0.5903
Epoch 89/100
3/3 [==============================] - 1s 199ms/step - loss: 0.0683 - val_loss: 0.6258
Epoch 90/100
3/3 [==============================] - 1s 196ms/step - loss: 0.0659 - val_loss: 0.5808
Epoch 91/100
3/3 [==============================] - 1s 196ms/step - loss: 0.0660 - val_loss: 0.5802
Epoch 92/100
3/3 [==============================] - 1s 202ms/step - loss: 0.0668 - val_loss: 0.5854
Epoch 93/100
3/3 [==============================] - 1s 200ms/step - loss: 0.0659 - val_loss: 0.5884
Epoch 94/100
3/3 [==============================] - 1s 199ms/step - loss: 0.0675 - val_loss: 0.5855
Epoch 95/100
3/3 [==============================] - 1s 202ms/step - loss: 0.0608 - val_loss: 0.5175
Epoch 96/100
3/3 [==============================] - 1s 199ms/step - loss: 0.0624 - val_loss: 0.4879
Epoch 97/100
3/3 [==============================] - 1s 198ms/step - loss: 0.0631 - val_loss: 0.4896
Epoch 98/100
3/3 [==============================] - 1s 201ms/step - loss: 0.0591 - val_loss: 0.4590
Epoch 99/100
3/3 [==============================] - 1s 200ms/step - loss: 0.0624 - val_loss: 0.4910
Epoch 100/100
3/3 [==============================] - 1s 190ms/step - loss: 0.0604 - val_loss: 0.4450
[216]
OutputOutput

U-Net

Very simple architecture that uses skip connections. Skip connections at each convolution level helps network doesn't lost information about features from original input at this level.

U-Net usually has a default encoder for feature extraction, for example resnet50.

[217]
[221]
[222]
Epoch 1/100
3/3 [==============================] - 5s 482ms/step - loss: 0.5073 - val_loss: 0.6237
Epoch 2/100
3/3 [==============================] - 1s 368ms/step - loss: 0.3388 - val_loss: 0.6192
Epoch 3/100
3/3 [==============================] - 1s 363ms/step - loss: 0.2867 - val_loss: 0.6133
Epoch 4/100
3/3 [==============================] - 1s 367ms/step - loss: 0.2624 - val_loss: 0.6043
Epoch 5/100
3/3 [==============================] - 1s 365ms/step - loss: 0.2435 - val_loss: 0.5949
Epoch 6/100
3/3 [==============================] - 1s 364ms/step - loss: 0.2320 - val_loss: 0.5844
Epoch 7/100
3/3 [==============================] - 1s 369ms/step - loss: 0.2201 - val_loss: 0.5781
Epoch 8/100
3/3 [==============================] - 1s 362ms/step - loss: 0.2119 - val_loss: 0.5673
Epoch 9/100
3/3 [==============================] - 1s 367ms/step - loss: 0.2047 - val_loss: 0.5588
Epoch 10/100
3/3 [==============================] - 1s 360ms/step - loss: 0.1946 - val_loss: 0.5544
Epoch 11/100
3/3 [==============================] - 1s 368ms/step - loss: 0.1959 - val_loss: 0.5412
Epoch 12/100
3/3 [==============================] - 1s 366ms/step - loss: 0.1814 - val_loss: 0.5346
Epoch 13/100
3/3 [==============================] - 1s 366ms/step - loss: 0.1780 - val_loss: 0.5336
Epoch 14/100
3/3 [==============================] - 1s 368ms/step - loss: 0.1727 - val_loss: 0.5344
Epoch 15/100
3/3 [==============================] - 1s 367ms/step - loss: 0.1715 - val_loss: 0.5280
Epoch 16/100
3/3 [==============================] - 1s 368ms/step - loss: 0.1691 - val_loss: 0.5166
Epoch 17/100
3/3 [==============================] - 1s 365ms/step - loss: 0.1641 - val_loss: 0.5133
Epoch 18/100
3/3 [==============================] - 1s 366ms/step - loss: 0.1707 - val_loss: 0.5221
Epoch 19/100
3/3 [==============================] - 1s 367ms/step - loss: 0.1628 - val_loss: 0.5239
Epoch 20/100
3/3 [==============================] - 1s 363ms/step - loss: 0.1615 - val_loss: 0.5177
Epoch 21/100
3/3 [==============================] - 1s 362ms/step - loss: 0.1577 - val_loss: 0.5221
Epoch 22/100
3/3 [==============================] - 1s 369ms/step - loss: 0.1566 - val_loss: 0.5044
Epoch 23/100
3/3 [==============================] - 1s 365ms/step - loss: 0.1561 - val_loss: 0.5046
Epoch 24/100
3/3 [==============================] - 1s 366ms/step - loss: 0.1469 - val_loss: 0.5063
Epoch 25/100
3/3 [==============================] - 1s 368ms/step - loss: 0.1437 - val_loss: 0.4947
Epoch 26/100
3/3 [==============================] - 1s 371ms/step - loss: 0.1428 - val_loss: 0.4857
Epoch 27/100
3/3 [==============================] - 1s 366ms/step - loss: 0.1449 - val_loss: 0.4850
Epoch 28/100
3/3 [==============================] - 1s 367ms/step - loss: 0.1426 - val_loss: 0.4875
Epoch 29/100
3/3 [==============================] - 1s 392ms/step - loss: 0.1444 - val_loss: 0.4638
Epoch 30/100
3/3 [==============================] - 1s 365ms/step - loss: 0.1341 - val_loss: 0.4796
Epoch 31/100
3/3 [==============================] - 1s 367ms/step - loss: 0.1357 - val_loss: 0.4689
Epoch 32/100
3/3 [==============================] - 1s 365ms/step - loss: 0.1351 - val_loss: 0.4550
Epoch 33/100
3/3 [==============================] - 1s 366ms/step - loss: 0.1294 - val_loss: 0.4419
Epoch 34/100
3/3 [==============================] - 1s 369ms/step - loss: 0.1271 - val_loss: 0.4100
Epoch 35/100
3/3 [==============================] - 1s 368ms/step - loss: 0.1265 - val_loss: 0.4188
Epoch 36/100
3/3 [==============================] - 1s 367ms/step - loss: 0.1214 - val_loss: 0.4285
Epoch 37/100
3/3 [==============================] - 1s 371ms/step - loss: 0.1206 - val_loss: 0.4129
Epoch 38/100
3/3 [==============================] - 1s 365ms/step - loss: 0.1230 - val_loss: 0.4196
Epoch 39/100
3/3 [==============================] - 1s 369ms/step - loss: 0.1213 - val_loss: 0.3899
Epoch 40/100
3/3 [==============================] - 1s 365ms/step - loss: 0.1184 - val_loss: 0.3972
Epoch 41/100
3/3 [==============================] - 1s 366ms/step - loss: 0.1163 - val_loss: 0.3951
Epoch 42/100
3/3 [==============================] - 1s 368ms/step - loss: 0.1193 - val_loss: 0.3735
Epoch 43/100
3/3 [==============================] - 1s 368ms/step - loss: 0.1239 - val_loss: 0.3669
Epoch 44/100
3/3 [==============================] - 1s 368ms/step - loss: 0.1137 - val_loss: 0.3668
Epoch 45/100
3/3 [==============================] - 1s 368ms/step - loss: 0.1096 - val_loss: 0.3684
Epoch 46/100
3/3 [==============================] - 1s 367ms/step - loss: 0.1144 - val_loss: 0.3403
Epoch 47/100
3/3 [==============================] - 1s 371ms/step - loss: 0.1209 - val_loss: 0.3419
Epoch 48/100
3/3 [==============================] - 1s 395ms/step - loss: 0.1071 - val_loss: 0.3213
Epoch 49/100
3/3 [==============================] - 1s 370ms/step - loss: 0.1074 - val_loss: 0.3212
Epoch 50/100
3/3 [==============================] - 1s 369ms/step - loss: 0.1039 - val_loss: 0.3247
Epoch 51/100
3/3 [==============================] - 1s 367ms/step - loss: 0.1085 - val_loss: 0.3067
Epoch 52/100
3/3 [==============================] - 1s 394ms/step - loss: 0.1090 - val_loss: 0.3093
Epoch 53/100
3/3 [==============================] - 1s 367ms/step - loss: 0.1098 - val_loss: 0.2827
Epoch 54/100
3/3 [==============================] - 1s 373ms/step - loss: 0.1039 - val_loss: 0.2746
Epoch 55/100
3/3 [==============================] - 1s 365ms/step - loss: 0.1037 - val_loss: 0.2868
Epoch 56/100
3/3 [==============================] - 1s 369ms/step - loss: 0.1004 - val_loss: 0.2750
Epoch 57/100
3/3 [==============================] - 1s 371ms/step - loss: 0.0995 - val_loss: 0.2636
Epoch 58/100
3/3 [==============================] - 1s 365ms/step - loss: 0.0940 - val_loss: 0.2648
Epoch 59/100
3/3 [==============================] - 1s 371ms/step - loss: 0.0953 - val_loss: 0.2583
Epoch 60/100
3/3 [==============================] - 1s 368ms/step - loss: 0.0976 - val_loss: 0.2508
Epoch 61/100
3/3 [==============================] - 1s 371ms/step - loss: 0.0905 - val_loss: 0.2378
Epoch 62/100
3/3 [==============================] - 1s 372ms/step - loss: 0.0900 - val_loss: 0.2481
Epoch 63/100
3/3 [==============================] - 1s 396ms/step - loss: 0.0858 - val_loss: 0.2540
Epoch 64/100
3/3 [==============================] - 1s 373ms/step - loss: 0.0847 - val_loss: 0.2499
Epoch 65/100
3/3 [==============================] - 1s 372ms/step - loss: 0.0841 - val_loss: 0.2326
Epoch 66/100
3/3 [==============================] - 1s 369ms/step - loss: 0.0871 - val_loss: 0.2275
Epoch 67/100
3/3 [==============================] - 1s 372ms/step - loss: 0.0827 - val_loss: 0.2274
Epoch 68/100
3/3 [==============================] - 1s 370ms/step - loss: 0.0889 - val_loss: 0.2166
Epoch 69/100
3/3 [==============================] - 1s 370ms/step - loss: 0.0882 - val_loss: 0.2222
Epoch 70/100
3/3 [==============================] - 1s 369ms/step - loss: 0.0885 - val_loss: 0.2330
Epoch 71/100
3/3 [==============================] - 1s 368ms/step - loss: 0.0878 - val_loss: 0.2104
Epoch 72/100
3/3 [==============================] - 1s 372ms/step - loss: 0.0843 - val_loss: 0.2211
Epoch 73/100
3/3 [==============================] - 1s 392ms/step - loss: 0.0837 - val_loss: 0.2141
Epoch 74/100
3/3 [==============================] - 1s 374ms/step - loss: 0.0858 - val_loss: 0.1999
Epoch 75/100
3/3 [==============================] - 1s 367ms/step - loss: 0.0798 - val_loss: 0.2131
Epoch 76/100
3/3 [==============================] - 1s 372ms/step - loss: 0.0769 - val_loss: 0.1851
Epoch 77/100
3/3 [==============================] - 1s 396ms/step - loss: 0.0788 - val_loss: 0.1921
Epoch 78/100
3/3 [==============================] - 1s 372ms/step - loss: 0.0771 - val_loss: 0.2266
Epoch 79/100
3/3 [==============================] - 1s 373ms/step - loss: 0.0738 - val_loss: 0.1826
Epoch 80/100
3/3 [==============================] - 1s 371ms/step - loss: 0.0728 - val_loss: 0.1870
Epoch 81/100
3/3 [==============================] - 1s 373ms/step - loss: 0.0759 - val_loss: 0.1821
Epoch 82/100
3/3 [==============================] - 1s 372ms/step - loss: 0.0830 - val_loss: 0.1887
Epoch 83/100
3/3 [==============================] - 1s 373ms/step - loss: 0.0861 - val_loss: 0.1783
Epoch 84/100
3/3 [==============================] - 1s 372ms/step - loss: 0.0854 - val_loss: 0.1988
Epoch 85/100
3/3 [==============================] - 1s 373ms/step - loss: 0.0857 - val_loss: 0.1749
Epoch 86/100
3/3 [==============================] - 1s 372ms/step - loss: 0.0820 - val_loss: 0.1620
Epoch 87/100
3/3 [==============================] - 1s 368ms/step - loss: 0.0874 - val_loss: 0.1668
Epoch 88/100
3/3 [==============================] - 1s 374ms/step - loss: 0.0744 - val_loss: 0.1711
Epoch 89/100
3/3 [==============================] - 1s 371ms/step - loss: 0.0750 - val_loss: 0.1632
Epoch 90/100
3/3 [==============================] - 1s 399ms/step - loss: 0.0717 - val_loss: 0.1742
Epoch 91/100
3/3 [==============================] - 1s 372ms/step - loss: 0.0723 - val_loss: 0.1670
Epoch 92/100
3/3 [==============================] - 1s 374ms/step - loss: 0.0713 - val_loss: 0.1652
Epoch 93/100
3/3 [==============================] - 1s 372ms/step - loss: 0.0718 - val_loss: 0.1707
Epoch 94/100
3/3 [==============================] - 1s 373ms/step - loss: 0.0739 - val_loss: 0.1692
Epoch 95/100
3/3 [==============================] - 1s 400ms/step - loss: 0.0650 - val_loss: 0.1621
Epoch 96/100
3/3 [==============================] - 1s 374ms/step - loss: 0.0653 - val_loss: 0.1547
Epoch 97/100
3/3 [==============================] - 1s 372ms/step - loss: 0.0681 - val_loss: 0.1475
Epoch 98/100
3/3 [==============================] - 1s 369ms/step - loss: 0.0613 - val_loss: 0.1513
Epoch 99/100
3/3 [==============================] - 1s 371ms/step - loss: 0.0665 - val_loss: 0.1537
Epoch 100/100
3/3 [==============================] - 1s 363ms/step - loss: 0.0640 - val_loss: 0.1525
[228]
OutputOutput