libsvm的版本引出的问题
来源:互联网 发布:js判断文字是否被复制 编辑:程序博客网 时间:2024/05/14 14:50
最近在matlab下运行关于svm的一些程序,而选用的libsvm包来使用。
1. 错误一 mexa64与mexw64
刚开始运行时,没怎么注意文件夹下的svm的mex文件,运行则报错。根据错误提示位置,点击进入了一个svmtrain文件,发现居然是matlab自带svm程序,居然没有调用文件夹下的mex文件。
跑去看mex文件,发现其后缀是mexa64,
svmtrain.mexa64
svmpredict.mexa64
后缀mexa64的mex文件是供64位Linux下的matlab调用的,而64位window应该是使用后缀mexw64的mex文件。因为我是在64位window服务器上运行,故在工作文件夹下找不到对应的mex文件,而跑去找matlab的相应函数,结果参数又对不上,故提示错误位置为matlab下的相应文件。
2. 错误二 历史版本与最新版本
因为工作目录下没有mexw64的文件,我便从自己电脑上copy了两个文件到工作目录下,而自己电脑上的libsvm是刚装不久,下载的最新版本。
svmtrain.mexw64
svmpredict.mexw64
用最新版本成功运行程序成功,但最后的结果与原来的结果有很小差别,突然想到有可能是libsvm版本差异,因而又在其他服器上找到了当时使用的libsvm(2009年的。。。),训练预测也成功运行。后来,为了验证一个修改后的程序,便直接使用训练好的模型进行预测,但提示
Error: can't read model: number of return field is not correct
单步调试跟踪,发现svmpredict函数参数都是正确的,但总是没有返回值,很是纳闷。怀疑可能是修改后的程序存在bug,换原来的程序结果还是提示同样错误。。。
跑去看训练好的model,突然反应过来,这模型是先使用最新版本的svm训练的,而预测时换成了2009年的svm,老版本不能兼容新版本的model格式,故不能读取model。
主要还是粗心,以后得注意程序包的版本兼容问题。
- libsvm的版本引出的问题
- libsvm的版本引出的问题
- #引出的各种问题
- lambda引出的问题
- LibSVM安装的问题
- 指针初始化引出的问题
- z-order引出的问题
- 二分查找引出的问题
- z-order引出的问题
- z-order引出的问题
- ORA-12519引出的问题
- PhotoCamera引出的一个问题
- 关于_ATL_MIN_CRT引出的问题
- android context引出的问题
- 一个PATH引出的问题
- Spark Subtract引出的问题
- eclipse版本引出的西方神话
- 关于python2和3版本不同引发的urllib报错及引出的字符串问题
- 2013编程之美全国挑战赛-传话游戏
- JavaScript 函数
- android.os.NetworkOnMainThreadException
- VC编程实现:删除一个文本文件中的空行
- 2013编程之美资格赛总结
- libsvm的版本引出的问题
- java、C++中的赋值
- Cacti故障篇(补充中)
- 学习日记-io流
- ndroid平台根目录文件
- 阶梯式使用SpringMVC+MyBatis
- LA 2453 Wall
- Java问题定位技术
- iOS 实现瀑布流界面