From 903b645eda5f9e32571ad13d692239fbef351440 Mon Sep 17 00:00:00 2001 From: horpto Date: Thu, 2 Nov 2017 11:34:46 +0500 Subject: [PATCH] Add single core mode to CoherenceModel. Fix #1683 (#1685) * fix #1683 - no single core mode * Update setup.py --- gensim/models/coherencemodel.py | 2 +- gensim/test/test_coherencemodel.py | 17 +++++++++++++++++ setup.py | 2 +- 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/gensim/models/coherencemodel.py b/gensim/models/coherencemodel.py index 583e2999b6..10cb1cce7a 100644 --- a/gensim/models/coherencemodel.py +++ b/gensim/models/coherencemodel.py @@ -215,7 +215,7 @@ def __init__(self, model=None, topics=None, texts=None, corpus=None, dictionary= self._topics = None self.topics = topics - self.processes = processes if processes > 1 else max(1, mp.cpu_count() - 1) + self.processes = processes if processes >= 1 else max(1, mp.cpu_count() - 1) @classmethod def for_models(cls, models, dictionary, topn=20, **kwargs): diff --git a/gensim/test/test_coherencemodel.py b/gensim/test/test_coherencemodel.py index ca0b176a52..787d661f89 100644 --- a/gensim/test/test_coherencemodel.py +++ b/gensim/test/test_coherencemodel.py @@ -13,6 +13,7 @@ import tempfile import unittest from unittest import SkipTest +import multiprocessing as mp import numpy as np from gensim.corpora.dictionary import Dictionary @@ -213,6 +214,22 @@ def testErrors(self): coherence='u_mass' ) + def testProcesses(self): + cpu = mp.cpu_count() + get_model = lambda p: CoherenceModel( + topics=self.topics1, corpus=self.corpus, dictionary=self.dictionary, coherence='u_mass', processes=p, + ) + + model = CoherenceModel( + topics=self.topics1, corpus=self.corpus, dictionary=self.dictionary, coherence='u_mass', + ) + self.assertEqual(model.processes, cpu - 1) + for p in range(-2, 1): + self.assertEqual(get_model(p).processes, cpu - 1) + + for p in range(1, 4): + self.assertEqual(get_model(p).processes, p) + def testPersistence(self): fname = testfile() model = CoherenceModel( diff --git a/setup.py b/setup.py index 938b9800ec..2a96beda0c 100644 --- a/setup.py +++ b/setup.py @@ -231,7 +231,7 @@ def finalize_options(self): 'scikit-learn', 'pyemd', 'annoy', - 'tensorflow >= 1.1.0', + 'tensorflow <= 1.3.0', 'keras >= 2.0.4', ]