HazyResearch / safari

Convolutions for Sequence Modeling
Apache License 2.0
848 stars 70 forks source link

Pickling error with standalone_cifar #13

Open carbonox-infernox opened 1 year ago

carbonox-infernox commented 1 year ago

System:

Traceback:

==> Preparing data..
Downloading https://www.cs.toronto.edu/~kriz/cifar-10-python.tar.gz to ./data/cifar/cifar-10-python.tar.gz
100%|██████████| 170498071/170498071 [00:02<00:00, 60617744.05it/s]
Extracting ./data/cifar/cifar-10-python.tar.gz to ./data/cifar/
Files already downloaded and verified
Files already downloaded and verified
==> Building model..
Optimizer group 0 | 34 tensors | lr 0.01 | weight_decay 0.05
Optimizer group 1 | 6 tensors | lr 0.001 | weight_decay 0.0
Epoch: 0:   0%|          | 0/300 [00:00<?, ?it/s]
Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "C:\Users\RyanD\PycharmProjects\safari\standalone_cifar.py", line 264, in <module>
    train()
  File "C:\Users\RyanD\PycharmProjects\safari\standalone_cifar.py", line 199, in train
    pbar = tqdm(enumerate(trainloader))
                ^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\RyanD\AppData\Local\Programs\Python\Python311\Lib\site-packages\torch\utils\data\dataloader.py", line 442, in __iter__
    return self._get_iterator()
           ^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\RyanD\AppData\Local\Programs\Python\Python311\Lib\site-packages\torch\utils\data\dataloader.py", line 388, in _get_iterator
    return _MultiProcessingDataLoaderIter(self)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\RyanD\AppData\Local\Programs\Python\Python311\Lib\site-packages\torch\utils\data\dataloader.py", line 1043, in __init__
    w.start()
  File "C:\Users\RyanD\AppData\Local\Programs\Python\Python311\Lib\multiprocessing\process.py", line 121, in start
    self._popen = self._Popen(self)
                  ^^^^^^^^^^^^^^^^^
  File "C:\Users\RyanD\AppData\Local\Programs\Python\Python311\Lib\multiprocessing\context.py", line 224, in _Popen
    return _default_context.get_context().Process._Popen(process_obj)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\RyanD\AppData\Local\Programs\Python\Python311\Lib\multiprocessing\context.py", line 336, in _Popen
    return Popen(process_obj)
           ^^^^^^^^^^^^^^^^^^
  File "C:\Users\RyanD\AppData\Local\Programs\Python\Python311\Lib\multiprocessing\popen_spawn_win32.py", line 94, in __init__
    reduction.dump(process_obj, to_child)
  File "C:\Users\RyanD\AppData\Local\Programs\Python\Python311\Lib\multiprocessing\reduction.py", line 60, in dump
    ForkingPickler(file, protocol).dump(obj)
_pickle.PicklingError: Can't pickle <function <lambda> at 0x00000160ACB009A0>: attribute lookup <lambda> on __main__ failed
josmithiii commented 1 year ago

I get this as well on my Mac, over a range of Python releases and on the initial commit of this repo. I apparently got farther with other experiments such as python -m train experiment=lra/long-conv-lra-imdb, which ran into aten::_fft_r2c missing. Evidently this repo has never worked on a Mac using Metal.