gensim

2017-01-15 8 views
6

स्थापित करते समय चंकिज चेतावनी मैंने पायथन में जीन्सिम (पीआईपी के माध्यम से) स्थापित किया है।gensim

C: के बाद स्थापना से अधिक मैं निम्नलिखित चेतावनी मिलती है \ Python27 \ lib \ साइट-संकुल \ gensim \ utils.py: 855: UserWarning: पता लगाया विंडोज; warnings.warn chunkize_serial को अलियासिंग chunkize ("विंडोज का पता चला; chunkize_serial को chunkize अलियासिंग")

मैं यह कैसे ठीक कर सकते हैं?

मैं इस चेतावनी के कारण gensim.models से word2vec आयात करने में असमर्थ हूं।

मेरे पास निम्न कॉन्फ़िगरेशन हैं: पायथन 2.7, जेन्सिम-0.13.4.1, numpy-1.11.3, scipy-0.18.1, पैटर्न-2.6।

उत्तर

12

का कोड आप gensim आयात करने से पहले इस कोड साथ संदेश को दबाने कर सकते हैं:

import warnings 
warnings.filterwarnings(action='ignore', category=UserWarning, module='gensim') 

import gensim 
+0

हाय! @ रोलैंड, थेंक्स। अब यह काम कर रहा है – user7420652

+0

@ user7420652 अरे, आपके उत्तर के लिए धन्यवाद और जानकर ख़ुशी! स्टैक ओवरफ़्लो इस तरह काम करता है: टिप्पणी करने के बजाय (जब तक आप अधिक जानकारी नहीं जोड़ना चाहते हैं), तो आप उन उत्तरों को ऊपर उठा सकते हैं जो सहायक हैं और यदि समस्या हल हो जाती है तो बाईं ओर चेक मार्क पर क्लिक करके उत्तर में से एक को "समाधान" के रूप में चुनें उस उत्तर का। –

12

मुझे लगता है कि कोई बड़ी समस्या नहीं है। gensim बस आपको यह बताने के लिए कि वे अलग-अलग कार्यों के लिए chunkize उपनाम करेंगे क्योंकि आप विशिष्ट ओएस का उपयोग करते हैं।

जांच gensim.utils

if os.name == 'nt': 
    logger.info("detected Windows; aliasing chunkize to chunkize_serial") 

    def chunkize(corpus, chunksize, maxsize=0, as_numpy=False): 
     for chunk in chunkize_serial(corpus, chunksize, as_numpy=as_numpy): 
      yield chunk 
else: 
    def chunkize(corpus, chunksize, maxsize=0, as_numpy=False): 
    """ 
    Split a stream of values into smaller chunks. 
    Each chunk is of length `chunksize`, except the last one which may be smaller. 
    A once-only input stream (`corpus` from a generator) is ok, chunking is done 
    efficiently via itertools. 

    If `maxsize > 1`, don't wait idly in between successive chunk `yields`, but 
    rather keep filling a short queue (of size at most `maxsize`) with forthcoming 
    chunks in advance. This is realized by starting a separate process, and is 
    meant to reduce I/O delays, which can be significant when `corpus` comes 
    from a slow medium (like harddisk). 

    If `maxsize==0`, don't fool around with parallelism and simply yield the chunksize 
    via `chunkize_serial()` (no I/O optimizations). 

    >>> for chunk in chunkize(range(10), 4): print(chunk) 
    [0, 1, 2, 3] 
    [4, 5, 6, 7] 
    [8, 9] 

    """ 
    assert chunksize > 0 

    if maxsize > 0: 
     q = multiprocessing.Queue(maxsize=maxsize) 
     worker = InputQueue(q, corpus, chunksize, maxsize=maxsize, as_numpy=as_numpy) 
     worker.daemon = True 
     worker.start() 
     while True: 
      chunk = [q.get(block=True)] 
      if chunk[0] is None: 
       break 
      yield chunk.pop() 
    else: 
     for chunk in chunkize_serial(corpus, chunksize, as_numpy=as_numpy): 
      yield chunk 
+0

मैं अपने प्रश्न संपादित किया है। जब मैं लिख रहा हूं: gensim.models से word2vec आयात करें, मुझे chunkize चेतावनी मिल रही है। – user7420652

+0

हाय! @ डोंग्मिन पीट शिन, चीजें ठीक काम कर रही हैं। मदद के लिए thnx। – user7420652

संबंधित मुद्दे