Привет, команда, надеемся, что у вас все хорошо! Я пытался настроить модель DL для балансировки шеста, но каждый раз, когда я пытаюсь ее запустить, выдается эта ошибка:
/home/nate/Desktop/00_Temp/02_Coding/DeepReinforcementLearningBalanceGame.py/.venv/bin/python /home/nate/Desktop/00_Temp/02_Coding/DeepReinforcementLearningBalanceGame.py/BalancingMl.py 2024-06-29 11:13:59.059897: I tensorflow/tsl/cuda/cudart_stub.cc:28] Could not find cuda drivers on your machine, GPU will not be used. 2024-06-29 11:13:59.101402: I tensorflow/tsl/cuda/cudart_stub.cc:28] Could not find cuda drivers on your machine, GPU will not be used. 2024-06-29 11:13:59.102021: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations. To enable the following instructions: AVX2 FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags. 2024-06-29 11:13:59.750624: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT Traceback (most recent call last): File "/home/nate/Desktop/00_Temp/02_Coding/DeepReinforcementLearningBalanceGame.py/BalancingMl.py", line 6, in from rl.agents import DQNAgent File "/home/nate/Desktop/00_Temp/02_Coding/DeepReinforcementLearningBalanceGame.py/.venv/lib/python3.8/site-packages/rl/agents/__init__.py", line 2, in from .dqn import DQNAgent, NAFAgent, ContinuousDQNAgent File "/home/nate/Desktop/00_Temp/02_Coding/DeepReinforcementLearningBalanceGame.py/.venv/lib/python3.8/site-packages/rl/agents/dqn.py", line 8, in from rl.core import Agent File "/home/nate/Desktop/00_Temp/02_Coding/DeepReinforcementLearningBalanceGame.py/.venv/lib/python3.8/site-packages/rl/core.py", line 8, in from rl.callbacks import ( File "/home/nate/Desktop/00_Temp/02_Coding/DeepReinforcementLearningBalanceGame.py/.venv/lib/python3.8/site-packages/rl/callbacks.py", line 12, in from keras.utils.generic_utils import Progbar ModuleNotFoundError: No module named 'keras.utils.generic_utils'
1. Я уже пытался удалить и переустановить пакет keras, пакет tensorflow, а также другие
версии этих пакетов.
2. Я также пытался использовать другую среду и устанавливать пакеты там.
Наконец, вот код, который я пытаюсь запустить:
import random
import gym
import numpy as np
import tensorflow as tf
from rl.agents import DQNAgent
from rl.policy import BoltzmannQPolicy
from rl.memory import SequentialMemory
env = gym.make("CartPole-v1")
states = env.observation_space.shape[0]
actions = env.action_space.n
model = tf.keras.models.Sequential()
model.add(tf.keras.layers.Flatten(input_shape=(1, states)))
model.add(tf.keras.layers.Dense(24, activation="relu"))
model.add(tf.keras.layers.Dense(24, activation="relu"))
model.add(tf.keras.layers.Dense(actions, activation="linear"))
agent = DQNAgent(
model=model,
memory=SequentialMemory(limit=50000, window_length=1),
policy=BoltzmannQPolicy,
nb_actions=actions,
nb_steps_warmup=10,
target_model_update=0.01
)
agent.compile(tf.keras.optimizers.Adam(lr=0.001), metrics=["mae"])
agent.fit(env, nb_steps=100000, visualize=False, verbose=1)
results = agent.test(env, nb_episodes=10, visualize=True)
print(np.mea(results.history["episode_reward"]))
env.close()
# episodes = 10
# for episode in range(1, episodes+1):
# state = env.reset()
# done = False
# score = 0
# while not done:
# action = random.choice([0, 1])
# _, reward, done, _ = env.step(action)
# score += reward
# env.render()
# print(f"Episode {episode}, Score: {score}")
# env.close
Подробнее здесь: https://stackoverflow.com/questions/786 ... -as-needed