SemanticSegmentationTF
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
Dataset
Let's plot some images with corresponding masks.
SegNet
Simple encoder - decoder architecture with convolutions, poolings in encoder and convolutions, upsamplings in decoder.
- Badrinarayanan, V., Kendall, A., & Cipolla, R. (2015). SegNet: A deep convolutional encoder-decoder architecture for image segmentation
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
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.
- Ronneberger, Olaf, Philipp Fischer, and Thomas Brox. U-Net: Convolutional networks for biomedical image segmentation.
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