TypeError:“等于”运算符的输入“ y”的布尔类型与参数“ x”的float32类型不匹配

问题描述

我正在尝试将两个输入发送到我的LSTM层。一个是输入向量,另一个是输入掩码。掩码向量为布尔值,输入向量为浮点数。

#Input layer
input_layer = Input(shape=(17640,1),name='input_layer')

#Input layer
input_mask = Input(shape=(17640,),name='input_mask')

#LSTM layer
lstm = LSTM(25,kernel_regularizer=regularizers.l2(0.001),return_sequences=True,name='lstm')(inputs=input_layer,mask=input_mask)

#Dense layer
dense = Dense(units=50,activation='relu',kernel_initializer=tf.keras.initializers.he_normal(seed=3),kernel_regularizer=l2(0.001),name='dense')(layer)

#output layer
output = Dense(units=10,activation='softmax',name='output')(dense)

#Creating a model
model = Model(inputs=[input_layer,input_mask],outputs=output)

但是我收到此错误。我认为掩码向量应该是布尔值。

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)

ValueError: Tensor conversion requested dtype float32 for Tensor with dtype bool: <tf.Tensor 'SequenceMask/Less:0' shape=(None,None) dtype=bool>

During handling of the above exception,another exception occurred:

TypeError: Input 'y' of 'Equal' Op has type bool that does not match type float32 of argument 'x'.

这是我所面临的错误的完整回溯

ValueError                                Traceback (most recent call last)
~\AppData\Roaming\Python\Python37\site-packages\tensorflow\python\framework\op_def_library.py in _apply_op_helper(op_type_name,name,**keywords)
    469               as_ref=input_arg.is_ref,--> 470               preferred_dtype=default_dtype)
    471         except TypeError as err:

~\AppData\Roaming\Python\Python37\site-packages\tensorflow\python\framework\ops.py in convert_to_tensor(value,dtype,as_ref,preferred_dtype,dtype_hint,ctx,accepted_result_types)
   1443           "Tensor conversion requested dtype %s for Tensor with dtype %s: %r" %
-> 1444           (dtype.name,value.dtype.name,value))
   1445     return value

ValueError: Tensor conversion requested dtype float32 for Tensor with dtype bool: <tf.Tensor 'SequenceMask/Less:0' shape=(None,another exception occurred:

TypeError                                 Traceback (most recent call last)
<ipython-input-80-f2b802415d9a> in <module>
     12 #LSTM layer
     13 lstm = LSTM(25,---> 14             name='lstm')(inputs=input_layer,mask=input_mask)
     15 
     16 #layer = MyLayer()(inputs=input_layer,mask=input_mask)

~\AppData\Roaming\Python\Python37\site-packages\tensorflow\python\keras\layers\recurrent.py in __call__(self,inputs,initial_state,constants,**kwargs)
    653 
    654     if initial_state is None and constants is None:
--> 655       return super(RNN,self).__call__(inputs,**kwargs)
    656 
    657     # If any of `initial_state` or `constants` are specified and are Keras

~\AppData\Roaming\Python\Python37\site-packages\tensorflow\python\keras\engine\base_layer.py in __call__(self,*args,**kwargs)
    925                     not base_layer_utils.is_in_eager_or_tf_function()):
    926                   with auto_control_deps.AutomaticControlDependencies() as acd:
--> 927                     outputs = call_fn(cast_inputs,**kwargs)

请提供一些建议以使其正常工作。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...