Я пытаюсь создать агент RLearning, используя старое руководство ( Я исправил более раннюю ошибку, связанную со старой функцией шага в тренажерном зале, но не могу понять, как решить проблему с изменением формы. Если у кого-нибудь есть какие-либо советы, я буду очень признателен.
Я просмотрел документацию Numpy, чтобы узнать, смогу ли я решить эту ошибку, но не смог ее исправить. Также я просмотрел комментарии на YouTube, но, похоже, никаких исправлений нет. Я просмотрел аналогичный учебник и столкнулся с той же проблемой.
Мой код (я не включил код для DQNAgent, если он необходим, спрашивайте)
env = gym.make('CartPole-v1')
state_size = env.observation_space.shape[0]
action_size = env.action_space.n
batch_size = 32
n_episodes = 1001
# Stores the model
output_dir = './model_output/cartpole'
if not os.path.exists(output_dir):
os.makedirs(output_dir)```
agent = DQNAgent(state_size, action_size)
done = False
for e in range(n_episodes):
state = env.reset() # reset the state
print(state)
print([1, state_size])
state = np.reshape(state, [1, state_size])
for time in range(5000): # If the game lasts 5000 time steps
# env.render()
action = agent.act(state) # Get an action (0 - left, 1 - right)
# Early this will be random, but as time passes it will be more logical (Exploiting)
next_state, reward, done, truncated, _ = env.step(action)
reward = reward if not done else -10 # Penalize poor actions
next_state = np.reshape(next_state, [1, state_size])
agent.remember(state, action, reward, next_state, done)
state = next_state
if done: # To see how the agent performs if completed
print(f"Episode: {e}/{n_episodes}, score: {time}, e: {agent.epsilon:.2}")
break
if len(agent.memory) > batch_size: # Gives a chance for the agent to update
agent.replay(batch_size)
Также, если у кого-то есть другие хорошие ресурсы для изучения обучения с подкреплением, поделитесь. Заранее спасибо.
Изменить. Сообщение об ошибке:
Traceback (most recent call last):
File "C:\Users\josep\VS Code Files\Python Projects\RL_Gym\main.py", line 120, in
state = np.reshape(state, [1, state_size])
File "", line 200, in reshape
File "C:\Users\josep\VS Code Files\Python Projects\RL_Gym\venv\lib\site-packages\numpy\core\fromnumeric.py", line 298, in reshape
return _wrapfunc(a, 'reshape', newshape, order=order)
File "C:\Users\josep\VS Code Files\Python Projects\RL_Gym\venv\lib\site-packages\numpy\core\fromnumeric.py", line 54, in _wrapfunc
return _wrapit(obj, method, *args, **kwds)
File "C:\Users\josep\VS Code Files\Python Projects\RL_Gym\venv\lib\site-packages\numpy\core\fromnumeric.py", line 43, in _wrapit
result = getattr(asarray(obj), method)(*args, **kwds)
ValueError: setting an array element with a sequence. The requested array has an inhomogeneous shape after 1 dimensions. The detected shape was (2,) + inhomogeneous part.
Подробнее здесь: https://stackoverflow.com/questions/754 ... this-array
Как мне правильно изменить форму этого массива? ⇐ Python
Программы на Python
-
Anonymous
1737452206
Anonymous
Я пытаюсь создать агент RLearning, используя старое руководство ([youtube]OYhFoMySoVs[/youtube] Я исправил более раннюю ошибку, связанную со старой функцией шага в тренажерном зале, но не могу понять, как решить проблему с изменением формы. Если у кого-нибудь есть какие-либо советы, я буду очень признателен.
Я просмотрел документацию Numpy, чтобы узнать, смогу ли я решить эту ошибку, но не смог ее исправить. Также я просмотрел комментарии на YouTube, но, похоже, никаких исправлений нет. Я просмотрел аналогичный учебник и столкнулся с той же проблемой.
Мой код (я не включил код для DQNAgent, если он необходим, спрашивайте)
env = gym.make('CartPole-v1')
state_size = env.observation_space.shape[0]
action_size = env.action_space.n
batch_size = 32
n_episodes = 1001
# Stores the model
output_dir = './model_output/cartpole'
if not os.path.exists(output_dir):
os.makedirs(output_dir)```
agent = DQNAgent(state_size, action_size)
done = False
for e in range(n_episodes):
state = env.reset() # reset the state
print(state)
print([1, state_size])
state = np.reshape(state, [1, state_size])
for time in range(5000): # If the game lasts 5000 time steps
# env.render()
action = agent.act(state) # Get an action (0 - left, 1 - right)
# Early this will be random, but as time passes it will be more logical (Exploiting)
next_state, reward, done, truncated, _ = env.step(action)
reward = reward if not done else -10 # Penalize poor actions
next_state = np.reshape(next_state, [1, state_size])
agent.remember(state, action, reward, next_state, done)
state = next_state
if done: # To see how the agent performs if completed
print(f"Episode: {e}/{n_episodes}, score: {time}, e: {agent.epsilon:.2}")
break
if len(agent.memory) > batch_size: # Gives a chance for the agent to update
agent.replay(batch_size)
Также, если у кого-то есть другие хорошие ресурсы для изучения обучения с подкреплением, поделитесь. Заранее спасибо.
Изменить. Сообщение об ошибке:
Traceback (most recent call last):
File "C:\Users\josep\VS Code Files\Python Projects\RL_Gym\main.py", line 120, in
state = np.reshape(state, [1, state_size])
File "", line 200, in reshape
File "C:\Users\josep\VS Code Files\Python Projects\RL_Gym\venv\lib\site-packages\numpy\core\fromnumeric.py", line 298, in reshape
return _wrapfunc(a, 'reshape', newshape, order=order)
File "C:\Users\josep\VS Code Files\Python Projects\RL_Gym\venv\lib\site-packages\numpy\core\fromnumeric.py", line 54, in _wrapfunc
return _wrapit(obj, method, *args, **kwds)
File "C:\Users\josep\VS Code Files\Python Projects\RL_Gym\venv\lib\site-packages\numpy\core\fromnumeric.py", line 43, in _wrapit
result = getattr(asarray(obj), method)(*args, **kwds)
ValueError: setting an array element with a sequence. The requested array has an inhomogeneous shape after 1 dimensions. The detected shape was (2,) + inhomogeneous part.
Подробнее здесь: [url]https://stackoverflow.com/questions/75497506/how-do-i-properly-reshape-this-array[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия