如何初始化一个字符串变量,并将其传递给使用GPU编码器matlab的函数
14日视图(30天)
显示旧的评论
如何在自定义主要初始化一个字符串。铜文件并将其传递给使用GPU编码器matlab的函数?我想看看Matlab文档,我找不到任何引用。我希望任何专家的帮助。
我试着使用matlab编制今年的月份,nvidia exectuable文件功能,
函数
= test_predict (img, SS)
%党卫军是字符串类型例如SS =“ABCD”;
持久mynet1;
持续的
mynet2;
如果
(strncmp (SS,
“GR1一起”
2)= = true) & & isempty (mynet1)
a1 =
“DLmodel1.mat”
;
mynet1 = coder.loadDeepLearningNetwork (a1);
=预测(mynet1, img);
其他的
a2 =
“DLmodel2.mat”
;
mynet2 = coder.loadDeepLearningNetwork (a2);
=预测(mynet2, img);
结束
主要的例子。创建铜文件如下:
…
/ /函数声明
静态
无效
argInit_1x4_char_T (
字符
结果[4]);
静态
无效
argInit_299x299x3_real32_T (
浮动
结果[268203]);
静态
字符
argInit_char_T ();
静态
浮动
argInit_real32_T ();
静态
编码器:rtString argInit_rtString ();
静态
无效
main_test_predict ();
/ /函数定义
静态
无效
argInit_1x4_char_T (
字符
结果[4])
{
/ /遍历该数组初始化每个元素。
为
(
int
idx1 {0};idx1 < 4;idx1 + +) {
/ /设置数组元素的值。
/ /修改这个值,应用程序需要的价值。
结果[idx1] = argInit_char_T ();
}
}
静态
无效
argInit_299x299x3_real32_T (
浮动
结果[268203])
{
/ /遍历该数组初始化每个元素。
为
(
int
idx0 {0};idx0 < 299;idx0 + +) {
为
(
int
idx1 {0};idx1 < 299;idx1 + +) {
为
(
int
idx2 {0};idx2 < 3;idx2 + +) {
/ /设置数组元素的值。
/ /修改这个值,应用程序需要的价值。
结果[(idx0 + 299 * idx1) + 89401 * idx2] = argInit_real32_T ();
}
}
}
}
静态
字符
argInit_char_T ()
{
返回
“?”
;
}
静态
浮动
argInit_real32_T ()
{
返回
0.0度
;
}
静态
编码器:rtString argInit_rtString ()
{
编码器:rtString结果;
/ /设置每个结构字段的值。
/ /修改这个值,应用程序需要的价值。
argInit_1x4_char_T (result.Value);
返回
结果;
}
静态
无效
main_test_predict ()
{
静态
浮动
b [268203];
编码器:rtString c;
浮动
out_data [28];
int
out_size [2];
argInit_299x299x3_real32_T (b);
c = argInit_rtString ();
testdefclass_predict (b,明目的功效,out_data out_size);
}
int
主要(
int
,
字符
*
*
)
{
/ /初始化函数被称为自动从你的入口点
/ /函数。所以,这里不包括调用初始化。调用
/ /入口点函数。
/ /可以多次调用入口点函数。
/ / SS是变量和阅读从一个文本文件
文件* fp = fopen (flile1.txt, r);
char党卫军[5]=“ABCD”;
main_test_predict ();
/ /终止应用程序。
/ /不需要超过一次。
test_predict_terminate ();
返回
0;
}
/ /代码生成(main.cu)结束
你能请
0评论
接受的答案
更多的答案(2)
Hariprasad Ravishankar
2022年11月11日
你真的需要吗
字符串
数据类型吗?通常它容易使用
字符
数据类型作为输入一个入口点函数。
例如,对于下面的入口点函数
函数= foo ()
=比较字符串(在,“苹果”);
结束
> > codegen fooargs{“芒果”}配置:dll
编码器生成:
boolean_Tfoo (const char [5])
你可以通过一个char数组作为输入入口点:
无效main_foo(空白)
{
char简历[5];
boolean_T;
/ *初始化函数“foo”输入参数。* /
/ *初始化函数输入参数“在”。* /
/ *调用入口点“foo”。* /
argInit_1x5_char_T(简历);
= foo(简历);
}
进一步说,如果你知道输入在codegen时间将是一个常数,不会改变在运行时,您可以指定使用它作为一个常数
codegen
命令:
> > codegen fooargs {coder.Constant(芒果)}配置:dll
这样你不会把它作为输入,生成的函数从你
main ()