Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix both document and a bug for RandomCrop (#1389)
* fix both document and a bug for RandomCrop `RandomCrop` pad first and then crop, not what is said in the document or even CIFAR tutorials. further, an error occurs with the default `pad=None` ``` >>> for i in train_data:break ... multiprocessing.pool.RemoteTraceback: """ Traceback (most recent call last): File "/usr/lib/python3.8/multiprocessing/pool.py", line 125, in worker result = (True, func(*args, **kwds)) File "/home/neutron/.local/lib/python3.8/site-packages/mxnet/gluon/data/dataloader.py", line 450, in _worker_fn batch = batchify_fn([_worker_dataset[i] for i in samples]) File "/home/neutron/.local/lib/python3.8/site-packages/mxnet/gluon/data/dataloader.py", line 450, in <listcomp> batch = batchify_fn([_worker_dataset[i] for i in samples]) File "/home/neutron/.local/lib/python3.8/site-packages/mxnet/gluon/data/dataset.py", line 219, in __getitem__ return self._fn(*item) File "/home/neutron/.local/lib/python3.8/site-packages/mxnet/gluon/data/dataset.py", line 230, in __call__ return (self._fn(x),) + args File "/home/neutron/.local/lib/python3.8/site-packages/mxnet/gluon/block.py", line 693, in __call__ out = self.forward(*args) File "/home/neutron/.local/lib/python3.8/site-packages/mxnet/gluon/nn/basic_layers.py", line 55, in forward x = block(x) File "/home/neutron/.local/lib/python3.8/site-packages/mxnet/gluon/block.py", line 693, in __call__ out = self.forward(*args) File "/home/neutron/.local/lib/python3.8/site-packages/gluoncv/data/transforms/block.py", line 75, in forward return image.random_crop(nd.array(x_pad), *self._args)[0] UnboundLocalError: local variable 'x_pad' referenced before assignment """ The above exception was the direct cause of the following exception: Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/home/neutron/.local/lib/python3.8/site-packages/mxnet/gluon/data/dataloader.py", line 505, in __next__ batch = pickle.loads(ret.get(self._timeout)) File "/usr/lib/python3.8/multiprocessing/pool.py", line 771, in get raise self._value UnboundLocalError: local variable 'x_pad' referenced before assignment ``` This PR is intend to fix both the document and the BUG which caused `pad` cannot be optional. * make pylint happy. make pylint happy. * happy-2 happy-2 * remove monkey patch I just think monkey patch may goes faster than the useless switch in the forward step * make checkers happy
- Loading branch information