StepNeverStop / RLs

Reinforcement Learning Algorithms Based on PyTorch
https://stepneverstop.github.io
Apache License 2.0
449 stars 93 forks source link

Broken pipe #57

Open GongXiaomeng opened 3 years ago

GongXiaomeng commented 3 years ago

在程序运行过程中有时会报错:BrokenPipeError: [Errno 32] Broken pipe,且报错时间不确定

StepNeverStop commented 3 years ago

@GongXiaomeng 你的启动命令是什么

GongXiaomeng commented 3 years ago

我是自己写了一个main函数,传了一些参数进去,用的robosuite的仿真环境,是可以运行的,但有时候运行一段时间只会会报错。我在网上查说是数据传输的问题,也没查到什么比较好的解决方式。我在您的基础上做了一些更改。

GongXiaomeng commented 3 years ago

gym: robo: robots: UR5e # 使用的机械臂名称 reward_shaping: true # 是否使用 has_renderer: false # 是否渲染(若不渲染则看不到图像) use_object_obs: true # 使用目标观察 controller: OSC_POSE # 选择的控制器 has_offscreen_renderer: false # 使用幕后渲染(使用相机观察时使用) use_camera_obs: false # 使用相机观察 horizon: 500 # 一回合的步数 reward_scale: 1.0 # 奖励的放大倍数 control_freq: 10 hard_reset: false ignore_done: false train: pre_fill_steps: 10000 render: false render_episode: 0 # if render_episode equals 0, it will be set to sys.maxsize, otherwise it will be set to render_episode if --render-episode is not specified through cmd line. eval_while_train: false max_eval_episode: 100

训练参数

    max_train_frame:    # 总的采样次数
    prefill_choose: true    # 是用模型选择动作还是随机选择(true:模型动作)
    # off-policy
    off_policy_eval_interval: 0 # only for off-policy algorithms, if LARGER THAN 0, then evaluate policy every `off_policy_eval_interval` training step
    off_policy_step_eval_episodes: 100
env:
    # refer to rls.utils.specs.py -> GymVectorizedType
    use_robo: true      # 是否使用robosuite(机械臂训练环境)
    env_name: Lift      # 仅能使用gym和robosuite中自带的环境
    env_seed: 1         # 环境的随机数种子
    vector_env_type: multiprocessing
    render_mode: random_1 # first last [list] random_[num] or all.
    action_skip: false
    skip: 1
    obs_stack: false
    stack: 4
    obs_grayscale: false
    obs_resize: false
    resize: [84, 84]
    obs_scale: false
    noop: false
    noop_max: 30
    # if max_episode_steps > train->max_step_per_episode, then when reaching train->max_step_per_episode, break but Not Done
    # if max_episode_steps < train->max_step_per_episode, then when reaching max_episode_steps, break and Done
    max_episode_steps: null
    env_num: 8  # 指定并行训练的数量

option: inference: false # 进行测试(若为true则测试模型,false则进行训练) seed: 1 algo: sac # 使用的算法名称 use_rnn: false algo_config: models: 1 # 同时训练的模型个数 name: ur5_lift_test # 保存模型的名称 store_dir: models/ # 要保存的模型、日志、数据文件夹路径 load_model_path: models/Lift/sac/ur5_lift_test/ apex: hostname: false no_save: false # 是否保存(true为不保存)

我自己也加了一些参数进去

StepNeverStop commented 3 years ago

@GongXiaomeng 我无法复现该问题,你可以详细说说,或者日后我添加对robosuite的支持,并做测试。