【Tools-Mujoco】创建自定义的Mujoco模型 Mujoco是一个很好的仿真工具。你可能对它很熟悉,因为它强化学习领域受到众多学者的青睐,在OpenAI Gym中也有Mujoco的使用。 Mujoco提供了超快的动力学模拟,重点是接触动力学。它对于模拟机器人手臂和抓取任务特别有效,在模型预测控制和机器人模仿学习研究的文章中也颇具价值。获取更多内容,请访问博主的个人博客 爱吃猫的小鱼干的Blog前言Mujoco官网有一个常用的模型库,可以满足基本需求。但我们也可以针对特定的需求建立自己的模型,这在Mujoco中是比较容易的。定义一个模型有两个部分
【Hexo博客】从搭建到部署,快速构建私人博客 有时候我们希望有一个受控的博客,来记录或分享一些东西。这个博客的主题内容由你自己来决定,可以是技术分享(编程、汉化分享等),也可以是生活感想。本文将介绍一个可以迅速搭建并部署的受控博客。获取更多内容,请访问博主的个人博客 爱吃猫的小鱼干的Blog为什么搭建博客在线类博客有很多选择,为什么我们需要从零搭建新的博客呢?自己搭建的博客有什么好处吗?首先,前文所提的 “博客受控”,指的就是能够自己控制的博客的样式、内容等,自己想怎么改就怎么改。内容受控是指我们知道在线类的博客是受平台限制的,这意味着
【RL】价值的定义 本章中,我们要介绍最优控制问题,即在假定环境完全已知的情况下解MDP。这个过程中,我们不需要产生数据,只需要对给定的PPP与RRR通过“解方程”的方式解出最佳控制。要注意的是,由于MDP是非退化的、需要持续多步。所以,即使我们完全已知环境,求出最优策略也不是一件容易的事情,而这也正是最优控制中我们要研究的内容。研究环境已知的MDP对于我们有什么帮助呢?我们说过,强化学习算法中,我们需要与环境交互、产生服从环境分布的数据,并利用这些数据算出最优策略。但是,现在假定我们非但有“服从环境分布的数据”,而是直接就
使用OpenPose进行姿态估计 文章内容逐步补充中…一 通过Demo快速开始1.1 Video# Ubuntu./build/examples/openpose/openpose.bin --video examples/media/video.avi# 多 GPUs,如采用两块 GPUs,GPUs 1 和 2,跳过 GPUs 0../build/examples/openpose/openpose.bin --video examples/media/video.avi --num_gpu 2 --num_gpu_start
光流文件(.flo)转图像 一 光流文件转图像的方法光流的文件一般是以.flo格式文件保存的,需要转换成.png等图片格式直观显示。简单得记录操作步骤。测试环境:ubuntu16.04系统,windows系统应该类似,无非就是编译方式不同而已,具体步骤如下:前往http://vision.middlebury.edu/flow/submit/下载imageLib工具包,选择高亮的 flow-code.zip文件。解压flow-code.zip,在flow-code文件夹下执行以下命令:cd imageLibmakecd
【Linux】Ubuntu16.04非root装python 一 源码安装Python3"1.下载解压源码包""cd /home/<用户名>/<文件位置>"cd /home/sw/software/python_userwget https://www.python.org/ftp/python/3.6.12/Python-3.6.12.tgztar -xzf Python-3.6.12.tgz"2. 创建安装路径,完成配置,编译安装"cd Python-3.6.12mkdir -p /home/sw/.python3.6.1
【Linux】Ubun16.04服务器配置Mujoco的各种错误解决方案 一把辛酸泪,不论在哪配置强化学习环境,Mujoco永远是错误套错误套错误…接下来,Mujoco下载和获取密匙、mujoco环境变量等过程跳过,这些几乎不会遇到问题。从安装编译mujoco_py开始看看Mujoco无底洞一样的坑。一 必不可缺的库先来看看官方示例,如果你运行下面命令并成功安装,那可真是天选之子。sudo apt install libosmesa6-dev libgl1-mesa-glx libglfw3博主数台机器没有一次是直接成功,报错一般是libosmesa6 (= 11.2
【Linux】常用指令 CUDA与CUDNN"查看 CUDA 版本"cat /usr/local/cuda/version.txt"查看 CUDNN 版本"cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
【Mac】Tmux技巧 一 为什么选择tmuxtmux 是一款终端复用命令行工具,一般用于 Terminal 的窗口管理。在 macOS 下,使用 iTerm2 能应付绝大多数窗口管理的需求。如图所示,iTerm2 能新建多个标签页(快捷键 ⌘T),也能在同一个窗口中分割出多个窗格(快捷键 ⌘D 或 ⌘⇧D)。tmux 相比 iTerm2 的优势在于:iTerm2 的窗格切换快捷键(⌘⌥→)容易与其他软件全局快捷键冲突(例如 Spectacle 的窗口分割快捷键),tmux 由于存在前缀快捷键,所以不存在快捷键冲突问题
【Linux】非root安装GCC9.1.0 问题一般Linux系统自带或公共的GCC版本都很低,如目前我们的服务器版本的GCC还停留在gcc-4.9.3,而官网已到达9.2版本(下载http://ftp.gnu.org/gnu/gcc/),有些项目编译时需要更高版本的GCC,这时就需要自己额外安装一个了。非 root用户安装各种软件的操作都会比较繁琐,尤其是依赖很多的时候,这里总结一下gcc的非root安装过程,亲测有效。安装GCC主要依赖三个库:GMP, MPFR 和MPC,另还有个ISL库(不知是否是必需)。之前的旧版本可能需要手动依次安装
【RL】策略梯度(VPG)与Actor-critic的思想与推导 文章目录一 RL学习什么二 Vanilla Policy Gradient(VPG)2.1 策略网络的构造2.2 推导最基本的策略梯度2.3 VPG算法三 Actor-Critic3.1 AC的出发点3.2 对策略梯度的优化3.2.1 不要受过去的影响(Don’t Let the Past Distract You)3.2.2 Q^(st,at)\hat{Q}(s_t,a_t)Q^(st,at) 的Baseline3.3.3 Value net怎么更新3.3 Actor-Critic算法一 RL学习
【RL】Vanilla Policy Gradient(VPG) policy gradient的基本思想,是把总的奖励表示为策略的函数,然后对这个函数做优化。在这一章中,我们将详细地讲解这个函数具体的形式是怎么样的、如何求出策略梯度,理解policy gradient这个算法的基本框架。关于MDP中动作与状态是否是连续变量,一共有四种不同的组合。其中,状态是有限分类变量的情况是不适合采用神经网络的,所以在这里不予讨论。在本章中,主要要考虑的情况是状态sss为连续高维变量、动作aaa为分类变量(有限个)的MDP。并且,设环境Ps,s′aP_{s, s^{\prime}}
【RL】Actor-Critic训练技巧 一 广义优势函数估计(GAE)在VPG中,我们用的r(τ)r(\tau)r(τ)的均值来指引策略的更新,这是个环境给出的“客观”的值;而在AC算法中,我们企图用A_{w}(s, a)来指引梯度更新,但根据算法的设计,这个所谓的A_{w}(s, a)完全是用我们的神经网络算出来的,是“主观的”而不是“客观的”。如果我们算出的A_{w}(s, a)与真实值相差较远,那么对于训练策略网络就完全不能使得策略朝着更好的方向改变,我们的算法自然也无法取得好的结果。VPG的缺点在于,虽然r(τ)r(\tau)r(τ)是
【RL】Actor-Critic 强化学习的算法分为基于价值与基于策略两大类,这两大类在思想上是完全不同的。基于价值的算法目标是拟合隐藏在环境中的价值函数,而基于策略的算法则是不断地优化策略。所有强化学习的算法,基本的思想都不外乎于这两种。从这个角度上说,Actor-Critic算法本质上还是基于策略的方法,因为其算法的核心还是在不断地优化策略。虽然我们要训练价值网络,但是其目标也只是“辅佐”策略网络更好地训练。当我们学习VPG算法的时候,其理论与训练方式都与DQN完全不同,因为这本质上是两种不同的算法;而在下面的Actor-Critic算
【RL】策略梯度的训练技巧 一 r(τ)r(\tau)r(τ)的baseline毫无疑问, r(τ)r(\tau)r(τ)代表着轨道τ\tauτ的好坏。按照我们推导出来的policy gradient的式子,r(τ)r(\tau)r(τ)大于0的时候,训练会使得这个轨道上涉及的所有πw(ai∣si)\pi_{w}\left(a_{i} \mid s_{i}\right)πw(ai∣si)增加。这说明,如果τ\tauτ是一条比较好的轨道,则我们应该“充分学习成功的经验”,让τ\tauτ涉及到的每一次决策(si,ai)(s_i,
【RL】强化学习的基本思想 在机器学习中,有监督学习和无监督学习的特点是基于已有的数据,去学习数据的分布或蕴含的其他重要信息。强化学习与上述这二者最显著的不同在于,首先它不是基于已有的数据进行学习,而是针对一个环境进行学习;另外,它的目标不是学习数据中蕴含的信息,而是寻找能够在环境中取得更多奖励的方法。通俗地说,监督学习的目标只是“弄清楚环境是什么样的”,而强化学习的目标是“在这个环境中生活得更好”。上述的特点导致了强化学习的思维模式与我们所熟悉的监督学习或非监督学习有非常大的区别。概括地说,强化学习算法主要涉及到两个组成部分:其一
解决类似 curl: (7) Failed to connect to raw.githubusercontent.com port 443: Connection refused 问题的有效方法 问题描述突然发现安装 homeBrew 时候出现了标题的报错信息。而且平时github中的用户头像和文章中的图片随缘显示,经常不能加载。问题原因从文题中的报错信息可以发现,脚本需要到 raw.githubusercontent.com 上拉取代码。问题的原因是github一些域名的 DNS 解析被污染,导致DNS 解析过程无法通过域名取得正确的IP地址。解决方案打开 https://www.ipaddress.com/ 输入访问不了的域名(其它类似问题输入对应域名)raw.githubuser