windows下:
1.LibSVM及相应组件下载、安装
1.1 Libsvm下载网址:官网、github,下载完成后将压缩包解压,解压后的文件夹直接放在C盘根目录。
1.2gnuplot下载地址:gnuplot,下载后进行安装,安装位置放在C盘根目录下,并将gnuplot.exe添加到系统环境变量。
1.3 Python 2.7 下载安装不再赘述,网上教程很多。我用 python 3.x 也可以成功运行。
1.4 下载实例数据集,并放入 C:\libsvm-3.23\tools 路径下。
1.5 在CMD中运行easy.py:
cd C:\libsvm-3.23\tools
python easy.py scene_train scene_test
其中scene_train为训练集,scene_test为测试集,libsvm官网提供很多dataset实例下载。
2. easy.py的使用中遇到的问题
2.1 找不到gnuplot.exe(按照上面的方法安装在C盘根目录下不会出现此错误,请忽略此条)。
在安装过程中一路默认,并加入到系统环境变量中后,运行easy.py,还是提示:
gnuplot executable not found
打开easy.py的代码,参考下图在第25行代码位置修改代码为:
gnuplot_exe = r"C:\gnuplot\bin\gnuplot.exe"
然后把gnuplot卸载重装,安装位置选择为C盘根目录。我尝试将代码改为其他地址,并将代码做相应调整但不成功,看来只能安装在根目录下,原因不知,这次就不再报错了。
2.2 错误提示“该文件没有与之关联的应用来执行该操作”
解决方法:win10改文件打开方式提示“该文件没有与之关联的应用来执行该操作”怎么办-系统城www.xitongcheng.com
官网没有写是否支持py3,所以还是将其关联到py2.7,问题解决。
2.3 错误提示:ValueError: could not convert string to float: svm_options
解决方法:
在easy.py第52行找到
cmd = '{0} -svmtrain "{1}" -gnuplot "{2}" "{3}"'.format(grid_py, svmtrain_exe, gnuplot_exe, scaled_file)
将其改为:
将其改为cmd = 'python {0} -svmtrain "{1}" -gnuplot "{2}" "{3}"'.format(grid_py, svmtrain_exe, gnuplot_exe, scaled_file)
问题解决,可成功运行。
3. 输出结果
————————
Mac下教程(注意:不完善):
1.软件Xcode的下载和安装
如果是macOS系统较新,可以直接从Mac的app store下搜索下载。对于旧一些的系统班,可以去下面这个网址下载对应的历史版本,例如,对于系统Sierra 10.12,只能下载Xcode 9.2版本,格式为.xip。这个macOS系统版本和Xcode软件版本的对应还是挺难找的,我最终在stock overflow看到有用户提到了10.12对应Xcode9.2才算找到。这个网址需要登录apple ID。Sign In - Appledeveloper.apple.com
Xcode的安装很简单没有特别需要注意的。
2.软件Macports的下载和安装
去官网下载与自己的系统对应的软件版本:The MacPorts Projectwww.macports.org
Macports的安装还是出现了一点问题,就是一直卡在安装界面:“正在运行软件包脚本”,进度条不再前进,参考的了别人的博客才解决,方法如下:
2.1 打开‘活动监视器’ ,找到进程‘安装器’,点击左上角的叉号图标,选择‘强制退出’
2.2 打开‘终端’,输入命令
ps aux | grep install
找到写着‘MacPorts’的一个进程,左起第二个就是进程ID
2.3 输入命令
sudo kill 888888
其中888888需要改为刚才的进程ID
2.4 给电脑断网
2.5 重新安装,搞定~
原博客还配了图片进行讲解,大家可以点击链接去查看。
3. gnuplot以及python 2.7的安装
3.1 python 2.7的安装不再介绍,我选择的是用miniconda建立py27的虚拟环境。
3.2 gnuplot的安装
前面Xcode和Macports的安装都是在做铺垫,接下来安装gnuplot的参考博客有两个,分别附上链接:博客1、博客2.
3.2.1 打开终端输入
cd /opt/local/bin
sudo port install gnuplot
这时Xcode可能会跳出安装Command line tool的提示,按照提示安装即可。
3.2.2 安装完毕后,重新打开终端输入
gnuplot
plot sin(x)
如果输出sin(x)的图像说明安装成功。
4. 部署libsvm
4.1 libsvm的下载地址参考前面win的介绍,同样将文件夹放在用户名的文件夹下。
4.2 参考了这个博客。打开终端输入:
cd libsvm-3.23 # 进入libsvm文件夹
make # 等待执行完毕
cd python # 进入libsvm->python文件夹
make # 等待执行完毕
和参考博客相比我只执行到这里,因为我想获得和win下命令行一样直接在终端执行easy.py,如果想在python中import可参考原博客。
4.2 参照win下2.1修改代码中gnuplot的路径,软件在 /opt/local/bin 的路径下。
4.3 在终端执行命令
cd libsvm-3.23
cd tools
conda activate py27
python easy.py scene_train scene_test
结果出现如下错误:
该错误目前尚未解决:就算加入sudo命令也还是Permission denied。
解决后再更。