Skip to content

Comments

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

Closed
ankuPRK wants to merge 1 commit intoprs-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 intoprs-eth:mainfrom
ankuPRK:fix-enum-matching

Conversation

@ankuPRK
Copy link

@ankuPRK ankuPRK commented Dec 3, 2025

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
Copy link
Member

markkua commented Dec 10, 2025

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