Skip to content

Fix edit of default values #3620

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

terziman
Copy link

Fixed instantiation of VanillaDataManager and ParallelDataManager to avoid modifying the default values of exclude_batch_keys_from_device from InputDataset.

In previous implementation, if masks_on_gpu is true, values are removed from the array. However, the variable contains a reference to the default array in InputDataset. Therefore, the default array is modified, and next instantiations of any InputDataset will have a truncated array without the removed value. Next VanillaDataManager or ParallelDataManager instantiation will then fail to remove the value from the array (because the array does not have it anymore) and will raise an exception aborting everything.

I initially encountered this bug on FullImageDatamanager on the current version of pip package, but the offending code have been removed on master. I have no clue if it was it a quick and dirty fix to this problem or if this code was useless to begin with. This bug is only exhibited when using directly the python API and chaining multiple process. In my case, it happended after calling the train.main method with the splatfacto config, then reloading this config in ExportGaussianSplat to save the ply file.

Fixed instantiation of VanillaDataManager to avoid modifying the default values of exclude_batch_keys_from_device.

In previous implementation, if masks_on_gpu is true, values are removed from the array. However, the variable contains a reference to the default array in InputDataset. Therefore, the default array is modified, and next instantiations of any InputDataset will have a truncated array without the removed value. Next VanillaDataManager instantiation will then fail to remove the value from the array (because the array does not have it anymore) and will raise an exception aborting everything.
Fixed instantiation of ParallelDataManager to avoid modifying the default values of exclude_batch_keys_from_device.

In previous implementation, if masks_on_gpu is true, values are removed from the array. However, the variable contains a reference to the default array in InputDataset. Therefore, the default array is modified, and next instantiations of any InputDataset will have a truncated array without the removed value. Next ParallelDataManager instantiation will then fail to remove the value from the array (because the array does not have it anymore) and will raise an exception aborting everything.
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.

1 participant