graphics icon indicating copy to clipboard operation
graphics copied to clipboard

tensorflow_graphics.datasets.modelnet40

Open taiya opened this issue 4 years ago • 3 comments

Security certificate on the Stanford side is expired, so auto-download of resources fails.

Major hack to get it working in the meantime:

  1. download https://shapenet.cs.stanford.edu/media/modelnet40_ply_hdf5_2048.zip manually
  2. in the download folder, start a server with python3 -m http.server 8080
  3. modify _URL in tensorflow_graphics/datasets/modelnet40/modelnet40.pyto be _URL = 'http://localhost:8080/modelnet40_ply_hdf5_2048.zip'
  4. allow dataset to be built by executing
from tensorflow_graphics.datasets.modelnet40 import ModelNet40
ds_train, info = ModelNet40.load(split='train', with_info=True)
  1. after this, ensure you do not re-download:
data_dir = '~/tensorflow_datasets'
ds_train, info = ModelNet40.load(split='train', with_info=True, data_dir=data_dir, download=False)

taiya avatar Aug 13 '21 00:08 taiya

Pretty sure this can be resolved using tfds.download.DownloadConfig with verify_ssl=False.

jackd avatar Aug 13 '21 00:08 jackd

If the error message would have told me that, I would have saved 1h of my time :) Just left a trace for others that might run into this.

@Conchylicultor perhaps that's something to consider?

In any case, we need to contact the Stanford folks and get this fixed. That's the primary reason for opening the bug.

taiya avatar Aug 13 '21 00:08 taiya

@jackd

Trying with the below code still throws SSL error

from tensorflow_graphics.datasets.modelnet40 import ModelNet40
import tensorflow_datasets as tfds
dl_config = tfds.download.DownloadConfig()
dl_config.verify_ssl = False
dataset = ModelNet40()
dataset.download_and_prepare(download_config=dl_config)

This throws SSL error too

dataset.load(split='train',  download_and_prepare_kwargs={'download_config': dl_config})

Also

tfds.download.DownloadConfig(verify_ssl = False)

throws an unexpected argument error

EDIT: my bad, was using an older version of TFDS. With v4.5.2 the below code works

import tensorflow_datasets as tfds
from tensorflow_graphics.datasets.modelnet40 import ModelNet40
dl_config = tfds.download.DownloadConfig(verify_ssl=False)
dataset = ModelNet40()
train_ds = dataset.load(split = 'train', download_and_prepare_kwargs={'download_config': dl_config}, with_info=True)

ma7555 avatar Mar 01 '22 00:03 ma7555