Skip to content

Some condition causing EOFError, BrokenPipe error #3

@lzamparo

Description

@lzamparo

Hi,

This is in relation to my use of this package for feeding a training loop for word2vec, but I think the problem lies here, so I'm posting the issue here. Here's an associated gist with the relevant trace and code snippets.

Based on the traceback, here's what I think is happening:

  1. the producer queue of macrobatch_queue eventually becomes unable to put((signal_examples, noise_examples))into the underlying _work_queue of the macrobatch_queue producer. This causes the BrokenPipeError
  2. the iterable for the producer queue of macrobatch_queue is somehow still open when generate_dataset_parallel finishes, leading to an EOFError (I think, see here)

So, I'm going to try closing macrobatch_consumer after the final for loop in the generate_dataset_parallel to see if it resolves [2], and inserting a short wait after the put in generate_dataset_worker to see if it fixes [1] (see here)

Have you ever seen this behaviour in your own experiments? Thanks in advance,

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions