python - 如何将两个输入放入 tensorflow lambda 层
问题描述
你如何将两个输入放入 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])
但是,我收到此错误
---------------------------------------------------------------------------
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'
暗示第二个输入y
没有通过。
解决方案
你可以这样做:
precoded_data = Lambda(lambda x: tf.concat([x[0], x[1]],1))([encoding_x,realed_ffted_channel1])
请注意,对于这个特定的用例,您也可以使用该Concatenate
层。
推荐阅读
- rabbitmq - RabbitMQ 将消息重新传递给拒绝它的同一消费者
- file - make clean:只删除已经生成的文件
- php - 我想在数据库中插入图像名称,将 sql 查询放在 php 的新位置
- haskell - Haskell 模式匹配(初级)
- node.js - Mongoose 没有使用简单的 find() 返回文档中的所有字段
- google-cloud-platform - 用于 GCP 的 appEngine 或 Kubernetes 的用例
- .net - How to debug an application by using Visual Studio through the ssh-tunnel
- r - R用向量从数据框中提取值
- java - 活动没有响应
- java - 使用 spring-boot-starter-security 在 spring boot 中的基本身份验证不适用于 spring-boot-starter-parent 的最新版本