我正在尝试使用A2C of StablesBaselines3在我的自定义环境中训练代理。我的问题是,我的GPU利用率非常低(只有10 %左右),而我的CPU利用率已经达到上限。正因为如此,训练非常缓慢。根据@araffin https://github.com/hill-a/stable-baselines/issues/308解决的这个讨论线程,我尝试了以下内容
device参数A2C方法中,从默认的“cuda”到“cuda”,即“auto”-无改进的。
在上面提到的讨论中,还不完全清楚什么对用户有效。我的A2C被简化如下:
import gym
from stable_baselines3 import A2C
policy_kwargs = dict(activation_fn=th.nn.ReLU,
                     net_arch=[dict(pi=[256, 256, 128], vf=[256, 256, 128])])
model = A2C("MlpPolicy", env, verbose=1,  learning_rate=linear_schedule(0.001),\
 n_steps=50, gamma=0.8, gae_lambda=1.0, ent_coef=0.2, vf_coef=0.2, \
tensorboard_log=logdir,  policy_kwargs=policy_kwargs, seed=50, device='cuda' )
model.learn(total_timesteps=50000)GPU配置如下:
CPU配置
versions
F 233上使用Torch)
任何帮助都将不胜感激!
发布于 2022-02-10 14:32:25
稳定的基线使用你的gpu ..。如果您在第二个选项卡上查看任务管理器,单击gpu,选择cuda代替3D,您将看到cuda的使用情况。
我对我的env有一些麻烦,因为我的env使用熊猫。熊猫使用cpu ..。在windows上使用cudf是不容易的,所以我的cpu使用了100%。
我在我的习惯上用熊猫和矮胖..。为了改进它,我应该使用狡猾和cudf代替,但要做到这一点,我需要linux。
所以现在,我的cpu使用的是100%的gpu,使用的是cuda 70%,gpu内存几乎是1.7GB
https://stackoverflow.com/questions/66628280
复制相似问题