Skip to content

Compare the value of DatasetMode enum, instead of Enum itself directly - #167

Closed
ankuPRK wants to merge 1 commit into
prs-eth:mainfrom
ankuPRK:fix-enum-matching
Closed

Compare the value of DatasetMode enum, instead of Enum itself directly#167
ankuPRK wants to merge 1 commit into
prs-eth:mainfrom
ankuPRK:fix-enum-matching

Conversation

@ankuPRK

@ankuPRK ankuPRK commented Dec 3, 2025

Copy link
Copy Markdown

Hello, thanks so much for your contribution Marigold!

While working with the datasets, I found that the code was never going inside this if condition:

rasters = self._training_preprocess(rasters)

Turns out, the DatasetMode enum defined at src/dataset/init.py which is used in train scripts comes from depth dataset:

DatasetMode,

Which gets compared to the DatasetMode enum defined at src/dataset/base_normals_dataset.py

class DatasetMode(Enum):

This evaluates to False. Example:

>>> from src.dataset import DatasetMode as DatasetModeBase
>>> from src.dataset.base_depth_dataset import DatasetMode as DatasetModeDepth
>>> from src.dataset.base_normals_dataset import DatasetMode as DatasetModeNormals
>>> from src.dataset.base_iid_dataset import DatasetMode as DatasetModeIID
>>> DatasetModeBase.TRAIN == DatasetModeDepth.TRAIN
True
>>> DatasetModeBase.TRAIN == DatasetModeNormals.TRAIN
False
>>> DatasetModeBase.TRAIN == DatasetModeIID.TRAIN
False

It has a very simple fix: We should compare enum value instead:

>>> DatasetModeBase.TRAIN.value == DatasetModeDepth.TRAIN.value
True
>>> DatasetModeBase.TRAIN.value == DatasetModeNormals.TRAIN.value
True
>>> DatasetModeBase.TRAIN.value == DatasetModeIID.TRAIN.value
True
>>> DatasetModeBase.EVAL.value == DatasetModeIID.TRAIN.value
False

@markkua

markkua commented Dec 10, 2025

Copy link
Copy Markdown
Member

Thanks for catching this issue. I've created a fix at #168

@markkua markkua closed this Dec 10, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants