[英]Keras Functional API imcompatible layer problem
我试图用代码制作 DDPG_critic 的神经网络层,
def get_critic():
#num_states = 8 ; num_actions = 2
state_input = Input(shape=(num_states,),name='critic_state_input_layer')
state_out = Dense(32, activation="relu",name='critic_state_output_layer')(state_input)
action_input = Input(shape=(num_actions,),name='critic_action_input_layer')
action_out = Dense(32,activation="relu",name='critic_action_output_layer')(action_input)
concat = layers.Concatenate(axis=-1)([state_out, action_out])
out3 = Dense(256, activation="relu",name='critic_out3_layer')(concat)
out4 = Dense(256, activation="relu",name='critic_out4_layer')(out3)
outputs = Dense(1,name='critic_output_layer')(out4)
model = Model([state_input, action_input], outputs,name='critic_model')
我有问题
ValueError: Exception encountered when calling layer "critic_model" (type Functional).
Input 0 of layer "critic_action_output_layer" is incompatible with the layer: expected axis -1of input shape to have value 2, but received input with shape (64, 1)
如果您指出问题以及如何解决,将不胜感激!
Model 架构没有问题。 检查您的输入数据形状
import tensorflow as tf
state_input = tf.keras.Input(shape=(8,),name='critic_state_input_layer')
state_out = tf.keras.layers.Dense(32, activation="relu",name='critic_state_output_layer')(state_input)
state_out.shape
Output
TensorShape([None, 32])
第二层
action_input = tf.keras.Input(shape=(2,),name='critic_action_input_layer')
action_out = tf.keras.layers.Dense(32,activation="relu",name='critic_action_output_layer')(action_input)
action_out.shape
Output
TensorShape([None, 32])
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.