项目简介
本项目借助TensorFlow 2内置的Keras,执行Proximal Policy Optimization (PPO)算法来训练智能体,使其实现自我学习。同时,引用PyBullet套件中的KukaGymEnv作为训练环境,对官方提供的该环境做了部分调整以优化训练效果。
项目的主要特性和功能
- 强化学习训练:使用PPO算法在KukaGymEnv环境中训练智能体。
- 环境优化:对PyBullet官方提供的KukaGymEnv环境进行调整,避免动作命令堆叠、重复奖励等问题,同时可调整奖励分数并输出抓取分数。
- 训练与测试:包含训练脚本
train_PPO_KukaGym.py
和测试脚本test_PPO_KukaGym.py
,训练完成后可测试输出成功抓取概率。 - 超参数可配置:可对环境参数(如是否观看环境影像、是否为离散环境、执行动作选取间隔等)和训练参数(如迭代次数、折扣率、学习率等)进行配置。
安装使用步骤
安装依赖
确保已下载本项目的源码文件,然后执行以下命令安装所需依赖:
bash
pip install tensorflow pybullet gym scipy matplotlib
更新环境文件
由于PyBullet官方提供的kukaGymEnv
环境存在瑕疵,需将kukaGymEnv_myself/kukaGymEnv.py
替换PyBullet安装后的..(your env)../Lib/site-packages/pybullet_envs/bullet/kukaGymEnv.py
文件。
开始训练
运行train_PPO_KukaGym.py
开始使用PPO算法训练KukaGymEnv环境中的智能体。
进行测试
训练完成后,运行test_PPO_KukaGym.py
,程序将进行100次测试抓取,并输出成功抓取的概率。
超参数调整
若需要调整训练参数,可在相应代码中修改以下超参数:
python
env = KukaGymEnv(renders=False, isDiscrete=True, actionRepeat=10)
epochs = 2000
steps = 20
gamma = 0.9999
clip_ratio = 0.15
policy_learning_rate = 3e-4
value_function_learning_rate = 1e-3
train_policy_iterations = 80
train_value_iterations = 80
lam = 0.97
target_kl = 0.01
hidden_sizes = (64, 64)
buffer_size = 25000
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】