0

我是一个 Python 新手,我必须用它做一些简单的工作。

我使用sklearn.mixture方法来处理数据,但是这需要太多时间。

我在这里的某个地方读过并决定对这些功能进行cythonize 。

我已经按照教程描述的方式python setup.py build_ext --inplace处理了所有*.py文件。sklearn.mixture但是,调用这些方法的时间完全一样。我什至重命名了*.py文件,以确保已链接编译的本机库。

我的测试应用程序如下所示:

import os
import datetime
from sklearn import mixture
import pickle

def process():
    with open('test_in', 'rb') as f:
        mfcc = pickle.load(f)
    time_start = datetime.datetime.now()
    print(time_start.strftime("%Y-%m-%d %H:%M:%S.%f"))
    gmm = mixture.GaussianMixture(n_components=10,  max_iter=150)
    voice_model = gmm.fit(mfcc)
    time_end = datetime.datetime.now()
    print(time_end.strftime("%Y-%m-%d %H:%M:%S.%f"))
    delta = time_end - time_start
    print('Delta: ' + str(delta))
    with open('test_out', 'wb') as f:
        pickle.dump(voice_model, f)
    return

process()

那么,有人可以告诉我我做错了什么吗?

还有其他方法可以提高性能吗?

4

0 回答 0