ฉันกำลังพยายามใช้โมเดล DQL ในหนึ่งเกมของโรงยิม openAI แต่มันทำให้ฉันผิดพลาด
TypeError: len ไม่ได้กำหนดไว้อย่างดีสำหรับเทนเซอร์แบบสัญลักษณ์ (activation_3 / บัตรประจำตัว: 0) กรุณาโทร
x.shape
มากกว่าlen(x)
สำหรับข้อมูลรูปร่าง
การสร้างสภาพแวดล้อมในโรงยิม:
ENV_NAME = 'CartPole-v0'
env = gym.make(ENV_NAME)
np.random.seed(123)
env.seed(123)
nb_actions = env.action_space.n
แบบจำลองของฉันมีลักษณะเช่นนี้:
model = Sequential()
model.add(Flatten(input_shape=(1,) + env.observation_space.shape))
model.add(Dense(16))
model.add(Activation('relu'))
model.add(Dense(nb_actions))
model.add(Activation('linear'))
print(model.summary())
การติดตั้งโมเดลนั้นกับโมเดล DQN จาก keral-rl ดังต่อไปนี้:
policy = EpsGreedyQPolicy()
memory = SequentialMemory(limit=50000, window_length=1)
dqn = DQNAgent(model=model, nb_actions=nb_actions, memory=memory, nb_steps_warmup=10, target_model_update=0.001, policy=policy)
dqn.compile(Adam(lr=1e-3), metrics=['mse', 'mae'])
dqn.fit(env, nb_steps=5000, visualize=False, verbose=3)
ข้อผิดพลาดมาจากบรรทัดนี้:
dqn = DQNAgent(model=model, nb_actions=nb_actions, memory=memory, nb_steps_warmup=10, target_model_update=0.001, policy=policy)
ฉันใช้ keras-rl == 0.4.2 และ tensorflow == 2.1.0 จากคำตอบอื่น ๆ ฉันก็ลองใช้ tensorflow == 2.0.0-beta0 แต่ก็ไม่ได้แก้ปัญหา
มีใครช่วยอธิบายให้ฉันหน่อยได้ไหม และวิธีแก้ปัญหา
ขอบคุณ.
env
เป็นสภาพแวดล้อมของเกมยิมสำหรับการฝึกอบรมแบบ RL len
เกิดขึ้นที่ไหนสักแห่งในห้องสมุด TensorFlow ฉันได้อัปเดตคำถามสำหรับรายละเอียดเพิ่มเติมแล้ว
env
อะไร เป็นที่len
เกิดขึ้น? หรือเป็นส่วนหนึ่งของการเรียกกลับหรือไม่