[英]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.