簡體   English   中英

Keras 功能 API 層不兼容問題

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM