目录
  1. 1. SideKit库
    1. 1.1. SIDEKIT可以用来干什么?
    2. 1.2. 如何安装?
    3. 1.3. 安装LibSVM
安装sidekit教程

SideKit库

官方文档:https://projets-lium.univ-lemans.fr/sidekit/index.html

SIDEKIT可以用来干什么?

  • 声学特征的提取
    • Linear-Frequency Cepstral Coefficients (LFCC)
    • Mel-Frequency Cepstral Coefficients (MFCC)
    • RASTA filtering
    • Energy-based Voice Activity Detection (VAD)
    • normalization (CMS, CMVN, Short Term Gaussianization)
  • 模式识别和分类
    • Gaussian Mixture Models (GMM)
    • i - vectors
    • Probabilistic Linear Discriminant Analysis (PLDA)
    • Joint Factor Analysis (JFA)
    • Support Vector Machine (SVM)
    • Deep Neural Network (bridge to THEANO)
  • 结果绘图
    • DET plot
    • ROC Convex Hull based DET plot

与其他toolkit的兼容:https://projets-lium.univ-lemans.fr/sidekit/overview/compatibilities.html

如何安装?

官方安装教程:https://projets-lium.univ-lemans.fr/sidekit/install/index.html

直接在命令窗中输入pip install sidekit

预装环境要求:

- matplotlib>=3.0.0
- numpy>=1.15.2
- pyparsing>=2.2.2
- scipy>=1.1.0
- six==1.11.0
- h5py>=2.8.0
- pandas>=0.23.4
- pytorch>=1.0
- torchvision>=0.2.1

若上述环境没有配置成功,会提示以下错误:

Could not find a version that satisfies the requirement torch>=1.0.0?

解决措施: 对于一些比较空间大的库,若直接用pip install 库名则下载的速度会非常满,故这里推荐使用本地安装

  1. 下载whl格式文件

    https://files.pythonhosted.org/packages/1a/3b/fa92ece1e58a6a48ec598bab327f39d69808133e5b2fb33002ca754e381e/torch-1.4.0-cp37-cp37m-manylinux1_x86_64.whl

  2. Anaconda Prompt中输入如下命令:

    pip install torch-1.4.0-cp37-cp37m-manylinux1_x86_64.whl

检测是否安装成功:

>>> import sidekit
WARNING:root:WARNNG: libsvm is not installed, please refer to the documentation if you intend to use SVM classifiers

安装LibSVM

  1. 下载libsvm

    官方网站:https://www.csie.ntu.edu.tw/~cjlin/libsvm/

    或者下载我上传的文件(2020-02-28):https://www.lanzous.com/i9r57be

  2. 将下载好的文件解压缩到任意位置

    tar -xvf libsvm-3.23.tar.gz
    unzip libsvm-3.23.zip
  3. 进入解压缩目录

    cd libsvm-3.23,然后make
  4. 再进入下一层目录python

    make
  5. python目录中所有的.py文件复制到/home/jacky/anaconda3/lib/python3.7/site-packages,再把python的上层目录中的libsvm.so.2复制到/home/jacky/anaconda3/lib/python3.7

  6. 检验

    rom svmutil import *
    from svm import *
    y, x = [1, -1], [{1: 1, 2: 1}, {1: -1, 2: -1}]
    prob = svm_problem(y, x)
    param = svm_parameter('-t 0 -c 4 -b 1')
    model = svm_train(prob, param)
    yt = [1]
    xt = [{1: 1, 2: 1}]
    p_label, p_acc, p_val = svm_predict(yt, xt, model)
    print(p_label)