큰 문제는 아닌 것 같습니다. 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
안녕하세요! @ 롤랜드, Thnx. 그 일 이제는 – user7420652
@ user7420652 안녕하세요, 귀하의 회신을 보내 주셔서 감사 드리며 알고 행복! Stack Overflow는 다음과 같이 작동합니다. 주석 처리 대신 (더 많은 정보를 추가하지 않는 한) 도움이되는 답변을 upvote 할 수 있고 문제가 해결되면 왼쪽의 확인 표시를 클릭하여 "해결책"으로 대답을 선택하십시오 그 대답. –