主要内容

部署训练强化学习策略

一旦你训练强化学习代理,您可以生成代码部署最优政策。您可以生成:

  • CUDA®代码为深层神经网络政策使用GPU编码器™

  • 为表C / c++代码,深层神经网络,或线性基函数使用的政策MATLAB®编码器™

代码生成支持代理使用前馈神经网络的输入金宝app路径,提供所有的支持层使用。不支持代码生成连续行动PG, AC, PPO,金宝app和囊剂使用递归神经网络(RNN)。

在强化学习培训代理商的更多信息,见强化学习培训代理

生成一个政策评估函数,选择一个行动基于给定的观察,使用generatePolicyFunction。你可以生成代码部署这一政策使用GPU编码器或函数MATLAB编码器

生成一个模型金宝app®政策评估块,选择一个行动基于给定的观察,使用generatePolicyBlock。你可以生成代码块使用部署此政策金宝app仿真软件编码器

使用生成代码GPU编码器

如果你使用深层神经网络训练最优政策,您可以生成CUDA代码使用GPU编码器政策。支持gpu看到更多的信息金宝appGPU计算的需求(并行计算工具箱)。有几个要求和推荐必备产品为深层神经网络生成CUDA代码。下载188bet金宝搏有关更多信息,请参见安装必备产品下载188bet金宝搏(GPU编码器)设置必备产品下载188bet金宝搏(GPU编码器)

并不是所有的深层神经网络层支持GPU代码生成。金宝app支持层的列表,请参阅金宝app金宝app支持网络层,和类(GPU编码器)。在GPU的更多信息和示例代码生成深度学习GPU编码器(GPU编码器)

生成CUDA代码深层神经网络政策

作为一个例子,生成策略梯度的GPU代码代理培训火车PG代理Cart-Pole平衡系统

负荷训练有素的代理。

负载(“MATLABCartpolePG.mat”,“代理”)

这个代理的创建一个政策评估函数。

generatePolicyFunction(代理)

这个命令创建evaluatePolicy.m文件,其中包含的政策功能,agentData.mat文件,其中包含深层神经网络训练的演员。对于一个给定的观察,每个潜在的政策功能评估概率使用演员网络行动。然后,政策根据这些概率函数随机选择一个行动。

你可以为这个网络使用GPU编码器生成代码。例如,您可以生成一个CUDA兼容的墨西哥人的功能。

配置codegen函数创建一个CUDA兼容c++墨西哥人的功能。

cfg = coder.gpuConfig (墨西哥人的);cfg。TargetLang =“c++”;cfg。DeepLearningConfig = coder.DeepLearningConfig (“cudnn”);

树立一个榜样政策评价函数的输入值。找到观察维度,使用getObservationInfo函数。在这种情况下,观察在研制出向量。

argstr =“{1 (4,1)}”;

使用生成代码codegen函数。

codegen (“配置”,“cfg”,“evaluatePolicy”,“参数”argstr,“报告”);

这个命令生成了墨西哥人的功能evaluatePolicy_mex

使用生成代码MATLAB编码器

你可以为表,生成C / c++代码深层神经网络,或线性基函数使用的政策MATLAB编码器

使用MATLAB编码器您可以生成:

为深层神经网络生成C代码政策不使用任何第三方库

作为一个例子,生成C代码不依赖于第三方库策略梯度代理培训火车PG代理Cart-Pole平衡系统

负荷训练有素的代理。

负载(“MATLABCartpolePG.mat”,“代理”)

这个代理的创建一个政策评估函数。

generatePolicyFunction(代理)

这个命令创建evaluatePolicy.m文件,其中包含的政策功能,agentData.mat文件,其中包含深层神经网络训练的演员。对于一个给定的观察,每个潜在的政策功能评估概率使用演员网络行动。然后,政策根据这些概率函数随机选择一个行动。

配置codegen函数来生成代码适用于构建一个墨西哥人文件。

cfg = coder.config (墨西哥人的);

配置对象,设置目标语言c++,集DeepLearningConfig没有一个”。该选项生成的代码没有使用任何第三方库。

cfg。TargetLang =“C”;cfg。DeepLearningConfig = coder.DeepLearningConfig (“没有”);

树立一个榜样政策评价函数的输入值。找到观察维度,使用getObservationInfo函数。在这种情况下,观察在研制出向量。

argstr =“{1 (4,1)}”;

使用生成代码codegen函数。

codegen (“配置”,“cfg”,“evaluatePolicy”,“参数”argstr,“报告”);

这个命令生成c++代码包含深层神经网络的策略梯度代理的演员。

生成c++代码深层神经网络政策使用第三方库

作为一个例子,为策略梯度生成c++代码代理培训火车PG代理Cart-Pole平衡系统使用英特尔数学内核库深神经网络(MKL-DNN)。

负荷训练有素的代理。

负载(“MATLABCartpolePG.mat”,“代理”)

这个代理的创建一个政策评估函数。

generatePolicyFunction(代理)

这个命令创建evaluatePolicy.m文件,其中包含的政策功能,agentData.mat文件,其中包含深层神经网络训练的演员。对于一个给定的观察,每个潜在的政策功能评估概率使用演员网络行动。然后,政策根据这些概率函数随机选择一个行动。

配置codegen函数来生成代码适用于构建一个墨西哥人文件。

cfg = coder.config (墨西哥人的);

配置对象,设置目标语言c++,集DeepLearningConfig到目标库”mkldnn”。该选项生成代码使用英特尔数学内核库深层神经网络(英特尔MKL-DNN)。

cfg。TargetLang =“c++”;cfg。DeepLearningConfig = coder.DeepLearningConfig (“mkldnn”);

树立一个榜样政策评价函数的输入值。找到观察维度,使用getObservationInfo函数。在这种情况下,观察在研制出向量。

argstr =“{1 (4,1)}”;

使用生成代码codegen函数。

codegen (“配置”,“cfg”,“evaluatePolicy”,“参数”argstr,“报告”);

这个命令生成c++代码包含深层神经网络的策略梯度代理的演员。

为问表生成C代码的政策

作为一个例子,为q学习代理训练生成C代码强化学习培训代理基本网格的世界

负荷训练有素的代理。

负载(“basicGWQAgent.mat”,“qAgent”)

这个代理的创建一个政策评估函数。

generatePolicyFunction (qAgent)

这个命令创建evaluatePolicy.m文件,其中包含的政策功能,agentData.mat文件,其中包含训练Q表值函数。对于一个给定的观察,政策函数查找值函数使用Q表为每一个潜在的行动。然后,政策函数选择的行动值函数是最大的。

树立一个榜样政策评价函数的输入值。找到观察维度,使用getObservationInfo函数。在这种情况下,只有一个一维观测(属于一组离散的可能值)。

argstr =“{[1]}”;

配置codegen目标函数来生成可嵌入C代码适合一个静态库,并设置输出文件夹buildFolder

cfg = coder.config (“自由”);倒转褶皱=“buildFolder”;

生成C代码使用codegen函数。

codegen (“c”,“- d”倒转褶皱,“配置”,“cfg”,“evaluatePolicy”,“参数”argstr,“报告”);

另请参阅

功能

相关的例子

更多关于