部署训练强化学习策略
一旦你训练强化学习代理,您可以生成代码部署最优政策。您可以生成:
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++代码使用Q表的政策,值表,或线性基函数。更多信息在一般的C / c++代码生成,明白了生成代码(MATLAB编码器)。
c++代码使用深层神经网络的政策。请注意,不支持代码生成连续行动PG, AC, PPO,和囊剂使用递金宝app归神经网络(RNN)。支持层的列表,请参阅金宝app网络层支持代码生成金宝app(MATLAB编码器)。有关更多信息,请参见先决条件与MATLAB编码器深度学习(MATLAB编码器)和深度学习与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,“报告”);