float转int java,如何将keras float预测转换为int?

我收到了错误

文件“/anaconda/envs/tf3/lib/python3.6/site-packages/keras/engine/training.py”,第830行,编译sample_weight,mask)文件“/ anaconda / envs / tf3 / lib / python3 .6 / site-packages / keras / engine / training.py“,第445行,加权score_array * =权重文件”/anaconda/envs/tf3/lib/python3.6/site-packages/tensorflow/python/ops/ math_ops.py“,第898行,在binary_op_wrapper中y = ops.convert_to_tensor(y,dtype = x.dtype.base_dtype,name =”y“)文件”/anaconda/envs/tf3/lib/python3.6/site-packages /tensorflow/python/framework/ops.py“,第932行,在convert_to_tensor中as_ref = False)文件”/anaconda/envs/tf3/lib/python3.6/site-packages/tensorflow/python/framework/ops.py“ ,第1022行,in internal_convert_to_tensor ret = conversion_func(value,dtype = dtype,name = name,as_ref = as_ref)File“/anaconda/envs/tf3/lib/python3.6/site-packages/tensorflow/python/framework/ops .py“,第866行,在_TensorTensorConversionFunction(dtype.name,t.dtype.name,str(t))中)ValueError:Tensor转换为Tenso请求dtype int32 r与dtype float32:'Tensor(“global_average_pooling2d_1_sample_weights:0”,shape =(?,),dtype = float32)'

在培训阶段 .

通过 Conda 运行最新的 Keras (2.1.3) 和 TensorFlow (1.5) .

以下是重现错误的最小代码:

from keras.layers import Input, Conv2D, GlobalAveragePooling2D

from keras.models import Model

import keras.backend as K

import numpy as np

def test_loss(y_input, x_input):

x1 = K.cast(x_input, dtype='int32')

y1 = K.cast(y_input, dtype='int32')

loss = K.square(x1 - y1)

reduced_loss = K.cumsum(loss)

return reduced_loss

train_data = 10*np.random.rand(1600, 18,18,512)

validation_data = 10*np.random.rand(200, 18,18,512)

Y_train = np.random.rand(1600, 803)

Y_test = np.random.rand(200, 803)

#model

inputs = Input(shape=train_data.shape[1:])

x = Conv2D(803, (1,1), activation='sigmoid')(inputs)

predictions = GlobalAveragePooling2D(input_shape=train_data.shape[1:])(x)

model = Model(inputs=inputs, outputs=predictions)

model.summary()

model.compile(optimizer='adam', loss=test_loss, metrics=['accuracy'])

model.fit(train_data, Y_train,

epochs=200,

batch_size=1,

validation_data=(validation_data, Y_test))

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值