小编spi*_*der的帖子

如何在Keras输出每级精度?

Caffe不仅可以打印整体精度,还可以打印每级精度.

在Keras日志中,只有整体准确性.我很难计算出单独的类精度.

Epoch 168/200

0s - 损失:0.0495 - acc:0.9818 - val_loss:0.0519 - val_acc:0.9796

Epoch 169/200

0s - 损失:0.0519 - acc:0.9796 - val_loss:0.0496 - val_acc:0.9815

大纪元170/200

0s - 损失:0.0496 - acc:0.9815 - val_loss:0.0514 - val_acc:0.9801

谁知道如何在keras中输出每级精度?

python machine-learning neural-network conv-neural-network keras

17
推荐指数
2
解决办法
1万
查看次数

什么是图像分割的不平衡?

我知道图像分类问题的不平衡,例如猫与狗的分类,如果猫图像太多而狗图像太少.但我不知道如何解决分割问题的不平衡.

例如,我的任务是从卫星图像中掩盖云层,因此我将问题转换为两类分割,一类是云,另一类是背景.该数据集具有5800个4波段16位图像,大小为256*256.该体系结构是Segnet,损失函数是二进制交叉熵.

假设有两种情况:

  1. 所有样本中有一半完全被云覆盖,一半没有任何云.
  2. 在每张图像中,一半被云覆盖,一半不被云覆盖.

所以,案例2是平衡的我猜,但案例1如何?

在现实和我的任务中,这两种情况在源卫星图像中是不可能的,因为云层总是相对较小的背景,但如果图像样本由于它们的大尺寸而从源图像中裁剪,则会出现一些新的情况.

因此,样本总是包含三种类型的图像:

  1. 完全被云层覆盖(5800个样本中有254个).
  2. 没有任何云(5800个样本中有1241个).
  3. 云覆盖的一些区域,有些区域没有.(5800中的4305,但我不知道云的百分比,某些样本可能非常高,其他样本可能很少)

我的问题:

样品是否不平衡,我该怎么办?

提前致谢.

machine-learning image-processing image-segmentation caffe keras

9
推荐指数
1
解决办法
2228
查看次数

当使用相同的训练数据作为验证数据时,为什么 val_loss 与训练损失不同?

像这样:

x = keras.layers.Input(shape=(3,))
y = keras.layers.Dense(5)(x)

G = keras.models.Model(x, y,name='G')
G.compile(optimizer='rmsprop', loss='mse')

data_x = np.random.random((10, 3))
data_y = np.random.random((10, 5))

G.fit(data_x,data_y,shuffle=False,validation_data=[data_x,data_y],verbose=1)
Run Code Online (Sandbox Code Playgroud)

结果:

Train on 10 samples, validate on 10 samples
Epoch 1/1
10/10 [==============================] - 27s 3s/step - loss: 0.4482 - val_loss: 0.4389
Run Code Online (Sandbox Code Playgroud)

打印的损失和 val_loss 是不同的。在其他一些测试中,我发现差异是显着的。为什么?

machine-learning deep-learning keras

9
推荐指数
1
解决办法
2714
查看次数

为什么在Keras指标函数中使用axis = -1?

keras版本:2.0.8

在某些Keras度量函数和损失函数中,使用axis = -1作为参数。

例如?

def binary_accuracy(y_true, y_pred):
    return K.mean(K.equal(y_true, K.round(y_pred)), axis=-1)
Run Code Online (Sandbox Code Playgroud)

就我而言:

y_true的形状:(4,256,256,2)

y_pred的形状:(4,256,256,2)

因此,binary_accuracy(y_true,y_pred)应该返回shape =(4,256,256)的张量,而不是标量张量。

但是,当使用binary_accuracy作为度量函数时:

model.compile(optimizer=adam, loss=keras.losses.binary_crossentropy, metrics=[binary_accuracy])
Run Code Online (Sandbox Code Playgroud)

该日志仍然将binary_accuracy打印为标量,这让我很困惑。

keras在binary_accuracy函数的返回上是否有一些特殊之处?

时代11/300

0s-损失:0.4158-二进制精度:0.9308-val损失:0.4671-val_binary_accuracy:0.7767

deep-learning keras tensorflow

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

如何在keras中将一层上采样到任意大小?

我想将大小为 (w,h,channels) 的一层上采样到大小 (w',h',channels),但 Upsample2D 层只能上采样到双倍大小。

任何人都可以告诉我如何进行任何尺寸的上采样?

deep-learning caffe keras

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