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.shape
yerine 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.
env
RL modeli eğitimi için bir spor salonu oyun ortamıdır. len
TensorFlow 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ı?