主要内容

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

MATLAB®编码器™,您可以从已经训练好的神经网络中生成通用的C或c++代码进行预测。生成的C/ c++代码不依赖于任何第三方库。生成的代码实现了一个具有在输入中指定的体系结构、层和参数的神经网络SeriesNetwork(深度学习工具箱)DAGNetwork(深度学习工具箱)网络对象。看到代码生成支持的网络和层金宝app

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

  • 标准的codegen命令用于从MATLAB代码生成C/ c++代码。

  • MATLAB编码器应用程序。

需求

  • 在Windows上®,用于深度学习网络的代码生成codegen功能要求微软®Visual Studio®还是MinGW®编译器。

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

  • 深度学习工具箱™。

使用代码生成codegen

  1. 在MATLAB中编写一个入口点函数:

    例如:

    函数Out = my_predict(in)% # codegen一个持久对象mynet用于加载系列网络对象。在第一次调用此函数时,将构造持久对象%设置。当该函数随后被调用时,将重用相同的对象的方法调用predict,从而避免重新构造和重新加载%网络对象。持续的mynet;如果mynet = code . loaddeeplearningnetwork (mynet)“myNetwork.mat”);结束输入合格率Out = predict(mynet,in, in,“MiniBatchSize”2);

  2. 创建深度学习配置对象dlconfig类配置为生成通用的C/ c++代码编码器。DeepLearningConfig函数。

    Dlconfig =编码器。DeepLearningConfig (TargetLibrary =“没有”);

    为MEX或静态或动态链接库创建代码生成配置对象。默认情况下,代码生成器生成通用C代码。若要生成通用c++代码,请在代码生成配置对象中设置TargetLang参数“c++”.设置DeepLearningConfig参数设置为先前创建的对象dlconfig

    CFG = code .config(“自由”);cfg。TargetLang =“c++”;cfg。DeepLearningConfig = dlconfig;
  3. 运行codegen命令。使用配置选项指定配置对象。使用arg游戏选项指定输入类型。

    codegen配置cfgmy_predictarg游戏{myInput}报告

    请注意

    您可以为代码生成指定半精度输入。但是,代码生成器类型将输入强制转换为单精度。深度学习工具箱对MATLAB中的所有计算使用单精度浮点算法。

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

  1. 按照通常的步骤指定入口点函数和指定输入类型。看到使用MATLAB Coder App生成C代码

  2. 生成代码步骤:

    • 语言要么Cc++

    • 点击更多的设置.在深度学习窗格中,设置目标库没有一个

  3. 生成的代码。

另请参阅

||

相关的话题