Closed lqrhy3 closed 2 weeks ago
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.
created PR https://github.com/pytorch/vision/pull/8615
Looks like this can be closed now that https://github.com/pytorch/vision/pull/8615 is merged. Thanks @lqrhy3 for the issue and @venkatram-dev for the PR!
🚀 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 usinghydra.instantiate
, becausescale
then hasOmegaConf.ListConfig
type which is aSequence
, but nottuple
orfloat
and causesTypeError
.Alternatives
No response
Additional context
No response