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
Use typing.Sequence to check types of sample and ratio arguments instead of (list, tuple) in transforms.RandomErase class.
Motivation, pitch
As I see all other transforms use typing.Sequence to ensure that sequences were passed where needed (e.g. Normalize, transforms.RandomResizedCrop and so on). However isinstance(scale, (tuple, list)) (and same for ratio) is used in RandomErase.
This, for example, leads to impossibility of instantiating this transform from config using hydra.instantiate, because scale then has OmegaConf.ListConfig type which is a Sequence, but not tuple or float and causes TypeError.
Alternatives
No response
Additional context
No response
The text was updated successfully, but these errors were encountered:
Thanks for the proposal @lqrhy3, happy to consider a PR. Sometimes, we have to use weird / wrong type check and annotation because of torchscript support. Not sure if that applies here, but that could be a reason why it was done this way in the first place.
Also note that we should mostly just update transforms.v2.RandomErasing instead of transforms.RandomErasing. We can update the latter if it doesn't take too much effort, but the old "v1" namespace is discouraged in favor of v2 now.
🚀 The feature
Use typing.Sequence to check types of
sample
andratio
arguments instead of (list, tuple) in transforms.RandomErase class.Motivation, pitch
As I see all other transforms use typing.Sequence to ensure that sequences were passed where needed (e.g. Normalize, transforms.RandomResizedCrop and so on). However
isinstance(scale, (tuple, list))
(and same for ratio) is used in RandomErase.This, for example, leads to impossibility of instantiating this transform from config using
hydra.instantiate
, becausescale
then hasOmegaConf.ListConfig
type which is aSequence
, but nottuple
orfloat
and causesTypeError
.Alternatives
No response
Additional context
No response
The text was updated successfully, but these errors were encountered: