Keras模型的输出是float32而不是uint8。。。尽管数据标签是uint8

2024-05-18 11:16:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在训练一个模型来预测医学图像中的分割。在培训数据中,输入数据的类型为:数字浮点数64基本事实的标签是:纽比.uint8. 问题是由于某种原因,我的模型产生的输出类型是浮点数32. 在

图片显示: example of data types

# Defining the model
segmenter = Model(input_img, segmenter(input_img))

# Training the model (type of train_ground is numpy.uint8)
segmenter_train = segmenter.fit(train_X, train_ground, batch_size=batch_size,epochs=epochs,verbose=1,validation_data=(valid_X, valid_ground))

模型定义:

^{pr2}$

在此之前感谢您的帮助:)


Tags: ofthe数据模型类型imginputdata
1条回答
网友
1楼 · 发布于 2024-05-18 11:16:46

Sigmoid返回一个实数

最后一层恰好是sigmoid激活函数。它返回0和1之间的实数,而不是整数。在

此外,重要的是误差度量,即正确答案与计算值之间的差,是连续的,而不是离散的,因为它是可微的,并且允许通过反向传播正确地学习神经网络的权重。在

只要转换一下就行了

为了训练网络,只需将真值标签转换为浮点值。在

一旦你训练了网络并且想要使用它的输出,只需将它们四舍五入就可以将它们转换为整数-sigmoid激活非常适合于此。在

相关问题 更多 >