OpenAI spor salonunun bir oyununa bir DQL modeli uygulamaya çalışıyorum. Ama bana aşağıdaki hatayı veriyor.
TypeError: len sembolik Tensörler için iyi tanımlanmamıştır. (activation_3 / Kimlik: 0) Şekil bilgileri
x.shapeyerine lütfen arayınlen(x).
Spor salonu ortamı oluşturma:
ENV_NAME = 'CartPole-v0'
env = gym.make(ENV_NAME)
np.random.seed(123)
env.seed(123)
nb_actions = env.action_space.n
Modelim şöyle görünüyor:
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())
Bu modeli keral-rl'den DQN modeline aşağıdaki gibi takmak:
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)
Hata şu satırdan:
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 ve tensorflow == 2.1.0 kullanıyorum. Diğer cevaplara dayanarak, tensorflow == 2.0.0-beta0'ı da denedim ama hatayı çözmüyor.
Birisi bana neden bu hatayla karşılaştığımı açıklayabilir mi? ve nasıl çözülür?
Teşekkür ederim.
envRL modeli eğitimi için bir spor salonu oyun ortamıdır. lenTensorFlow kütüphanesinde bir yerde gerçekleşiyor. Daha fazla ayrıntı için soruyu güncelledim.
env? Olay neredelen? Yoksa geri aramaların bir parçası mı?