2017-01-15 12 views
6

Pythonでgensim(pip経由)をインストールしました。gensimのインストール中にチャンク・サイズの警告が発生する

C:\ Python27 \ libには\サイト - パッケージ\ gensim \ utils.py:855:UserWarning:インストールした後、私は次の警告を得る上でのWindowsを検出します。 warnings.warnをchunkize_serialするエイリアシングchunkize( "Windowsのを検出し、chunkize_serialするchunkizeエイリアシング")

がどのように私はこれを是正することができますか?

この警告のため、gensim.modelsからword2vecをインポートできません。

私は以下の設定をしています:Python 2.7、gensim-0.13.4.1、numpy-1.11.3、scipy-0.18.1、pattern-2.6。

答えて

12

のコードチェック:

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

import gensim 
+0

こんにちは! @ロランド、Thnx。その今働いて – user7420652

+0

@ user7420652ねえ、あなたの返信と幸せに知っていただきありがとうございます!スタックオーバフローは以下のように機能します:コメントの代わりに(詳細を追加しない限り)役立つ回答をアップアップすることができます。問題が解決した場合は、左側のチェックマークをクリックして回答を「解決策」として選択しますその答えの –

12

大きな問題ではないと思います。 gensimはちょうどあなたが特定のOSを使用する異なる機能にchunkizeをエイリアスすることを知らせます。

はあなたがgensimインポートする前にこのコードとのメッセージを抑制することができる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 import word2vecから、私はchunkize警告を受け取ります。 – user7420652

+0

こんにちは! @ドンミンピートシン、物事は正常に動作しています。ヘルプのthnx。 – user7420652

関連する問題