이홍재*_*이홍재 1 python lambda concatenation keras tensorflow
如何将两个输入放入张量流 lambda 层?我努力了:
channel_input=Input(shape=(4,),dtype='complex64',name='channel_input')
...
realed_ffted_channel1 = Dense(2*N_c,activation='relu')(realed_ffted_channel)
precoded_data = Lambda(lambda x,y: tf.concat([x,y],1))([encoding_x,realed_ffted_channel1])
Run Code Online (Sandbox Code Playgroud)
但是,我收到此错误
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-29-9332eac3e7cf> in <module>()
10
11 #Precoding Encoder
---> 12 precoded_data = Lambda(lambda x,y: tf.concat([x,y],1))([encoding_x,realed_ffted_channel1])
13 encoder_data = Dense(3*N_c,activation='relu')(precoded_data)
14 encoder_data1 = Dense(N_c,activation='relu')(encoder_data)
1 frames
/usr/local/lib/python3.6/dist-packages/tensorflow_core/python/keras/layers/core.py in call(self, inputs, mask, training)
820 arguments['training'] = training
821 with variable_scope.variable_creator_scope(self._variable_creator):
--> 822 return self.function(inputs, **arguments)
823
824 def _variable_creator(self, next_creator, **kwargs):
TypeError: <lambda>() missing 1 required positional argument: 'y'
Run Code Online (Sandbox Code Playgroud)
意味着第二个输入y未通过。
你可以这样做:
precoded_data = Lambda(lambda x: tf.concat([x[0], x[1]],1))([encoding_x,realed_ffted_channel1])
Run Code Online (Sandbox Code Playgroud)
请注意,对于这个特定的用例,您也可以使用该Concatenate层。
| 归档时间: |
|
| 查看次数: |
1922 次 |
| 最近记录: |