StepNeverStop/RLs

Broken pipe

Opened this issue · 4 comments

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

@GongXiaomeng 你的启动命令是什么

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

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为不保存)

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

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