我是一个Python新手,我必须做一些简单的工作。
我使用sklearn.mixture
方法来处理数据,但这需要花费太多时间。
我已经在某处here阅读并决定 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()
那么,有人能告诉我我做错了吗?
还有其他方法可以改善效果吗?