在 TensorFlow.org 上查看 |
在 Google Colab 中运行 |
在 GitHub 中查看源代码 |
{img1下载笔记本 |
概述
此笔记本将演示如何使用 TensorFlow Addons 中的 TripletSemiHardLoss 函数。
资源:
TripletLoss
正如 FaceNet 论文中首次介绍的那样,TripletLoss 是一种损失函数,可以训练神经网络紧密嵌入相同类别的特征,同时最大程度地提高不同类别的嵌入向量之间的距离。为此,选择一个锚点以及一个负样本和一个正样本。
损失函数被描述为欧氏距离函数:

其中,A 是我们的锚点输入,P 是正样本输入,N 是负样本输入,α 是我们用来指定三元组何时变得过于“容易”并且不再需要调整其权重的间隔。
SemiHard 在线学习
如文中所示,最佳结果来自被称为“Semi-Hard”(一般)的三元组。在这些三元组中,负数比正数离锚点更远,但仍会产生正损失。为了高效地找到这些三元组,我们利用在线学习,并且仅从每个批次的 Semi-Hard 样本中进行训练。
设置
pip install -q -U tensorflow-addonsimport io
import numpy as np
import tensorflow as tf
import tensorflow_addons as tfa
import tensorflow_datasets as tfds
准备数据
def _normalize_img(img, label):
img = tf.cast(img, tf.float32) / 255.
return (img, label)
train_dataset, test_dataset = tfds.load(name="mnist", split=['train', 'test'], as_supervised=True)
# Build your input pipelines
train_dataset = train_dataset.shuffle(1024).batch(32)
train_dataset = train_dataset.map(_normalize_img)
test_dataset = test_dataset.batch(32)
test_dataset = test_dataset.map(_normalize_img)
Downloading and preparing dataset mnist/3.0.1 (download: 11.06 MiB, generated: 21.00 MiB, total: 32.06 MiB) to /home/kbuilder/tensorflow_datasets/mnist/3.0.1... WARNING:absl:Dataset mnist is hosted on GCS. It will automatically be downloaded to your local data directory. If you'd instead prefer to read directly from our public GCS bucket (recommended if you're running on GCP), you can instead pass `try_gcs=True` to `tfds.load` or set `data_dir=gs://tfds-data/datasets`. Dataset mnist downloaded and prepared to /home/kbuilder/tensorflow_datasets/mnist/3.0.1. Subsequent calls will reuse this data.
构建模型

