如何解决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 举报,一经查实,本站将立刻删除。