首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安装gensim时警告

安装gensim时警告
EN

Stack Overflow用户
提问于 2017-01-15 06:43:50
回答 2查看 23.8K关注 0票数 16

我已经在Python中安装了gensim (通过pip)。安装结束后,我收到以下警告:

C:\Python27\lib\site-packages\gensim\utils.py:855: UserWarning: UserWarning;将分块混叠为chunkize_serial warnings.warn(“检测到窗口;将分块转换为chunkize_serial")

我该怎么纠正呢?

由于此警告,我无法从word2vec导入gensim.models。

我有以下配置:Python2.7,gensim-0.13.4.1,numpy-1.11.3,ciply-0.18.1,模式-2.6。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-01-31 06:49:49

在导入gensim之前,可以先用此代码抑制消息:

代码语言:javascript
复制
import warnings
warnings.filterwarnings(action='ignore', category=UserWarning, module='gensim')

import gensim
票数 34
EN

Stack Overflow用户

发布于 2017-01-15 07:03:35

我觉得不是什么大问题。Gensim只是让您知道,它将别名为不同的函数,因为您使用的是特定的os。

gensim.utils查看这段代码

代码语言:javascript
复制
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
票数 16
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41658568

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档