Hi,
My data directory is set like this:
.
|-- test
`-- train
|-- nok
|-- ok
`-- unsure
With the following specification, test
folder contains batch of files in disorder, and of course unlabeled.
When I’m using ImageDataBunch.from_folder()
like the following:
data = ImageDataBunch.from_folder(path,
ds_tfms=get_transforms(), valid_pct=0.2, size=224, num_workers=4, bs=bs, test="test").normalize()
I get the expected following result (in terms of separation):
ImageDataBunch;
Train: LabelList
y: CategoryList (923 items)
[Category ok, Category ok, Category ok, Category ok, Category ok]...
Path: data
x: ImageItemList (923 items)
[Image (3, 960, 1280), Image (3, 960, 1280), Image (3, 960, 1280), Image (3, 960, 1280), Image (3, 960, 1280)]...
Path: data;
Valid: LabelList
y: CategoryList (230 items)
[Category test, Category test, Category nok, Category ok, Category nok]...
Path: data
x: ImageItemList (230 items)
[Image (3, 960, 1280), Image (3, 960, 1280), Image (3, 960, 1280), Image (3, 960, 1280), Image (3, 960, 1280)]...
Path: data;
Test: LabelList
y: EmptyLabelList (478 items)
[EmptyLabel , EmptyLabel , EmptyLabel , EmptyLabel , EmptyLabel ]...
Path: .
x: ImageItemList (478 items)
[Image (3, 960, 1280), Image (3, 960, 1280), Image (3, 960, 1280), Image (3, 960, 1280), Image (3, 960, 1280)]...
Path: data
However when calling the classes I get with data.classes
I get: ['nok', 'ok', 'test', 'unsure']
i.e. the framework assumes test
is now a label of my data, and messes up my classification model.
If i remove the keyword test="test"
, I end up having a Test: None
data set, but I still have the test
label on my data.
Am I missing something?
Thanks for your help, much appreciated