相同的Python代码在Django中需要几分钟,而在shell中则少于1秒

时间:2013-09-24 14:37:01

标签: python django scikit-learn

我有Python类,其中sklearn / scikit-learn用于构建DecisionTree。如果我在Django shell中执行,它运行在1s以下,如python manage.sh shell。然后我将从csv加载数据并从DecisionTreeClassified调用我的类和fit函数。

但是,如果我尝试将相同的代码合并到Django视图中,则需要6分钟。和6 GB的RAM完成。

是否涉及线程/多进程?

更新: 我不认为,代码是问题,而是Django环境或WSGI是原因。但是,这里有一些代码:

def myfit: 
   dt=tree.DecisionTreeClassifier(criterion='gini', splitter='best', min_samples_split=2,min_samples_leaf=n*self.params.min_category,max_depth=self.p‌​arams.max_depth,max_features=None, random_state=None, min_density=None, compute_importances=None) 
   dt.fit(x_i,y) 
   start_time=time.time()
   dt.predict_proba(x_i)[:,1] #takes ages here
   print time.time() - start_time, "seconds"
   #Django - 301.682538033 seconds, Cli - 0.06 seconds

0 个答案:

没有答案