首页 > 解决方案 > 在 python 中调用 Matlab 对象函数

问题描述

我有兴趣在 python 中从 Matlab 的分类学习器应用程序中导出和运行分类器。为此,我需要从导出的模型中打包 predictFcn,但它只是一个具有值的函数句柄:@(x)exportableModel.predictFcn(predictorExtractionFcn(x)) (并且没有明确写...)

为了解决这个问题,我将 trainClassifier 函数与 libraryCompiler 打包在一起,并在 python 上运行它返回一个具有 4 个字段的 dict(相当于 Matlab 中的结构):'predictFcn'、'ClassificationSVM'、'About'、'如何预测”。

当我尝试访问第一个字段并将其作为参数传递给我的测试数据集时,我得到:

TypeError:“matlab.object”对象不可调用

此外:

>>>Output = my_testpkg.trainClassifier(xx_train,nargout=1)
>>>type(my_testpkg.trainClassifier)
matlab_pysdk.runtime.deployablefunc.DeployableFunc

>>>type(Output['predictFcn'])
matlab.object

有没有办法将 predictFcn 转换为与 trainClassifier 相同的类型(或者也欢迎任何其他解决方案)?

谢谢

标签: pythonmatlabobjectruntimeclassification

解决方案


推荐阅读