Matlab引擎在Python pretrained Matlab机器学习模型是行不通的

15的观点(30天)
这是我的代码 在Python IntelliJ (IDE):
进口matlab.engine
eng = matlab.engine.start_matlab ()
pre_input = (24.0188969443267, 0.0293602407565970, 0.00128042250976566, 1.16376422874023)
theta_prd = eng.predictTheta2021 (pre_input)
打印(theta_prd)
/ / / / / / / / / / / / / / / / / / / / / / / /
这是我的 predictTheta2021.m 文件:
函数θ= predictTheta2021(数据)
mdl =负载(“Pdct_Wen13_2ps.mat”);%这个加载pretrained Matlab预测模型在Matlab工作
模型= mdl.theta_model;%提取一(θ模型)垫的三个模型文件
θ= model.predictFcn(数据);%调用预测函数通过向θ输入数据和输出变量
结束
这就是我所看到的 在IntelliJ输出窗口:
错误使用classreg.learning.internal.table2PredictMatrix > makeXMatrix(第96行)
变量column_1不是一个有效的预测。
错误在classreg.learning.internal.table2PredictMatrix(47)行
Xout = makeXMatrix (X, CategoricalPredictors vrange pnames);
错误在classreg.learning.regr。CompactRegressionGP /预测(432行)
X = classreg.learning.internal.table2PredictMatrix (X, [] [],
错误在ThetaGPRTrain > @ (x)预测(regressionGP x)(第62行)
gpPredictFcn = @ (x)预测(regressionGP x);
错误在ThetaGPRTrain > @ (x) gpPredictFcn (predictorExtractionFcn (x))(第63行)
trainedModel。predictFcn = @ (x) gpPredictFcn (predictorExtractionFcn (x));
错误在predictTheta2021(第8行)
θ= model.predictFcn(数据);
回溯(最近的电话):
文件“C: /用户/ vadim.sivetskiy / IdeaProjects / PyTest / Test.py”、线6,在<模块>
theta_prd = eng.predictTheta2021 (pre_input)
文件“C: \用户\ vadim.sivetskiy \ AppData \本地Python \ Python36 \ lib \程序\ \网站\ matlab引擎\ \ matlabengine.py”、线71年,在__call__
_stderr,函数宏指令= True) .result ()
文件“C: \用户\ vadim.sivetskiy \ AppData \本地Python \ Python36 \ lib \程序\ \网站\ matlab引擎\ \ futureresult.py”、线67年,在结果
返回自我。__future.result(超时)
文件“C: \用户\ vadim.sivetskiy \ AppData \本地Python \ Python36 \ lib \程序\ \网站\ matlab引擎\ \ fevalfuture.py”、线82年,在结果
自我。_结果= pythonengine.getFEvalResult(自我。_未来,自我。_nargout,, =自我。_呃=自我。_犯错)
matlab.engine.MatlabExecutionError:
文件C:\Program Files\MATLAB\R2019b\toolbox\stats\classreg\ + classreg \ \ +内部\ table2PredictMatrix.m学习、线96年,在makeXMatrix
文件C:\Program Files\MATLAB\R2019b\toolbox\stats\classreg\ + classreg \ \ +内部\ table2PredictMatrix.m学习、线47,在table2PredictMatrix
文件C:\Program Files\MATLAB\R2019b\toolbox\stats\classreg\ + classreg \ \ + regr \ CompactRegressionGP.m学习、线432年,在CompactRegressionGP.predict
文件C:\Users\ vadim.sivetskiy \ IdeaProjects \ PyTest \ ThetaGPRTrain.m、线62年,在@ (x)预测(regressionGP x)
文件C:\Users\ vadim.sivetskiy \ IdeaProjects \ PyTest \ ThetaGPRTrain.m、线63年,在@ (x) gpPredictFcn (predictorExtractionFcn (x))
文件C:\Users\ vadim.sivetskiy \ IdeaProjects \ PyTest \ predictTheta2021.m、线8,在predictTheta2021
变量column_1不是一个有效的预测。
/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
该模型使用 高斯过程回归(GPR)
我的问题是:
有可能加载pretrained Matlab模型在Python (IntelliJ IDEA) ?如果是,你可以给我任何反馈错误我观察吗?也许一些额外的转换需要Matlab和Python之间除了导入Matlab引擎?
谢谢你!
5个评论
瓦迪姆Sivetskiy
瓦迪姆Sivetskiy 2021年7月21日
谢谢,它帮助。显然,这是转换成一个单元阵列代替矩阵。我所做的为了解决这个问题,cell2mat函数输入收到Python和它返回正确的输出回Python。

登录置评。

答案(0)

类别

找到更多的在从Python调用MATLAB帮助中心文件交换

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!