主要内容

为深度学习网络生成通用C/C ++代码

MATLAB®CODER™,您可以生成通用C或C ++代码,以从已经训练的神经网络预测。生成的C/C ++代码不取决于任何第三方库。生成的代码在输入中指定的架构,图层和参数实现神经网络系列网络(深度学习工具箱)或者dagnetwork(深度学习工具箱)网络对象。看支持代码生成的网络和层金宝app

通过使用以下方法之一生成代码:

  • 标准代码根从MATLAB代码生成C/C ++代码的命令。

  • MATLAB编码器应用程序。

要求

  • 在窗户上®,与深度学习网络的代码生成代码根功能需要微软®视觉工作室®或mingw®编译器。

  • 深度学习库的MATLAB编码器界面。要安装此支持包,请从MATLAB金宝app中选择它附加组件菜单。

  • 深度学习工具箱™。

使用代码生成代码根

  1. 在MATLAB中编写一个入口点功能:

    例如:

    功能out = my_predict(in)%#codegen%持续的对象myNet用于加载串联网络对象。%在对此函数的第一个呼叫中,构造持续的对象,并且% 设置。当函数称为后续时间时,重复使用相同的对象百分比要预测输入,从而避免重建和重新加载%网络对象。执着的mynet;如果isempty(mynet)mynet = coder.loaddeeplearningnetwork('mynetwork.mat');结尾%通过输入out =预测(mynet,in,“ MINIBATCHSIZE”,2);

  2. 创建深度学习配置对象dlconfig该配置为用于生成通用C/C ++代码的代码coder.deeplearningconfig功能。

    dlconfig = coder.deeplearningconfig(targetLibrary ='没有任何');

    为MEX或静态或动态链接的库创建代码生成配置对象。默认情况下,代码生成器会产生通用C代码。要在您的代码生成配置对象中产生通用的C ++代码,请设置TargetLang参数为'C ++'。设置深度学习前面创建的对象的参数dlconfig

    cfg = coder.config('lib');cfg.targetlang ='C ++';cfg.deeplearningconfig = dlconfig;
  3. 跑过代码根命令。使用-config选项指定配置对象。使用-args指定输入类型的选项。

    代码根-configCFGmy_predict-args{myInput}-报告

    笔记

    您可以为代码生成指定半精确输入。但是,代码生成器类型将输入投入到单精度。深度学习工具箱使用单精制,浮点算术来用于MATLAB中的所有计算。

通过使用代码生成MATLAB编码器应用程序

  1. 请按照通常的步骤来指定入口点功能并指定输入类型。看使用MATLAB编码器应用程序生成C代码

  2. 在里面生成代码步:

    • 要点C或者C ++

    • 点击更多设置。在里面深度学习窗格,设置目标库没有任何

  3. 生成代码。

也可以看看

||

相关话题