Tensorflow K.cast和tf.cast不会转换数据类型

Tensorflow K.cast和tf.cast不会转换数据类型,tensorflow,keras,types,casting,boolean,Tensorflow,Keras,Types,Casting,Boolean,我正在使用Keras函数API 行nonNegActivity=K.cast(K.greater_equal(activity,0.05),tf.float32)应将我的活动转换为bool,然后再转换为float32,但调用fit时会出现类型错误,说明: TypeError:传递给参数“values”的值的数据类型bool不在允许值列表中:float32、float64、int32、uint8、int16、int8、int64、bfloat16、uint16、float16、uint32、uin

我正在使用Keras函数API

nonNegActivity=K.cast(K.greater_equal(activity,0.05),tf.float32)
应将我的活动转换为
bool
,然后再转换为
float32
,但调用fit时会出现类型错误,说明:

TypeError:传递给参数“values”的值的数据类型bool不在允许值列表中:float32、float64、int32、uint8、int16、int8、int64、bfloat16、uint16、float16、uint32、uint64

整个模型:


如果在lambda层中放置投射和更大的_相等值,会得到相同的结果吗?这解决了问题
X = Input(shape=(self.Tx,self.kx,))
lstm_regr = LSTM(400,return_sequences=True,activation="tanh")(X)regr = Dense(self.ky)(lstm_regr)
lstm_activity = LSTM(400,return_sequences=True,activation="sigmoid")(X) activity = Dense(self.ky)(lstm_activity)
nonNegActivity = K.cast(K.greater_equal(activity,0.05),tf.float32)
multiplied = Multiply()([nonNegActivity,regr])
out = [multiplied,activity]
model = Model(inputs=X, outputs=out)