model = tf.keras.Sequential([
tf.keras.layers.Conv2D(filters=64, kernel_size=2, padding='same', activation='relu', input_shape=(28,28,1)),
tf.keras.layers.MaxPooling2D(pool_size=2),
tf.keras.layers.Dropout(0.3),
tf.keras.layers.Conv2D(filters=32, kernel_size=2, padding='same', activation='relu'),
tf.keras.layers.MaxPooling2D(pool_size=2),
tf.keras.layers.Dropout(0.3),
tf.keras.layers.Flatten(),
tf.keras.layers.Dense(256, activation=None), # No activation on final dense layer
tf.keras.layers.Lambda(lambda x: tf.math.l2_normalize(x, axis=1)) # L2 normalize embeddings
])
训练和评估
# Compile the model
model.compile(
optimizer=tf.keras.optimizers.Adam(0.001),
loss=tfa.losses.TripletSemiHardLoss())
# Train the network
history = model.fit(
train_dataset,
epochs=5)
Epoch 1/5 1/1875 [..............................] - ETA: 0s - loss: 0.9824 14/1875 [..............................] - ETA: 6s - loss: 0.9712 29/1875 [..............................] - ETA: 6s - loss: 0.9559 44/1875 [..............................] - ETA: 6s - loss: 0.9397 58/1875 [..............................] - ETA: 6s - loss: 0.9277 73/1875 [>.............................] - ETA: 6s - loss: 0.9228 88/1875 [>.............................] - ETA: 6s - loss: 0.9134 103/1875 [>.............................] - ETA: 6s - loss: 0.9051 117/1875 [>.............................] - ETA: 6s - loss: 0.8941 131/1875 [=>............................] - ETA: 6s - loss: 0.8862 145/1875 [=>............................] - ETA: 6s - loss: 0.8787 158/1875 [=>............................] - ETA: 6s - loss: 0.8698 172/1875 [=>............................] - ETA: 6s - loss: 0.8604 186/1875 [=>............................] - ETA: 6s - loss: 0.8517 200/1875 [==>...........................] - ETA: 6s - loss: 0.8446 215/1875 [==>...........................] - ETA: 6s - loss: 0.8390 229/1875 [==>...........................] - ETA: 5s - loss: 0.8324 244/1875 [==>...........................] - ETA: 5s - loss: 0.8260 259/1875 [===>..........................] - ETA: 5s - loss: 0.8186 273/1875 [===>..........................] - ETA: 5s - loss: 0.8135 287/1875 [===>..........................] - ETA: 5s - loss: 0.8073 301/1875 [===>..........................] - ETA: 5s - loss: 0.8035 315/1875 [====>.........................] - ETA: 5s - loss: 0.7986 329/1875 [====>.........................] - ETA: 5s - loss: 0.7939 343/1875 [====>.........................] - ETA: 5s - loss: 0.7885 357/1875 [====>.........................] - ETA: 5s - loss: 0.7842 371/1875 [====>.........................] - ETA: 5s - loss: 0.7794 385/1875 [=====>........................] - ETA: 5s - loss: 0.7756 399/1875 [=====>........................] - ETA: 5s - loss: 0.7720 413/1875 [=====>........................] - ETA: 5s - loss: 0.7676 427/1875 [=====>........................] - ETA: 5s - loss: 0.7638 442/1875 [======>.......................] - ETA: 5s - loss: 0.7602 457/1875 [======>.......................] - ETA: 5s - loss: 0.7569 472/1875 [======>.......................] - ETA: 5s - loss: 0.7536 487/1875 [======>.......................] - ETA: 5s - loss: 0.7494 502/1875 [=======>......................] - ETA: 4s - loss: 0.7457 516/1875 [=======>......................] - ETA: 4s - loss: 0.7424 531/1875 [=======>......................] - ETA: 4s - loss: 0.7389 546/1875 [=======>......................] - ETA: 4s - loss: 0.7355 561/1875 [=======>......................] - ETA: 4s - loss: 0.7310 576/1875 [========>.....................] - ETA: 4s - loss: 0.7280 591/1875 [========>.....................] - ETA: 4s - loss: 0.7254 605/1875 [========>.....................] - ETA: 4s - loss: 0.7216 619/1875 [========>.....................] - ETA: 4s - loss: 0.7189 633/1875 [=========>....................] - ETA: 4s - loss: 0.7155 648/1875 [=========>....................] - ETA: 4s - loss: 0.7117 662/1875 [=========>....................] - ETA: 4s - loss: 0.7098 677/1875 [=========>....................] - ETA: 4s - loss: 0.7071 691/1875 [==========>...................] - ETA: 4s - loss: 0.7053 705/1875 [==========>...................] - ETA: 4s - loss: 0.7029 718/1875 [==========>...................] - ETA: 4s - loss: 0.6997 733/1875 [==========>...................] - ETA: 4s - loss: 0.6964 748/1875 [==========>...................] - ETA: 4s - loss: 0.6938 762/1875 [===========>..................] - ETA: 4s - loss: 0.6919 777/1875 [===========>..................] - ETA: 3s - loss: 0.6898 792/1875 [===========>..................] - ETA: 3s - loss: 0.6868 807/1875 [===========>..................] - ETA: 3s - loss: 0.6848 822/1875 [============>.................] - ETA: 3s - loss: 0.6828 837/1875 [============>.................] - ETA: 3s - loss: 0.6811 851/1875 [============>.................] - ETA: 3s - loss: 0.6793 866/1875 [============>.................] - ETA: 3s - loss: 0.6768 880/1875 [=============>................] - ETA: 3s - loss: 0.6750 894/1875 [=============>................] - ETA: 3s - loss: 0.6728 909/1875 [=============>................] - ETA: 3s - loss: 0.6705 923/1875 [=============>................] - ETA: 3s - loss: 0.6689 938/1875 [==============>...............] - ETA: 3s - loss: 0.6669 953/1875 [==============>...............] - ETA: 3s - loss: 0.6647 968/1875 [==============>...............] - ETA: 3s - loss: 0.6633 983/1875 [==============>...............] - ETA: 3s - loss: 0.6617 998/1875 [==============>...............] - ETA: 3s - loss: 0.6598 1013/1875 [===============>..............] - ETA: 3s - loss: 0.6582 1027/1875 [===============>..............] - ETA: 3s - loss: 0.6565 1042/1875 [===============>..............] - ETA: 2s - loss: 0.6552 1056/1875 [===============>..............] - ETA: 2s - loss: 0.6536 1070/1875 [================>.............] - ETA: 2s - loss: 0.6520 1085/1875 [================>.............] - ETA: 2s - loss: 0.6502 1100/1875 [================>.............] - ETA: 2s - loss: 0.6491 1115/1875 [================>.............] - ETA: 2s - loss: 0.6477 1129/1875 [=================>............] - ETA: 2s - loss: 0.6461 1144/1875 [=================>............] - ETA: 2s - loss: 0.6449 1158/1875 [=================>............] - ETA: 2s - loss: 0.6438 1172/1875 [=================>............] - ETA: 2s - loss: 0.6422 1186/1875 [=================>............] - ETA: 2s - loss: 0.6415 1200/1875 [==================>...........] - ETA: 2s - loss: 0.6407 1215/1875 [==================>...........] - ETA: 2s - loss: 0.6393 1229/1875 [==================>...........] - ETA: 2s - loss: 0.6384 1244/1875 [==================>...........] - ETA: 2s - loss: 0.6369 1259/1875 [===================>..........] - ETA: 2s - loss: 0.6354 1274/1875 [===================>..........] - ETA: 2s - loss: 0.6336 1289/1875 [===================>..........] - ETA: 2s - loss: 0.6325 1303/1875 [===================>..........] - ETA: 2s - loss: 0.6315 1317/1875 [====================>.........] - ETA: 2s - loss: 0.6308 1332/1875 [====================>.........] - ETA: 1s - loss: 0.6297 1347/1875 [====================>.........] - ETA: 1s - loss: 0.6282 1362/1875 [====================>.........] - ETA: 1s - loss: 0.6269 1377/1875 [=====================>........] - ETA: 1s - loss: 0.6253 1392/1875 [=====================>........] - ETA: 1s - loss: 0.6239 1406/1875 [=====================>........] - ETA: 1s - loss: 0.6229 1421/1875 [=====================>........] - ETA: 1s - loss: 0.6218 1436/1875 [=====================>........] - ETA: 1s - loss: 0.6204 1450/1875 [======================>.......] - ETA: 1s - loss: 0.6191 1464/1875 [======================>.......] - ETA: 1s - loss: 0.6183 1478/1875 [======================>.......] - ETA: 1s - loss: 0.6168 1493/1875 [======================>.......] - ETA: 1s - loss: 0.6160 1507/1875 [=======================>......] - ETA: 1s - loss: 0.6150 1522/1875 [=======================>......] - ETA: 1s - loss: 0.6144 1537/1875 [=======================>......] - ETA: 1s - loss: 0.6137 1552/1875 [=======================>......] - ETA: 1s - loss: 0.6128 1567/1875 [========================>.....] - ETA: 1s - loss: 0.6114 1582/1875 [========================>.....] - ETA: 1s - loss: 0.6109 1597/1875 [========================>.....] - ETA: 0s - loss: 0.6101 1612/1875 [========================>.....] - ETA: 0s - loss: 0.6089 1626/1875 [=========================>....] - ETA: 0s - loss: 0.6083 1640/1875 [=========================>....] - ETA: 0s - loss: 0.6069 1654/1875 [=========================>....] - ETA: 0s - loss: 0.6066 1668/1875 [=========================>....] - ETA: 0s - loss: 0.6054 1682/1875 [=========================>....] - ETA: 0s - loss: 0.6044 1696/1875 [==========================>...] - ETA: 0s - loss: 0.6033 1710/1875 [==========================>...] - ETA: 0s - loss: 0.6024 1724/1875 [==========================>...] - ETA: 0s - loss: 0.6015 1738/1875 [==========================>...] - ETA: 0s - loss: 0.6007 1752/1875 [===========================>..] - ETA: 0s - loss: 0.5995 1766/1875 [===========================>..] - ETA: 0s - loss: 0.5987 1780/1875 [===========================>..] - ETA: 0s - loss: 0.5978 1794/1875 [===========================>..] - ETA: 0s - loss: 0.5972 1807/1875 [===========================>..] - ETA: 0s - loss: 0.5964 1821/1875 [============================>.] - ETA: 0s - loss: 0.5955 1835/1875 [============================>.] - ETA: 0s - loss: 0.5944 1846/1875 [============================>.] - ETA: 0s - loss: 0.5939 1862/1875 [============================>.] - ETA: 0s - loss: 0.5929 1875/1875 [==============================] - 7s 4ms/step - loss: 0.5921 Epoch 2/5 1/1875 [..............................] - ETA: 0s - loss: 0.3843 16/1875 [..............................] - ETA: 5s - loss: 0.4541 31/1875 [..............................] - ETA: 5s - loss: 0.4736 47/1875 [..............................] - ETA: 5s - loss: 0.4695 63/1875 [>.............................] - ETA: 5s - loss: 0.4733 78/1875 [>.............................] - ETA: 5s - loss: 0.4719 94/1875 [>.............................] - ETA: 5s - loss: 0.4786 109/1875 [>.............................] - ETA: 5s - loss: 0.4859 124/1875 [>.............................] - ETA: 5s - loss: 0.4925 140/1875 [=>............................] - ETA: 5s - loss: 0.4885 155/1875 [=>............................] - ETA: 5s - loss: 0.4780 170/1875 [=>............................] - ETA: 5s - loss: 0.4809 186/1875 [=>............................] - ETA: 5s - loss: 0.4809 202/1875 [==>...........................] - ETA: 5s - loss: 0.4797 218/1875 [==>...........................] - ETA: 5s - loss: 0.4795 233/1875 [==>...........................] - ETA: 5s - loss: 0.4810 249/1875 [==>...........................] - ETA: 5s - loss: 0.4797 265/1875 [===>..........................] - ETA: 5s - loss: 0.4776 280/1875 [===>..........................] - ETA: 5s - loss: 0.4776 296/1875 [===>..........................] - ETA: 5s - loss: 0.4772 311/1875 [===>..........................] - ETA: 5s - loss: 0.4776 326/1875 [====>.........................] - ETA: 5s - loss: 0.4753 341/1875 [====>.........................] - ETA: 5s - loss: 0.4755 356/1875 [====>.........................] - ETA: 5s - loss: 0.4742 371/1875 [====>.........................] - ETA: 5s - loss: 0.4722 387/1875 [=====>........................] - ETA: 4s - loss: 0.4714 402/1875 [=====>........................] - ETA: 4s - loss: 0.4722 417/1875 [=====>........................] - ETA: 4s - loss: 0.4736 432/1875 [=====>........................] - ETA: 4s - loss: 0.4737 447/1875 [======>.......................] - ETA: 4s - loss: 0.4731 462/1875 [======>.......................] - ETA: 4s - loss: 0.4730 478/1875 [======>.......................] - ETA: 4s - loss: 0.4716 494/1875 [======>.......................] - ETA: 4s - loss: 0.4707 510/1875 [=======>......................] - ETA: 4s - loss: 0.4707 525/1875 [=======>......................] - ETA: 4s - loss: 0.4699 541/1875 [=======>......................] - ETA: 4s - loss: 0.4690 556/1875 [=======>......................] - ETA: 4s - loss: 0.4680 571/1875 [========>.....................] - ETA: 4s - loss: 0.4678 586/1875 [========>.....................] - ETA: 4s - loss: 0.4681 601/1875 [========>.....................] - ETA: 4s - loss: 0.4676 616/1875 [========>.....................] - ETA: 4s - loss: 0.4675 631/1875 [=========>....................] - ETA: 4s - loss: 0.4673 646/1875 [=========>....................] - ETA: 4s - loss: 0.4664 661/1875 [=========>....................] - ETA: 4s - loss: 0.4659 676/1875 [=========>....................] - ETA: 4s - loss: 0.4652 692/1875 [==========>...................] - ETA: 3s - loss: 0.4642 707/1875 [==========>...................] - ETA: 3s - loss: 0.4632 722/1875 [==========>...................] - ETA: 3s - loss: 0.4639 737/1875 [==========>...................] - ETA: 3s - loss: 0.4635 753/1875 [===========>..................] - ETA: 3s - loss: 0.4639 770/1875 [===========>..................] - ETA: 3s - loss: 0.4636 786/1875 [===========>..................] - ETA: 3s - loss: 0.4641 802/1875 [===========>..................] - ETA: 3s - loss: 0.4645 818/1875 [============>.................] - ETA: 3s - loss: 0.4646 834/1875 [============>.................] - ETA: 3s - loss: 0.4645 850/1875 [============>.................] - ETA: 3s - loss: 0.4645 866/1875 [============>.................] - ETA: 3s - loss: 0.4635 882/1875 [=============>................] - ETA: 3s - loss: 0.4636 898/1875 [=============>................] - ETA: 3s - loss: 0.4626 914/1875 [=============>................] - ETA: 3s - loss: 0.4621 930/1875 [=============>................] - ETA: 3s - loss: 0.4625 947/1875 [==============>...............] - ETA: 3s - loss: 0.4620 963/1875 [==============>...............] - ETA: 3s - loss: 0.4622 979/1875 [==============>...............] - ETA: 2s - loss: 0.4615 995/1875 [==============>...............] - ETA: 2s - loss: 0.4617 1011/1875 [===============>..............] - ETA: 2s - loss: 0.4619 1027/1875 [===============>..............] - ETA: 2s - loss: 0.4621 1042/1875 [===============>..............] - ETA: 2s - loss: 0.4615 1058/1875 [===============>..............] - ETA: 2s - loss: 0.4610 1074/1875 [================>.............] - ETA: 2s - loss: 0.4607 1090/1875 [================>.............] - ETA: 2s - loss: 0.4607 1106/1875 [================>.............] - ETA: 2s - loss: 0.4607 1122/1875 [================>.............] - ETA: 2s - loss: 0.4609 1138/1875 [=================>............] - ETA: 2s - loss: 0.4604 1154/1875 [=================>............] - ETA: 2s - loss: 0.4610 1170/1875 [=================>............] - ETA: 2s - loss: 0.4606 1186/1875 [=================>............] - ETA: 2s - loss: 0.4611 1202/1875 [==================>...........] - ETA: 2s - loss: 0.4612 1218/1875 [==================>...........] - ETA: 2s - loss: 0.4608 1234/1875 [==================>...........] - ETA: 2s - loss: 0.4607 1250/1875 [===================>..........] - ETA: 2s - loss: 0.4606 1266/1875 [===================>..........] - ETA: 2s - loss: 0.4607 1282/1875 [===================>..........] - ETA: 1s - loss: 0.4608 1298/1875 [===================>..........] - ETA: 1s - loss: 0.4608 1314/1875 [====================>.........] - ETA: 1s - loss: 0.4606 1330/1875 [====================>.........] - ETA: 1s - loss: 0.4603 1346/1875 [====================>.........] - ETA: 1s - loss: 0.4600 1362/1875 [====================>.........] - ETA: 1s - loss: 0.4600 1378/1875 [=====================>........] - ETA: 1s - loss: 0.4598 1394/1875 [=====================>........] - ETA: 1s - loss: 0.4595 1410/1875 [=====================>........] - ETA: 1s - loss: 0.4593 1426/1875 [=====================>........] - ETA: 1s - loss: 0.4591 1442/1875 [======================>.......] - ETA: 1s - loss: 0.4591 1459/1875 [======================>.......] - ETA: 1s - loss: 0.4588 1475/1875 [======================>.......] - ETA: 1s - loss: 0.4594 1491/1875 [======================>.......] - ETA: 1s - loss: 0.4590 1507/1875 [=======================>......] - ETA: 1s - loss: 0.4589 1524/1875 [=======================>......] - ETA: 1s - loss: 0.4587 1540/1875 [=======================>......] - ETA: 1s - loss: 0.4588 1556/1875 [=======================>......] - ETA: 1s - loss: 0.4585 1572/1875 [========================>.....] - ETA: 0s - loss: 0.4582 1588/1875 [========================>.....] - ETA: 0s - loss: 0.4580 1604/1875 [========================>.....] - ETA: 0s - loss: 0.4580 1620/1875 [========================>.....] - ETA: 0s - loss: 0.4576 1636/1875 [=========================>....] - ETA: 0s - loss: 0.4576 1652/1875 [=========================>....] - ETA: 0s - loss: 0.4574 1668/1875 [=========================>....] - ETA: 0s - loss: 0.4571 1684/1875 [=========================>....] - ETA: 0s - loss: 0.4565 1701/1875 [==========================>...] - ETA: 0s - loss: 0.4564 1717/1875 [==========================>...] - ETA: 0s - loss: 0.4563 1733/1875 [==========================>...] - ETA: 0s - loss: 0.4562 1749/1875 [==========================>...] - ETA: 0s - loss: 0.4561 1765/1875 [===========================>..] - ETA: 0s - loss: 0.4558 1782/1875 [===========================>..] - ETA: 0s - loss: 0.4557 1798/1875 [===========================>..] - ETA: 0s - loss: 0.4553 1815/1875 [============================>.] - ETA: 0s - loss: 0.4554 1832/1875 [============================>.] - ETA: 0s - loss: 0.4551 1847/1875 [============================>.] - ETA: 0s - loss: 0.4549 1863/1875 [============================>.] - ETA: 0s - loss: 0.4548 1875/1875 [==============================] - 6s 3ms/step - loss: 0.4548 Epoch 3/5 1/1875 [..............................] - ETA: 0s - loss: 0.4172 17/1875 [..............................] - ETA: 5s - loss: 0.4058 33/1875 [..............................] - ETA: 5s - loss: 0.4313 49/1875 [..............................] - ETA: 5s - loss: 0.4351 65/1875 [>.............................] - ETA: 5s - loss: 0.4250 81/1875 [>.............................] - ETA: 5s - loss: 0.4286 97/1875 [>.............................] - ETA: 5s - loss: 0.4358 113/1875 [>.............................] - ETA: 5s - loss: 0.4375 129/1875 [=>............................] - ETA: 5s - loss: 0.4352 145/1875 [=>............................] - ETA: 5s - loss: 0.4372 161/1875 [=>............................] - ETA: 5s - loss: 0.4388 177/1875 [=>............................] - ETA: 5s - loss: 0.4423 193/1875 [==>...........................] - ETA: 5s - loss: 0.4423 209/1875 [==>...........................] - ETA: 5s - loss: 0.4427 225/1875 [==>...........................] - ETA: 5s - loss: 0.4404 242/1875 [==>...........................] - ETA: 5s - loss: 0.4413 259/1875 [===>..........................] - ETA: 5s - loss: 0.4438 276/1875 [===>..........................] - ETA: 5s - loss: 0.4397 293/1875 [===>..........................] - ETA: 5s - loss: 0.4365 310/1875 [===>..........................] - ETA: 4s - loss: 0.4356 327/1875 [====>.........................] - ETA: 4s - loss: 0.4348 343/1875 [====>.........................] - ETA: 4s - loss: 0.4364 359/1875 [====>.........................] - ETA: 4s - loss: 0.4358 375/1875 [=====>........................] - ETA: 4s - loss: 0.4344 391/1875 [=====>........................] - ETA: 4s - loss: 0.4340 407/1875 [=====>........................] - ETA: 4s - loss: 0.4326 423/1875 [=====>........................] - ETA: 4s - loss: 0.4310 439/1875 [======>.......................] - ETA: 4s - loss: 0.4317 454/1875 [======>.......................] - ETA: 4s - loss: 0.4320 469/1875 [======>.......................] - ETA: 4s - loss: 0.4321 485/1875 [======>.......................] - ETA: 4s - loss: 0.4301 501/1875 [=======>......................] - ETA: 4s - loss: 0.4289 518/1875 [=======>......................] - ETA: 4s - loss: 0.4296 534/1875 [=======>......................] - ETA: 4s - loss: 0.4283 550/1875 [=======>......................] - ETA: 4s - loss: 0.4288 566/1875 [========>.....................] - ETA: 4s - loss: 0.4286 582/1875 [========>.....................] - ETA: 4s - loss: 0.4282 598/1875 [========>.....................] - ETA: 4s - loss: 0.4287 614/1875 [========>.....................] - ETA: 4s - loss: 0.4284 631/1875 [=========>....................] - ETA: 3s - loss: 0.4275 647/1875 [=========>....................] - ETA: 3s - loss: 0.4261 663/1875 [=========>....................] - ETA: 3s - loss: 0.4260 679/1875 [=========>....................] - ETA: 3s - loss: 0.4243 695/1875 [==========>...................] - ETA: 3s - loss: 0.4251 711/1875 [==========>...................] - ETA: 3s - loss: 0.4247 727/1875 [==========>...................] - ETA: 3s - loss: 0.4249 743/1875 [==========>...................] - ETA: 3s - loss: 0.4255 760/1875 [===========>..................] - ETA: 3s - loss: 0.4249 776/1875 [===========>..................] - ETA: 3s - loss: 0.4249 792/1875 [===========>..................] - ETA: 3s - loss: 0.4248 808/1875 [===========>..................] - ETA: 3s - loss: 0.4255 824/1875 [============>.................] - ETA: 3s - loss: 0.4253 840/1875 [============>.................] - ETA: 3s - loss: 0.4261 856/1875 [============>.................] - ETA: 3s - loss: 0.4263 872/1875 [============>.................] - ETA: 3s - loss: 0.4260 888/1875 [=============>................] - ETA: 3s - loss: 0.4262 904/1875 [=============>................] - ETA: 3s - loss: 0.4255 920/1875 [=============>................] - ETA: 3s - loss: 0.4254 936/1875 [=============>................] - ETA: 2s - loss: 0.4262 952/1875 [==============>...............] - ETA: 2s - loss: 0.4259 968/1875 [==============>...............] - ETA: 2s - loss: 0.4253 984/1875 [==============>...............] - ETA: 2s - loss: 0.4257 1001/1875 [===============>..............] - ETA: 2s - loss: 0.4256 1017/1875 [===============>..............] - ETA: 2s - loss: 0.4257 1033/1875 [===============>..............] - ETA: 2s - loss: 0.4261 1050/1875 [===============>..............] - ETA: 2s - loss: 0.4260 1067/1875 [================>.............] - ETA: 2s - loss: 0.4264 1083/1875 [================>.............] - ETA: 2s - loss: 0.4261 1099/1875 [================>.............] - ETA: 2s - loss: 0.4257 1115/1875 [================>.............] - ETA: 2s - loss: 0.4257 1131/1875 [=================>............] - ETA: 2s - loss: 0.4255 1148/1875 [=================>............] - ETA: 2s - loss: 0.4257 1164/1875 [=================>............] - ETA: 2s - loss: 0.4258 1181/1875 [=================>............] - ETA: 2s - loss: 0.4254 1197/1875 [==================>...........] - ETA: 2s - loss: 0.4250 1214/1875 [==================>...........] - ETA: 2s - loss: 0.4249 1230/1875 [==================>...........] - ETA: 2s - loss: 0.4246 1246/1875 [==================>...........] - ETA: 1s - loss: 0.4245 1262/1875 [===================>..........] - ETA: 1s - loss: 0.4249 1278/1875 [===================>..........] - ETA: 1s - loss: 0.4242 1294/1875 [===================>..........] - ETA: 1s - loss: 0.4242 1310/1875 [===================>..........] - ETA: 1s - loss: 0.4239 1326/1875 [====================>.........] - ETA: 1s - loss: 0.4240 1342/1875 [====================>.........] - ETA: 1s - loss: 0.4237 1358/1875 [====================>.........] - ETA: 1s - loss: 0.4237 1374/1875 [====================>.........] - ETA: 1s - loss: 0.4237 1391/1875 [=====================>........] - ETA: 1s - loss: 0.4233 1407/1875 [=====================>........] - ETA: 1s - loss: 0.4235 1424/1875 [=====================>........] - ETA: 1s - loss: 0.4239 1440/1875 [======================>.......] - ETA: 1s - loss: 0.4241 1457/1875 [======================>.......] - ETA: 1s - loss: 0.4241 1473/1875 [======================>.......] - ETA: 1s - loss: 0.4246 1489/1875 [======================>.......] - ETA: 1s - loss: 0.4244 1506/1875 [=======================>......] - ETA: 1s - loss: 0.4252 1523/1875 [=======================>......] - ETA: 1s - loss: 0.4252 1539/1875 [=======================>......] - ETA: 1s - loss: 0.4254 1556/1875 [=======================>......] - ETA: 1s - loss: 0.4253 1573/1875 [========================>.....] - ETA: 0s - loss: 0.4252 1589/1875 [========================>.....] - ETA: 0s - loss: 0.4252 1605/1875 [========================>.....] - ETA: 0s - loss: 0.4252 1621/1875 [========================>.....] - ETA: 0s - loss: 0.4252 1638/1875 [=========================>....] - ETA: 0s - loss: 0.4251 1654/1875 [=========================>....] - ETA: 0s - loss: 0.4248 1670/1875 [=========================>....] - ETA: 0s - loss: 0.4243 1687/1875 [=========================>....] - ETA: 0s - loss: 0.4242 1703/1875 [==========================>...] - ETA: 0s - loss: 0.4242 1719/1875 [==========================>...] - ETA: 0s - loss: 0.4242 1735/1875 [==========================>...] - ETA: 0s - loss: 0.4244 1751/1875 [===========================>..] - ETA: 0s - loss: 0.4242 1767/1875 [===========================>..] - ETA: 0s - loss: 0.4241 1783/1875 [===========================>..] - ETA: 0s - loss: 0.4236 1799/1875 [===========================>..] - ETA: 0s - loss: 0.4233 1815/1875 [============================>.] - ETA: 0s - loss: 0.4231 1832/1875 [============================>.] - ETA: 0s - loss: 0.4234 1847/1875 [============================>.] - ETA: 0s - loss: 0.4232 1864/1875 [============================>.] - ETA: 0s - loss: 0.4232 1875/1875 [==============================] - 6s 3ms/step - loss: 0.4230 Epoch 4/5 1/1875 [..............................] - ETA: 0s - loss: 0.4242 18/1875 [..............................] - ETA: 5s - loss: 0.4179 34/1875 [..............................] - ETA: 5s - loss: 0.4270 50/1875 [..............................] - ETA: 5s - loss: 0.4225 66/1875 [>.............................] - ETA: 5s - loss: 0.4313 82/1875 [>.............................] - ETA: 5s - loss: 0.4303 98/1875 [>.............................] - ETA: 5s - loss: 0.4279 115/1875 [>.............................] - ETA: 5s - loss: 0.4166 132/1875 [=>............................] - ETA: 5s - loss: 0.4200 148/1875 [=>............................] - ETA: 5s - loss: 0.4169 164/1875 [=>............................] - ETA: 5s - loss: 0.4179 180/1875 [=>............................] - ETA: 5s - loss: 0.4207 196/1875 [==>...........................] - ETA: 5s - loss: 0.4193 212/1875 [==>...........................] - ETA: 5s - loss: 0.4195 228/1875 [==>...........................] - ETA: 5s - loss: 0.4192 244/1875 [==>...........................] - ETA: 5s - loss: 0.4180 260/1875 [===>..........................] - ETA: 5s - loss: 0.4155 277/1875 [===>..........................] - ETA: 5s - loss: 0.4149 293/1875 [===>..........................] - ETA: 4s - loss: 0.4140 309/1875 [===>..........................] - ETA: 4s - loss: 0.4145 326/1875 [====>.........................] - ETA: 4s - loss: 0.4161 342/1875 [====>.........................] - ETA: 4s - loss: 0.4169 358/1875 [====>.........................] - ETA: 4s - loss: 0.4169 374/1875 [====>.........................] - ETA: 4s - loss: 0.4160 391/1875 [=====>........................] - ETA: 4s - loss: 0.4158 407/1875 [=====>........................] - ETA: 4s - loss: 0.4167 423/1875 [=====>........................] - ETA: 4s - loss: 0.4167 440/1875 [======>.......................] - ETA: 4s - loss: 0.4161 457/1875 [======>.......................] - ETA: 4s - loss: 0.4161 473/1875 [======>.......................] - ETA: 4s - loss: 0.4160 490/1875 [======>.......................] - ETA: 4s - loss: 0.4136 506/1875 [=======>......................] - ETA: 4s - loss: 0.4132 522/1875 [=======>......................] - ETA: 4s - loss: 0.4123 538/1875 [=======>......................] - ETA: 4s - loss: 0.4126 554/1875 [=======>......................] - ETA: 4s - loss: 0.4116 570/1875 [========>.....................] - ETA: 4s - loss: 0.4108 587/1875 [========>.....................] - ETA: 4s - loss: 0.4108 604/1875 [========>.....................] - ETA: 4s - loss: 0.4101 621/1875 [========>.....................] - ETA: 3s - loss: 0.4088 637/1875 [=========>....................] - ETA: 3s - loss: 0.4089 654/1875 [=========>....................] - ETA: 3s - loss: 0.4088 670/1875 [=========>....................] - ETA: 3s - loss: 0.4093 686/1875 [=========>....................] - ETA: 3s - loss: 0.4085 702/1875 [==========>...................] - ETA: 3s - loss: 0.4090 718/1875 [==========>...................] - ETA: 3s - loss: 0.4088 734/1875 [==========>...................] - ETA: 3s - loss: 0.4092 750/1875 [===========>..................] - ETA: 3s - loss: 0.4094 766/1875 [===========>..................] - ETA: 3s - loss: 0.4096 783/1875 [===========>..................] - ETA: 3s - loss: 0.4098 799/1875 [===========>..................] - ETA: 3s - loss: 0.4097 815/1875 [============>.................] - ETA: 3s - loss: 0.4090 831/1875 [============>.................] - ETA: 3s - loss: 0.4092 847/1875 [============>.................] - ETA: 3s - loss: 0.4087 863/1875 [============>.................] - ETA: 3s - loss: 0.4090 879/1875 [=============>................] - ETA: 3s - loss: 0.4092 896/1875 [=============>................] - ETA: 3s - loss: 0.4091 912/1875 [=============>................] - ETA: 3s - loss: 0.4078 928/1875 [=============>................] - ETA: 2s - loss: 0.4074 944/1875 [==============>...............] - ETA: 2s - loss: 0.4077 960/1875 [==============>...............] - ETA: 2s - loss: 0.4083 976/1875 [==============>...............] - ETA: 2s - loss: 0.4085 992/1875 [==============>...............] - ETA: 2s - loss: 0.4082 1008/1875 [===============>..............] - ETA: 2s - loss: 0.4083 1024/1875 [===============>..............] - ETA: 2s - loss: 0.4077 1039/1875 [===============>..............] - ETA: 2s - loss: 0.4079 1055/1875 [===============>..............] - ETA: 2s - loss: 0.4075 1071/1875 [================>.............] - ETA: 2s - loss: 0.4077 1087/1875 [================>.............] - ETA: 2s - loss: 0.4079 1103/1875 [================>.............] - ETA: 2s - loss: 0.4079 1119/1875 [================>.............] - ETA: 2s - loss: 0.4081 1135/1875 [=================>............] - ETA: 2s - loss: 0.4073 1152/1875 [=================>............] - ETA: 2s - loss: 0.4061 1168/1875 [=================>............] - ETA: 2s - loss: 0.4068 1184/1875 [=================>............] - ETA: 2s - loss: 0.4069 1200/1875 [==================>...........] - ETA: 2s - loss: 0.4076 1217/1875 [==================>...........] - ETA: 2s - loss: 0.4078 1233/1875 [==================>...........] - ETA: 2s - loss: 0.4081 1250/1875 [===================>..........] - ETA: 1s - loss: 0.4079 1266/1875 [===================>..........] - ETA: 1s - loss: 0.4080 1282/1875 [===================>..........] - ETA: 1s - loss: 0.4080 1298/1875 [===================>..........] - ETA: 1s - loss: 0.4083 1314/1875 [====================>.........] - ETA: 1s - loss: 0.4079 1330/1875 [====================>.........] - ETA: 1s - loss: 0.4079 1346/1875 [====================>.........] - ETA: 1s - loss: 0.4082 1362/1875 [====================>.........] - ETA: 1s - loss: 0.4083 1379/1875 [=====================>........] - ETA: 1s - loss: 0.4079 1396/1875 [=====================>........] - ETA: 1s - loss: 0.4076 1412/1875 [=====================>........] - ETA: 1s - loss: 0.4077 1428/1875 [=====================>........] - ETA: 1s - loss: 0.4077 1444/1875 [======================>.......] - ETA: 1s - loss: 0.4078 1460/1875 [======================>.......] - ETA: 1s - loss: 0.4073 1477/1875 [======================>.......] - ETA: 1s - loss: 0.4078 1493/1875 [======================>.......] - ETA: 1s - loss: 0.4075 1509/1875 [=======================>......] - ETA: 1s - loss: 0.4078 1525/1875 [=======================>......] - ETA: 1s - loss: 0.4072 1541/1875 [=======================>......] - ETA: 1s - loss: 0.4071 1558/1875 [=======================>......] - ETA: 1s - loss: 0.4071 1575/1875 [========================>.....] - ETA: 0s - loss: 0.4072 1592/1875 [========================>.....] - ETA: 0s - loss: 0.4076 1608/1875 [========================>.....] - ETA: 0s - loss: 0.4074 1624/1875 [========================>.....] - ETA: 0s - loss: 0.4077 1640/1875 [=========================>....] - ETA: 0s - loss: 0.4077 1656/1875 [=========================>....] - ETA: 0s - loss: 0.4077 1672/1875 [=========================>....] - ETA: 0s - loss: 0.4071 1689/1875 [==========================>...] - ETA: 0s - loss: 0.4075 1705/1875 [==========================>...] - ETA: 0s - loss: 0.4076 1721/1875 [==========================>...] - ETA: 0s - loss: 0.4074 1737/1875 [==========================>...] - ETA: 0s - loss: 0.4074 1753/1875 [===========================>..] - ETA: 0s - loss: 0.4068 1770/1875 [===========================>..] - ETA: 0s - loss: 0.4067 1786/1875 [===========================>..] - ETA: 0s - loss: 0.4066 1802/1875 [===========================>..] - ETA: 0s - loss: 0.4068 1818/1875 [============================>.] - ETA: 0s - loss: 0.4074 1834/1875 [============================>.] - ETA: 0s - loss: 0.4071 1850/1875 [============================>.] - ETA: 0s - loss: 0.4071 1866/1875 [============================>.] - ETA: 0s - loss: 0.4069 1875/1875 [==============================] - 6s 3ms/step - loss: 0.4070 Epoch 5/5 1/1875 [..............................] - ETA: 0s - loss: 0.2431 18/1875 [..............................] - ETA: 5s - loss: 0.3901 34/1875 [..............................] - ETA: 5s - loss: 0.3947 50/1875 [..............................] - ETA: 5s - loss: 0.3947 66/1875 [>.............................] - ETA: 5s - loss: 0.3937 82/1875 [>.............................] - ETA: 5s - loss: 0.3942 98/1875 [>.............................] - ETA: 5s - loss: 0.3993 114/1875 [>.............................] - ETA: 5s - loss: 0.4030 130/1875 [=>............................] - ETA: 5s - loss: 0.4081 147/1875 [=>............................] - ETA: 5s - loss: 0.4037 163/1875 [=>............................] - ETA: 5s - loss: 0.4030 180/1875 [=>............................] - ETA: 5s - loss: 0.4027 196/1875 [==>...........................] - ETA: 5s - loss: 0.3997 212/1875 [==>...........................] - ETA: 5s - loss: 0.3983 228/1875 [==>...........................] - ETA: 5s - loss: 0.4011 244/1875 [==>...........................] - ETA: 5s - loss: 0.4017 260/1875 [===>..........................] - ETA: 5s - loss: 0.4006 277/1875 [===>..........................] - ETA: 5s - loss: 0.3989 293/1875 [===>..........................] - ETA: 4s - loss: 0.3979 310/1875 [===>..........................] - ETA: 4s - loss: 0.3974 326/1875 [====>.........................] - ETA: 4s - loss: 0.3983 343/1875 [====>.........................] - ETA: 4s - loss: 0.3974 359/1875 [====>.........................] - ETA: 4s - loss: 0.3960 375/1875 [=====>........................] - ETA: 4s - loss: 0.3967 391/1875 [=====>........................] - ETA: 4s - loss: 0.3970 407/1875 [=====>........................] - ETA: 4s - loss: 0.3987 423/1875 [=====>........................] - ETA: 4s - loss: 0.3974 440/1875 [======>.......................] - ETA: 4s - loss: 0.3983 457/1875 [======>.......................] - ETA: 4s - loss: 0.3967 473/1875 [======>.......................] - ETA: 4s - loss: 0.3960 489/1875 [======>.......................] - ETA: 4s - loss: 0.3948 506/1875 [=======>......................] - ETA: 4s - loss: 0.3937 523/1875 [=======>......................] - ETA: 4s - loss: 0.3933 540/1875 [=======>......................] - ETA: 4s - loss: 0.3934 556/1875 [=======>......................] - ETA: 4s - loss: 0.3948 573/1875 [========>.....................] - ETA: 4s - loss: 0.3957 589/1875 [========>.....................] - ETA: 4s - loss: 0.3959 605/1875 [========>.....................] - ETA: 3s - loss: 0.3943 622/1875 [========>.....................] - ETA: 3s - loss: 0.3942 639/1875 [=========>....................] - ETA: 3s - loss: 0.3937 655/1875 [=========>....................] - ETA: 3s - loss: 0.3941 671/1875 [=========>....................] - ETA: 3s - loss: 0.3928 687/1875 [=========>....................] - ETA: 3s - loss: 0.3926 704/1875 [==========>...................] - ETA: 3s - loss: 0.3919 721/1875 [==========>...................] - ETA: 3s - loss: 0.3917 737/1875 [==========>...................] - ETA: 3s - loss: 0.3927 753/1875 [===========>..................] - ETA: 3s - loss: 0.3925 769/1875 [===========>..................] - ETA: 3s - loss: 0.3922 786/1875 [===========>..................] - ETA: 3s - loss: 0.3928 802/1875 [===========>..................] - ETA: 3s - loss: 0.3918 818/1875 [============>.................] - ETA: 3s - loss: 0.3922 834/1875 [============>.................] - ETA: 3s - loss: 0.3925 851/1875 [============>.................] - ETA: 3s - loss: 0.3926 867/1875 [============>.................] - ETA: 3s - loss: 0.3928 883/1875 [=============>................] - ETA: 3s - loss: 0.3933 899/1875 [=============>................] - ETA: 3s - loss: 0.3934 916/1875 [=============>................] - ETA: 3s - loss: 0.3939 932/1875 [=============>................] - ETA: 2s - loss: 0.3940 948/1875 [==============>...............] - ETA: 2s - loss: 0.3939 964/1875 [==============>...............] - ETA: 2s - loss: 0.3941 981/1875 [==============>...............] - ETA: 2s - loss: 0.3938 997/1875 [==============>...............] - ETA: 2s - loss: 0.3940 1013/1875 [===============>..............] - ETA: 2s - loss: 0.3927 1029/1875 [===============>..............] - ETA: 2s - loss: 0.3932 1045/1875 [===============>..............] - ETA: 2s - loss: 0.3927 1061/1875 [===============>..............] - ETA: 2s - loss: 0.3928 1077/1875 [================>.............] - ETA: 2s - loss: 0.3927 1094/1875 [================>.............] - ETA: 2s - loss: 0.3931 1110/1875 [================>.............] - ETA: 2s - loss: 0.3934 1126/1875 [=================>............] - ETA: 2s - loss: 0.3934 1142/1875 [=================>............] - ETA: 2s - loss: 0.3937 1158/1875 [=================>............] - ETA: 2s - loss: 0.3939 1175/1875 [=================>............] - ETA: 2s - loss: 0.3944 1191/1875 [==================>...........] - ETA: 2s - loss: 0.3948 1207/1875 [==================>...........] - ETA: 2s - loss: 0.3951 1224/1875 [==================>...........] - ETA: 2s - loss: 0.3948 1240/1875 [==================>...........] - ETA: 2s - loss: 0.3953 1257/1875 [===================>..........] - ETA: 1s - loss: 0.3954 1273/1875 [===================>..........] - ETA: 1s - loss: 0.3955 1290/1875 [===================>..........] - ETA: 1s - loss: 0.3950 1306/1875 [===================>..........] - ETA: 1s - loss: 0.3949 1322/1875 [====================>.........] - ETA: 1s - loss: 0.3949 1338/1875 [====================>.........] - ETA: 1s - loss: 0.3948 1354/1875 [====================>.........] - ETA: 1s - loss: 0.3943 1369/1875 [====================>.........] - ETA: 1s - loss: 0.3944 1385/1875 [=====================>........] - ETA: 1s - loss: 0.3944 1401/1875 [=====================>........] - ETA: 1s - loss: 0.3944 1418/1875 [=====================>........] - ETA: 1s - loss: 0.3946 1434/1875 [=====================>........] - ETA: 1s - loss: 0.3944 1450/1875 [======================>.......] - ETA: 1s - loss: 0.3942 1466/1875 [======================>.......] - ETA: 1s - loss: 0.3944 1482/1875 [======================>.......] - ETA: 1s - loss: 0.3945 1498/1875 [======================>.......] - ETA: 1s - loss: 0.3941 1514/1875 [=======================>......] - ETA: 1s - loss: 0.3941 1531/1875 [=======================>......] - ETA: 1s - loss: 0.3941 1547/1875 [=======================>......] - ETA: 1s - loss: 0.3939 1563/1875 [========================>.....] - ETA: 0s - loss: 0.3936 1579/1875 [========================>.....] - ETA: 0s - loss: 0.3936 1596/1875 [========================>.....] - ETA: 0s - loss: 0.3940 1612/1875 [========================>.....] - ETA: 0s - loss: 0.3934 1628/1875 [=========================>....] - ETA: 0s - loss: 0.3934 1645/1875 [=========================>....] - ETA: 0s - loss: 0.3932 1662/1875 [=========================>....] - ETA: 0s - loss: 0.3935 1678/1875 [=========================>....] - ETA: 0s - loss: 0.3936 1695/1875 [==========================>...] - ETA: 0s - loss: 0.3938 1711/1875 [==========================>...] - ETA: 0s - loss: 0.3935 1728/1875 [==========================>...] - ETA: 0s - loss: 0.3933 1744/1875 [==========================>...] - ETA: 0s - loss: 0.3927 1760/1875 [===========================>..] - ETA: 0s - loss: 0.3929 1776/1875 [===========================>..] - ETA: 0s - loss: 0.3930 1792/1875 [===========================>..] - ETA: 0s - loss: 0.3929 1809/1875 [===========================>..] - ETA: 0s - loss: 0.3931 1825/1875 [============================>.] - ETA: 0s - loss: 0.3928 1841/1875 [============================>.] - ETA: 0s - loss: 0.3929 1857/1875 [============================>.] - ETA: 0s - loss: 0.3929 1873/1875 [============================>.] - ETA: 0s - loss: 0.3930 1875/1875 [==============================] - 6s 3ms/step - loss: 0.3930
# Evaluate the network
results = model.predict(test_dataset)
# Save test embeddings for visualization in projector
np.savetxt("vecs.tsv", results, delimiter='\t')
out_m = io.open('meta.tsv', 'w', encoding='utf-8')
for img, labels in tfds.as_numpy(test_dataset):
[out_m.write(str(x) + "\n") for x in labels]
out_m.close()
try:
from google.colab import files
files.download('vecs.tsv')
files.download('meta.tsv')
except:
pass
Embedding Projector
可以在此处加载和可视化向量及元数据文件:https://projector.tensorflow.org/
使用 UMAP 进行可视化时,您可以看到我们嵌入式测试数据的结果:
在 TensorFlow.org 上查看
在 Google Colab 中运行
在 GitHub 中查看源代码