我是一个 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()
那么,有人可以告诉我我做错了什么吗?
还有其他方法可以提高性能吗?