Skip to content
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

Remove all references to LevelDB #203

Merged
merged 1 commit into from Aug 10, 2015

Conversation

lukeyeager
Copy link
Member

@crohkohl partially addressed this in #199 for the sake of platforms where LevelDB isn't supported. This takes his partial solution to its logical extension. You can't actually use LevelDB with DIGITS anyway, so I think we should just go ahead and remove all references to it.

It's not supported anyway
@lukeyeager lukeyeager mentioned this pull request Aug 7, 2015
@crohkohl
Copy link

crohkohl commented Aug 7, 2015

One question regarding this topic:

 self.db = lmdb.open(self.output_path,
                    map_size=1000000000000, # ~1TB
                    map_async=True,
                    max_dbs=0)

This 1 TB is quite a lot which is allocated for each and every dataset. Should this be made configurable?

@lukeyeager
Copy link
Member Author

1 TB is quite a lot

I agree it's a bit ridiculous. Has it caused a problem for you?

It does cause problems on 32-bit systems:
BVLC/caffe#1298
BVLC/caffe#2293

And it may cause problems on non-linux platforms:
https://groups.google.com/forum/#!topic/caffe-users/0RKsTTYRGpQ

But it seems to be the consensus choice for 64-bit systems:
https://lmdb.readthedocs.org/en/release/#environment-class
https://github.com/BVLC/caffe/blob/eeb428e380/src/caffe/util/db_lmdb.cpp#L9

Should this be made configurable?

That certainly seems reasonable.

@crohkohl
Copy link

crohkohl commented Aug 8, 2015

Well I tried to create the mnist dataset on my machine and failed. I "only" had 1.5 tb of free space. But alone for 1 validation and 1 train set 2 TB of space are required.
I think it is unreasonable to assume that everybody can spare 2 TB for every imported dataset.
MNIST actually requires < 1 GB of memory but still would consume 2 TB.

@d4nst
Copy link

d4nst commented Aug 9, 2015

I have also been trying to port DIGITS to windows and I can confirm that if you don't have enough space the 1TB map size fails. It seems that this is the behaviour on windows though... when I create the MNIST dataset with 1GB as map size, it creates a folder of 1Gb, whereas the leveldb version is only 47 mb.

lukeyeager added a commit that referenced this pull request Aug 10, 2015
Remove all references to LevelDB
@lukeyeager lukeyeager merged commit 3d2c137 into NVIDIA:master Aug 10, 2015
@lukeyeager lukeyeager deleted the remove-leveldb branch August 10, 2015 17:09
@lukeyeager lukeyeager mentioned this pull request Aug 10, 2015
@lukeyeager
Copy link
Member Author

Branched the LMDB discussion out into #206 since it's not really relevant to this pull request.

@sidnt sidnt mentioned this pull request Jan 6, 2020
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.

None yet

3 participants