zoukankan      html  css  js  c++  java
  • MATLAB安装libsvm无法使用解决办法(转)

    buaasuozi  《---这是原作者;

    安装libsvm 不成功有可能是你的MATLAB版本或者是编译文件版本的问题,但是不要急着换其他版本。。。。说不定就有别的解决办法呢

    首先感谢Lin教授及其实验室提供的libsvm工具箱,原始下载地址:下载主页:http://www.csie.ntu.edu.tw/~cjlin/libsvm/       下载地址:http://www.csie.ntu.edu.tw/~cjlin/libsvm/#download  
     
    原本我使用的是libsvm-3.01版本,但是目前更换了matlab版本,由32位变为64位,再使用原来的libsvm进行  mex -setup 编译就会出现如下错误(异常):
     
    >> mex -setup
    MEX 配置为使用 'Microsoft Visual C++ 2012 (C)' 以进行 C 语言编译。
    警告: MATLAB C 和 Fortran API 已更改,现可支持
            包含 2^32-1 个以上元素的 MATLAB 变量。不久以后,
             您需要更新代码以利用
             新的 API。您可以在以下网址找到相关详细信息:
             http://www.mathworks.com/help/ma ... use-64-bit-api.html

    要选择不同的语言,请从以下选项中选择一种命令:
    mex -setup C++ 
    mex -setup FORTRAN
     
    在网上找了很多解决方案,都没有奏效,开始以为是matlab和visual studio版本问题,也怀疑了win10 64位系统问题,按照网上的方案解决都没有奏效。
    后来参看了 http://apinetree.blog.51cto.com/714152/1560254 这篇文章,受到了启发。但是按照这篇文章的提示操作,还是报错:
     
    Invalid MEX-file 'C:Program FilesMATLABR2014b oolboxlibsvm-3.21windowslibsvmread.mexw64': 找不到指定的模块。
     
    后来按照libsvm提供的最原始办法:make 解决了
    具体步骤如下:
    1、下载libsvm,我下载的是libsvm-3.21版本,大家也可以去这里下载:下载libsvm-3.21
    2、解压后放到matlab的安装目录下,我个人喜欢直接放到matlab下面的toolbox里面,毕竟这也是其中的工具之一。
    3、在matlab主界面找到“设置路径”,添加文件夹及其子文件,索性把整个libsvm-3.21全添加进去,反正可能都要用到。
    4、切换matlab运行目录致:C:Program FilesMATLABR2014b oolboxlibsvm-3.21matlab,在命令行输入make,也就是该目录下的那个make文件。这时候就像以前安装libsvm一样,会自动make出来很多文件,不用管,主要是会看到make出带有mexm64后缀名的文件,这就成功了。
     
    5、拷贝4步骤中matlab文件夹下所有make出来的文件,到libsvm-3.21windows文件夹下,替换替换替换……,统统替换。
    6、over,出一口气,放松一下,距离成功只差后面的第七步
    7、验证是否成功:使用数据libsvm试验数据下载
    可以将下载后的heart_scale.mat数据复制到刚才的目录下(其实无所谓)。然后输入libsvm工具箱特有的语句,就可以验证成功与否了:
    >> load heart_scale.mat
    >> model = svmtrain(heart_scale_label, heart_scale_inst, '-c 1 -g 0.07');
    >> [predict_label, accuracy, dec_values] = svmpredict(heart_scale_label, heart_scale_inst, model);
     
    输出:
    *
    optimization finished, #iter = 134
    nu = 0.433785
    obj = -101.855060, rho = 0.426412
    nSV = 130, nBSV = 107
    Total nSV = 130
    、、、、标准支持向量和边界支持向量。。。nSV = 130, nBSV = 107
    Accuracy = 86.6667% (234/270) (classification)
     
    得到了分类精度,这就证明libsvm安装成功!
    以上亲测,运行环境win10  64位系统,matlab R2014b   libsvm-3.21   visual studio 2012

    http://blog.csdn.net/buaasuozi/article/details/50781615 

  • 相关阅读:
    第六周学习心得
    syncnavigator关于win10、win8系统无法注册机进行激活的问题
    使用SyncNavigator轻松实现数据库异地同步、断点续传、异构同步
    数据库同步的正确打开方式
    使用SyncNavigator实现数据库异地同步。
    聊聊MySQL主从数据库同步的那些事儿
    高并发架构系列:数据库主从同步的3种一致性方案实现,及优劣比较
    MySQL binlog数据库同步技术总结
    数据库同步的两种方式
    某省肿瘤医院 — 数据备份 + 数据库同步
  • 原文地址:https://www.cnblogs.com/8335IT/p/5648288.html
Copyright © 2011-2022 走看看