You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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
0 commit comments