小编Tom*_*mos的帖子

为什么 Keras 损失在第一个 epoch 之后急剧下降?

我正在 Keras/Tensorflow 中训练 U-Net CNN,发现第一个时期的最后一批和第二个时期的第一批之间的损失大幅减少:

Epoch 00001: loss improved from inf to 0.07185 - categorical_accuracy: 0.8636
Epoch 2/400: 1/250 [.....................] - loss: 0.0040 - categorical_accuracy: 0.8878
Run Code Online (Sandbox Code Playgroud)

奇怪的是,分类准确率并没有随着损失而下降,而是略有增加。损失下降后,不会进一步减少,而是稳定在较低值附近。我知道关于该问题的信息很少,但这种行为可能表明存在一个常见问题,我可以进一步调查吗?

一些额外信息:Optimizer = Adam(lr=1e-4)(降低 lr 似乎没有帮助)

损失:‘类别加权分类交叉熵’,计算如下

def class_weighted_categorical_crossentropy(class_weights):
        
        def loss_function(y_true, y_pred):

        # scale preds so that the class probas of each sample sum to 1
        y_pred /= tf.reduce_sum(y_pred, -1, True)
        # manual computation of crossentropy
        epsilon = tf.convert_to_tensor(K.epsilon(), y_pred.dtype.base_dtype)
        y_pred = tf.clip_by_value(y_pred, epsilon, 1. - epsilon)

        # Multiply each class by its weight: …
Run Code Online (Sandbox Code Playgroud)

python loss keras

6
推荐指数
1
解决办法
2431
查看次数

如何解决 TensorFlow 中的“BiasGrad 要求张量大小 <= int32 max”InvalidArgumentError?

我正在尝试使用 Keras/Tensorflow 训练卷积神经网络。我的模型编译正确,但是一旦训练开始,就会返回以下错误:

Using TensorFlow backend.

Epoch 1/3

Traceback (most recent call last):
  File "./main.py", line 17, in <module>
    history = CNN.fit(TrainImages, TrainMasks, epochs = 3)

  File "/home/tomhalmos/.local/lib/python3.6/site-packages/keras/engine/training.py", line 1239, in fit
    validation_freq=validation_freq)

  File "/home/tomhalmos/.local/lib/python3.6/site-packages/keras/engine/training_arrays.py", line 196, in fit_loop
    outs = fit_function(ins_batch)

  File "/home/tomhalmos/.local/lib/python3.6/site-packages/tensorflow_core/python/keras/backend.py", line 3727, in __call__
    outputs = self._graph_fn(*converted_inputs)

  File "/home/tomhalmos/.local/lib/python3.6/site-packages/tensorflow_core/python/eager/function.py", line 1551, in __call__
    return self._call_impl(args, kwargs)

  File "/home/tomhalmos/.local/lib/python3.6/site-packages/tensorflow_core/python/eager/function.py", line 1591, in _call_impl
    return self._call_flat(args, self.captured_inputs, cancellation_manager)

  File "/home/tomhalmos/.local/lib/python3.6/site-packages/tensorflow_core/python/eager/function.py", line 1692, in _call_flat
    ctx, args, cancellation_manager=cancellation_manager))

  File …
Run Code Online (Sandbox Code Playgroud)

python conv-neural-network keras tensorflow

5
推荐指数
1
解决办法
1667
查看次数

标签 统计

keras ×2

python ×2

conv-neural-network ×1

loss ×1

tensorflow ×1