liznerski/fcdd

EOFError: Ran out of input

momopanda123 opened this issue · 5 comments

run_fmnist.py, run_cifar.py, run_tech.py... all runners have a Run out of input error.

====================================================================
...
File "C:\Users\KBM.conda\envs\torch14\lib\multiprocessing\reduction.py", line 60, in dump
ForkingPickler(file, protocol).dump(obj)
AttributeError: Can't pickle local object 'ADFMNIST.init..'

(torch14) D:\90. Anormaly\fcdd>Traceback (most recent call last):
File "", line 1, in
File "C:\Users\AIW_KBM.conda\envs\torch14\lib\multiprocessing\spawn.py", line 105, in spawn_main
exitcode = _main(fd)
File "C:\Users\AIW_KBM.conda\envs\torch14\lib\multiprocessing\spawn.py", line 115, in _main
self = reduction.pickle.load(from_parent)
EOFError: Ran out of input

Unfortunately, I am not able to reproduce this.
Can you give me some more information, i.e., the complete traceback (say for fmnist) and your OS?
It seems like you might have run the code on Windows.
In the current version, the code is only tested on Linux. It might work on other OSs, but there are no guarantees.

We have reproduced the error on Windows and applied some fixes to get rid of it.
The error was due to pickle's inability to deal with lambda expressions in Windows.
I pushed the fixes into the new branch 'windows' (https://github.com/liznerski/fcdd/tree/windows).
You might give it a try. If you still encounter problems, feel free to report them here.

P.S.: Thanks to @denix56 for locating the problem (#3).

I close this for now, as it seems to be fixed. Feel free to reopen if you still encounter problems.

When I train the custom dataset, I get a run out of input error, I am sure I am using the windows branch.
python runners/run_foodata.py --dataset foodata --net FCDD_CNN224_VGG --datadir ../../data/datasets

image

argparse_configs.py:
image

foodata.py:
image

run_foodata.py:
image

By the way, it is correct when training mvtec dataset...
@liznerski

There is a MVTec-AD specific implementation. Use this runner. The custom runner should probably also work if you set all configurations (including pre-processing) identically, but we've never tested this.

The error in Windows seems again due to some problem with pickle. I will look into this.