Я пытаюсь использовать специальную среду флокирования boid с тренажерным залом и стабильными базовыми показателями. У меня есть собственная политика и цикл обучения.
Мои пространства для действий и наблюдения следующие:
import numpy as np
import torch as th
from Parameters import *
from stable_baselines3 import PPO
from main import FlockingEnv, CustomMultiAgentPolicy
from Callbacks import TQDMProgressCallback, LossCallback
import os
from stable_baselines3.common.vec_env import DummyVecEnv
if os.path.exists(Results["Rewards"]):
os.remove(Results["Rewards"])
print(f"File {Results['Rewards']} has been deleted.")
if os.path.exists("training_rewards.json"):
os.remove("training_rewards.json")
print(f"File training_rewards has been deleted.")
def seed_everything(seed):
np.random.seed(seed)
os.environ['PYTHONHASHSEED'] = str(seed)
th.manual_seed(seed)
th.cuda.manual_seed(seed)
th.backends.cudnn.deterministic = True
env.seed(seed)
env.action_space.seed(seed)
loss_callback = LossCallback()
env = DummyVecEnv([lambda: FlockingEnv()])
seed_everything(SimulationVariables["Seed"])
# # Model Training
model = PPO(CustomMultiAgentPolicy, env, tensorboard_log="./ppo_Agents_tensorboard/", verbose=1)
model.set_random_seed(SimulationVariables["ModelSeed"])
progress_callback = TQDMProgressCallback(total_timesteps=SimulationVariables["LearningTimeSteps"])
# Train the model
model.learn(total_timesteps=SimulationVariables["LearningTimeSteps"], callback=[progress_callback, loss_callback])
Using cuda device
Traceback (most recent call last):
File "D:\Thesis_\FlockingFinal\MultiAgentFlocking\Training.py", line 45, in
model.learn(total_timesteps=SimulationVariables["LearningTimeSteps"], callback=[progress_callback, loss_callback])
File "C:\Python312\Lib\site-packages\stable_baselines3\ppo\ppo.py", line 315, in learn
return super().learn(
^^^^^^^^^^^^^^
File "C:\Python312\Lib\site-packages\stable_baselines3\common\on_policy_algorithm.py", line 287, in learn
total_timesteps, callback = self._setup_learn(
^^^^^^^^^^^^^^^^^^
File "C:\Python312\Lib\site-packages\stable_baselines3\common\base_class.py", line 423, in _setup_learn
self._last_obs = self.env.reset() # type: ignore[assignment]
^^^^^^^^^^^^^^^^
File "C:\Python312\Lib\site-packages\stable_baselines3\common\vec_env\dummy_vec_env.py", line 77, in reset
obs, self.reset_infos[env_idx] = self.envs[env_idx].reset(seed=self._seeds[env_idx], **maybe_options)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ValueError: too many values to unpack (expected 2)
Я также использовал аналогичную функцию раздачи в тренажерном зале, но ошибок не было. Я думал, что это может вызывать ошибку, но здесь, даже когда я ее не использую, ошибка не исчезает.< /п>
Я пытаюсь использовать специальную среду флокирования boid с тренажерным залом и стабильными базовыми показателями. У меня есть собственная политика и цикл обучения.
Мои пространства для действий и наблюдения следующие: [code]min_action = np.array([-5, -5] * len(self.agents), dtype=np.float32) max_action = np.array([5, 5] * len(self.agents), dtype=np.float32) [/code] [code]min_obs = np.array([-np.inf, -np.inf, -2.5, -2.5] * len(self.agents), dtype=np.float32) max_obs = np.array([np.inf, np.inf, 2.5, 2.5] * len(self.agents), dtype=np.float32) [/code] Код обучения: [code]import numpy as np import torch as th from Parameters import * from stable_baselines3 import PPO from main import FlockingEnv, CustomMultiAgentPolicy from Callbacks import TQDMProgressCallback, LossCallback import os from stable_baselines3.common.vec_env import DummyVecEnv
if os.path.exists(Results["Rewards"]): os.remove(Results["Rewards"]) print(f"File {Results['Rewards']} has been deleted.")
if os.path.exists("training_rewards.json"): os.remove("training_rewards.json") print(f"File training_rewards has been deleted.")
# # Model Training model = PPO(CustomMultiAgentPolicy, env, tensorboard_log="./ppo_Agents_tensorboard/", verbose=1) model.set_random_seed(SimulationVariables["ModelSeed"]) progress_callback = TQDMProgressCallback(total_timesteps=SimulationVariables["LearningTimeSteps"]) # Train the model model.learn(total_timesteps=SimulationVariables["LearningTimeSteps"], callback=[progress_callback, loss_callback]) [/code] Ошибка: [code]Using cuda device Traceback (most recent call last): File "D:\Thesis_\FlockingFinal\MultiAgentFlocking\Training.py", line 45, in model.learn(total_timesteps=SimulationVariables["LearningTimeSteps"], callback=[progress_callback, loss_callback]) File "C:\Python312\Lib\site-packages\stable_baselines3\ppo\ppo.py", line 315, in learn return super().learn( ^^^^^^^^^^^^^^ File "C:\Python312\Lib\site-packages\stable_baselines3\common\on_policy_algorithm.py", line 287, in learn total_timesteps, callback = self._setup_learn( ^^^^^^^^^^^^^^^^^^ File "C:\Python312\Lib\site-packages\stable_baselines3\common\base_class.py", line 423, in _setup_learn self._last_obs = self.env.reset() # type: ignore[assignment] ^^^^^^^^^^^^^^^^ File "C:\Python312\Lib\site-packages\stable_baselines3\common\vec_env\dummy_vec_env.py", line 77, in reset obs, self.reset_infos[env_idx] = self.envs[env_idx].reset(seed=self._seeds[env_idx], **maybe_options) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ValueError: too many values to unpack (expected 2) [/code] Я также использовал аналогичную функцию раздачи в тренажерном зале, но ошибок не было. Я думал, что это может вызывать ошибку, но здесь, даже когда я ее не использую, ошибка не исчезает.< /п>
Я пытаюсь использовать специальную среду флокирования boid с тренажерным залом и стабильными базовыми показателями. У меня есть собственная политика и цикл обучения.
Мои пространства для действий и наблюдения следующие:
min_action = np.array( *...
Я хочу разархивировать File.zip в какой-нибудь каталог, а затем удалить File.zip после этого, нужно ли проверять если это сделано перед удалением (предположим, что разархивирование работает, но медленно).
нравится, когда я...
При загрузке/потоковой передаче данных (с использованием Request.get) и распаковке на лету (с использованием zstdstream_reader) поток может закрыться или быть закрыт пользователем. Пользователь хотел бы продолжить с того места, где он остановился,...
import random
import gym
import numpy as np
from collections import deque
from keras.models import Sequential
from keras.layers import Dense
from keras.optimizers import Adam
import os
Пишу что-то типа анонимных валентинок в телеграмме для определенной аудитории, и хочу сделать автоматическую модерацию, но так как работаю с этим впервые, то столкнулся с проблемой на первом этапе поиска ссылок внутри сообщений
import re