diff --git a/README.md b/README.md index 514c19d..c56867f 100644 --- a/README.md +++ b/README.md @@ -149,7 +149,7 @@ Press `start` to stand and `A` to engage the controller. #### 4.2 C++ Deployment -Follow the usage described in [unitree_cpp_deploy](https://github.com/wty-yy-mini/unitree_cpp_deploy). +Follow the usage described in [unitree_cpp_deploy](https://github.com/wty-yy/unitree_cpp_deploy). #### Demonstration diff --git a/README_zh.md b/README_zh.md index cbb3a49..202e010 100644 --- a/README_zh.md +++ b/README_zh.md @@ -149,7 +149,7 @@ python deploy_real_go2.py eth0 #### 4.2 C++实物部署 -参考[unitree_cpp_deploy](https://github.com/wty-yy-mini/unitree_cpp_deploy)使用说明。 +参考[unitree_cpp_deploy](https://github.com/wty-yy/unitree_cpp_deploy)使用说明。 #### 运行效果 diff --git a/cmd.md b/cmd.md index 98ab30e..bd42dd6 100644 --- a/cmd.md +++ b/cmd.md @@ -3,8 +3,11 @@ python legged_gym/scripts/train.py --task=go2 --num_envs 4096 --headless python legged_gym/scripts/train.py --task=go2 --num_envs 128 --resume --load_run Nov13_11-14-22_wave_slope_rough_slope python legged_gym/scripts/train.py --task=go2 --num_envs 8 # DEBUG +python legged_gym/scripts/train.py --task=go2 --num_envs 4090 --headless --robogauge # Sim2Sim Evaluation # CTS -python legged_gym/scripts/train.py --task=go2_cts --num_envs 8096 --headless +python legged_gym/scripts/train.py --task=go2_cts --num_envs 8096 --headless --robogauge +# MoE CTS +python legged_gym/scripts/train.py --task=go2_moe_cts --num_envs 8096 --headless --robogauge ``` ## Play ```bash diff --git a/doc/setup_en.md b/doc/setup_en.md index 2a29e94..1c56f43 100644 --- a/doc/setup_en.md +++ b/doc/setup_en.md @@ -130,7 +130,7 @@ pip install -e . #### 2.5.3 Install unitree_cpp_deploy (Choose for C++ Deployment) -We use a modified C++ deployment repository based on `unitree_rl_lab`, specifically designed for deploying models trained in this repository. See [unitree_cpp_deploy](https://github.com/wty-yy-mini/unitree_cpp_deploy). +We use a modified C++ deployment repository based on `unitree_rl_lab`, specifically designed for deploying models trained in this repository. See [unitree_cpp_deploy](https://github.com/wty-yy/unitree_cpp_deploy). ### 2.6 RoboGauge Evaluation (Optional) diff --git a/doc/setup_zh.md b/doc/setup_zh.md index 18e26c9..ba6ab0b 100644 --- a/doc/setup_zh.md +++ b/doc/setup_zh.md @@ -130,7 +130,7 @@ pip install -e . ### 2.5.3 安装 unitree_cpp_deploy(选择用C++部署) -我们基于unitree_rl_lab修改的C++部署仓库,专门用于部署本仓库训练的模型 [unitree_cpp_deploy](https://github.com/wty-yy-mini/unitree_cpp_deploy) +我们基于unitree_rl_lab修改的C++部署仓库,专门用于部署本仓库训练的模型 [unitree_cpp_deploy](https://github.com/wty-yy/unitree_cpp_deploy) ### 2.6 RoboGauge评估(可选) RoboGauge是一个Mujoco中通过Sim2Sim评估四足机器人性能的项目,在训练同时中异步地在cpu上进行评估,具体细节参考[README](https://github.com/wty-yy/RoboGauge),安装方法 diff --git a/tools/logs_merge.py b/tools/logs_merge.py index 3977cc8..8a72ddc 100644 --- a/tools/logs_merge.py +++ b/tools/logs_merge.py @@ -26,8 +26,7 @@ BASE_COLUMNS = [ def fast_read(event_file_path, tag_names): loader = event_file_loader.RawEventFileLoader(event_file_path) - steps = [] - values = [] + tag_data = defaultdict(dict) for raw_event in loader.Load(): event = event_pb2.Event.FromString(raw_event) @@ -35,10 +34,9 @@ def fast_read(event_file_path, tag_names): if event.HasField('summary'): for value in event.summary.value: if value.tag in tag_names: - steps.append(event.step) - values.append(value.simple_value) + tag_data[event.step][value.tag] = value.simple_value - return pd.DataFrame({'step': steps, 'value': values}) + return pd.DataFrame(tag_data).T class Collector: def __init__(self, log_dirs): @@ -64,7 +62,10 @@ class Collector: else: start_time = time.time() print(f"Start reading tensorboard events at {time.ctime(start_time)}") - self.tb_df = fast_read(str(self.log_dirs.glob("events.out.tfevents.*").__next__()), ['Terrain/terrain_level_all', 'Episode/terrain_level_all']) + self.tb_df = fast_read(str(self.log_dirs.glob("events.out.tfevents.*").__next__()), [ + 'Terrain/terrain_level_all', 'Episode/terrain_level_all', + 'RoboGauge/benchmark' + ]) print(f"Finished reading tensorboard events in {time.time() - start_time:.2f} seconds.") self.tb_df.to_csv(self.output_tb, index=False) print(f"Saved tensorboard data to {self.output_tb}") @@ -118,4 +119,4 @@ if __name__ == '__main__': parser.add_argument("--log-dirs") args = parser.parse_args() collector = Collector(args.log_dirs) - collector.collect() + # collector.collect()