小编Ire*_*e21的帖子

keras 中的 Nan 损失与三重损失

我正在尝试学习结合 VGG 和Adrian Ung Triplet Loss的 Paris6k 图像的嵌入。问题是,经过少量迭代后,在第一个 epoch 中,损失变为 nan,然后准确率和验证准确率增长到 1。

我已经尝试过降低学习率、增加批量大小(由于内存的原因仅增加到 16)、更改优化器(Adam 和 RMSprop)、检查数据集上是否有 None 值、将数据格式从“float32”更改为“ float64',为它们添加一点偏差并简化模型。

这是我的代码:

base_model = VGG16(include_top = False, input_shape = (512, 384, 3))
input_images = base_model.input
input_labels = Input(shape=(1,), name='input_label')

embeddings = Flatten()(base_model.output)
labels_plus_embeddings = concatenate([input_labels, embeddings])

model = Model(inputs=[input_images, input_labels], outputs=labels_plus_embeddings)

batch_size = 16
epochs = 2
embedding_size = 64

opt = Adam(lr=0.0001)

model.compile(loss=tl.triplet_loss_adapted_from_tf, optimizer=opt, metrics=['accuracy'])

label_list = np.vstack(label_list)

x_train = image_list[:2500]
x_val = image_list[2500:]

y_train = label_list[:2500]
y_val = label_list[2500:] …
Run Code Online (Sandbox Code Playgroud)

loss keras

3
推荐指数
2
解决办法
1957
查看次数

标签 统计

keras ×1

loss ×1