ctuning / ck-mlperf

This repository is outdated! Join the open MLPerf workgroup to participate in the development of the next generation of automation workflows for MLPerf benchmarks:
https://bit.ly/mlperf-edu-wg
BSD 3-Clause "New" or "Revised" License
32 stars 23 forks source link

ck package for ImageNet fails to install #43

Closed martinlightmatter closed 3 years ago

martinlightmatter commented 4 years ago

With the closing of the public download links for ImageNet (see discussion at https://github.com/pytorch/vision/issues/1453), the ck install package --tags=image-classification,dataset,imagenet,val,original,full command now fails.

psyhtest commented 4 years ago

Thanks @martinlightmatter. Unfortunately, the whole MLPerf community is stuck. Without a public link, we cannot fix this issue even with CK.

martinlightmatter commented 4 years ago

Yeah, I get that this isn't really something that can be fixed. It would probably be helpful to update the error message that is raised by the CK package though.

gfursin commented 4 years ago

Hi @martinlightmatter!

You are right. I updated those 2 CK packages (imagenet-2012-val and imagenet-2012-train) with the following error message:

D:\>ck install package:imagenet-2012-val

=============================================================================================
Unfortunately, ImageNet 2012 validation set is no longer publicly available
and this CK meta-package can not automatically download it!

See the related discussions:
* https://CodeReef.ai/portal/c/package/imagenet-2012-val
* https://github.com/pytorch/vision/issues/1453
* https://github.com/ctuning/ck-env/issues/101

However, if you already have it installed on your machine, you can detect
and register it to work with CK workflows using this command:

$ ck detect soft:dataset.imagenet.val --search_dir={directory where the dataset is installed}
=============================================================================================

CK error: [package] this package has a known problem - see the message above!

I uploaded the latest versions of those packages to the CodeReef platform:

You need to update your ck-env repo to see this message:

ck pull repo:ck-env

Thank you for your feedback!

martinlightmatter commented 4 years ago

Very helpful, thanks! I wasn’t aware of ck detect.

gfursin commented 4 years ago

You are welcome @martinlightmatter . You can find more details about our concept of "portable workflows" at https://github.com/ctuning/ck/wiki/Portable-workflows .

gfursin commented 3 years ago

I provided an extra note in both packages about how to download them via Academic Torrents and register in the CK. The fix is available in 2 repos:

vineetgarc commented 1 year ago

I ran into same issue, was able to find the imagenet database, untar'ed it and then tried the cmd ck detect soft:dataset.imagenet.val --search_dir={MYPATH}

But that doesn't seem sufficient: ck locate env --tags=image-classification,dataset,imagenet,val,original,full output is blank.

psyhtest commented 1 year ago

@vineetgarc Which version of CK are you using?

How about:

ck show env --tags=dataset,imagenet,val
vineetgarc commented 1 year ago

ctk version V2.6.1

$ ck show env --tags=dataset,imagenet,val
Env UID:         Target OS: Bits: Name:                         Version: Tags:

4e42f41ba9611989   linux-64    64 ImageNet dataset (validation)          2012,64bits,caffe,dataset,host-os-linux-64,image-classification,imagenet,jpg,original,raw,target-os-linux-64,val

So there is output but no path still which the other cmd would have.

ck locate env --tags=image-classification,dataset,imagenet,val,original,full

gfursin commented 1 year ago

@vineetgarc @martinlightmatter : just to let you know that we are developing the 2nd generation of the CK framework (CM) with the community within this open workgroup.

You can check how to download and register ImageNet using the new framework here.

Please feel free to provide feedback and join the WG if you need any help or want to participate in further developments ...

CC @arjunsuresh .

psyhtest commented 1 year ago

So there is output but no path still which the other cmd would have.

Yes, it's a known limitation for detected datasets. I suggest you define the path to ImageNet in an environment variable e.g.

$ export IMAGENET_DIR=/datasets/imagenet
$ echo "vfull" | ck detect soft:dataset.imagenet.val --extra_tags=ilsvrc2012,full \
    --full_path="$IMAGENET_DIR/ILSVRC2012_val_00000001.JPEG"

After all, ck locate env would do nothing more but return this path. Or you can parse the environment shell file (ck cat env --tags...) to extract it.