CheXNet icon indicating copy to clipboard operation
CheXNet copied to clipboard

Broken Pipeline error

Open osho-agyeya opened this issue 7 years ago • 1 comments

I am getting this error of Broken pipe.

runfile('E:/constalytics/chexnet-master_2pytorosho/Main.py', wdir='E:/constalytics/chexnet-master_2pytorosho')
Reloaded modules: ChexnetTrainer, DensenetModels, DatasetGenerator
Training NN architecture =  DENSE-NET-121
D:\Anaconda\envs\pytr\lib\site-packages\torchvision\models\densenet.py:212: UserWarning: nn.init.kaiming_normal is now deprecated in favor of nn.init.kaiming_normal_.
  nn.init.kaiming_normal(m.weight.data)
Traceback (most recent call last):

  File "<ipython-input-2-97c96155fd04>", line 1, in <module>
    runfile('E:/constalytics/chexnet-master_2pytorosho/Main.py', wdir='E:/constalytics/chexnet-master_2pytorosho')

  File "D:\Anaconda\envs\pytr\lib\site-packages\spyder\utils\site\sitecustomize.py", line 705, in runfile
    execfile(filename, namespace)

  File "D:\Anaconda\envs\pytr\lib\site-packages\spyder\utils\site\sitecustomize.py", line 102, in execfile
    exec(compile(f.read(), filename, 'exec'), namespace)

  File "E:/constalytics/chexnet-master_2pytorosho/Main.py", line 82, in <module>
    runTrain()

  File "E:/constalytics/chexnet-master_2pytorosho/Main.py", line 54, in runTrain
    ChexnetTrainer.train(pathDirData, pathFileTrain, pathFileVal, nnArchitecture, nnIsTrained, nnClassCount, trBatchSize, trMaxEpoch, imgtransResize, imgtransCrop, timestampLaunch, None)

  File "E:\constalytics\chexnet-master_2pytorosho\ChexnetTrainer.py", line 94, in train
    ChexnetTrainer.epochTrain (model, dataLoaderTrain, optimizer, scheduler, trMaxEpoch, nnClassCount, loss)

  File "E:\constalytics\chexnet-master_2pytorosho\ChexnetTrainer.py", line 116, in epochTrain
    for batchID, (input, target) in enumerate (dataLoader):

  File "D:\Anaconda\envs\pytr\lib\site-packages\torch\utils\data\dataloader.py", line 451, in __iter__
    return _DataLoaderIter(self)

  File "D:\Anaconda\envs\pytr\lib\site-packages\torch\utils\data\dataloader.py", line 239, in __init__
    w.start()

  File "D:\Anaconda\envs\pytr\lib\multiprocessing\process.py", line 105, in start
    self._popen = self._Popen(self)

  File "D:\Anaconda\envs\pytr\lib\multiprocessing\context.py", line 223, in _Popen
    return _default_context.get_context().Process._Popen(process_obj)

  File "D:\Anaconda\envs\pytr\lib\multiprocessing\context.py", line 322, in _Popen
    return Popen(process_obj)

  File "D:\Anaconda\envs\pytr\lib\multiprocessing\popen_spawn_win32.py", line 65, in __init__
    reduction.dump(process_obj, to_child)

  File "D:\Anaconda\envs\pytr\lib\multiprocessing\reduction.py", line 60, in dump
    ForkingPickler(file, protocol).dump(obj)

BrokenPipeError: [Errno 32] Broken pipe

Any idea how to fix this?

osho-agyeya avatar May 12 '18 08:05 osho-agyeya

@osho-agyeya I guess you run the code under Windows platform, if so, set the parameter [num_workers=0] when loading data by torch.utils.data.DataLoader()... It's multiprocess problem, if you use Ubuntu, it disappears.

geekac avatar May 16 '18 01:05 geekac