编程语法质疑C 的CNTKLibrary的使用

Programming syntax questionin usage of CNTKLibrary from C++

本文关键字:CNTKLibrary 语法 编程      更新时间:2023-10-16

这只是一个C 编程语法问题(我认为(。我有192个浮子,例如:

std :: vector outputdata(192(;

我想在此192x1向量的cntklibrary中调用内置的softmax函数 - 标题文件中的文档为:

///在指定的张量操作数上创建CNTK内置软件操作的实例cntk_api functionptr softmax(const variable& operand,const std :: wstring& name = l"(;

我该怎么做?我想首先我得到功能指针,然后使用它,但我不明白该语法是什么。这样的东西...

//抓取软马克斯功能指针

fortigptr softmaxfuncptr = softmax(outputdata(;//如何铸造arg?

//如何评估此funtionptr?

softmaxfuncptr-> eval((;//WAG-我不知道...

计算的结果是哪里?

谢谢你给我一些提示...

首先,您需要定义一个变量,以输入SoftMax,类似于:

auto inputVar = InputVariable(DimensionsOfInput, DataType::Float, L"InputSoftMax");

然后,您使用SoftMax构建复合函数,例如

FunctionPtr SoftmaxFuncPtr = Softmax(inputVar, L"SoftMax"); 
auto EvalFuncPtr = AsComposite(SoftmaxFuncPtr, L"EvalSoftMax");

之后,构建输入和输出图以准备数据以进行评估,然后呼叫((或evaluate((在输入数据上执行评估并获得输出结果。

evalmultithReads.cpp中的示例MultiThreadSevaluationWithNewFunction((展示了如何创建一个新功能以进行评估。该页面描述了如何使用这些样品。那里的功能包含多层,并支持使用多线程的评估,因此它可能具有一些代码,而您的情况不需要。并且该样本仍在使用低级API来操纵输入和输出数据,并且我们还具有高级方便的方法,例如Value :: create-batch/sequence/sequence/batchofSequence((,value :: copyVariableValueto((来帮助您准备输入输入/输出数据不知道低级详细信息。cntklibrary.h也有这些API的描述。

请让我们知道您有任何问题。谢谢,