dandi / dandi-hub

Infrastructure and code for the dandihub
https://hub.dandiarchive.org
Other
9 stars 23 forks source link

testhub doesn't have ros3 enabled #27

Closed bendichter closed 2 years ago

bendichter commented 2 years ago
s3_path = 'https://dandiarchive.s3.amazonaws.com/blobs/33f/72b/33f72ba7-5ad8-4e42-b52b-e3a6b309aefd'
io = NWBHDF5IO(s3_path, mode='r', load_namespaces=True, driver='ros3')
---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
/opt/conda/lib/python3.9/site-packages/h5py/_hl/files.py in make_fapl(driver, libver, rdcc_nslots, rdcc_nbytes, rdcc_w0, **kwds)
    134     try:
--> 135         set_fapl = _drivers[driver]
    136     except KeyError:

KeyError: 'ros3'

During handling of the above exception, another exception occurred:

ValueError                                Traceback (most recent call last)
/tmp/ipykernel_476/2308709919.py in <module>
      1 s3_path = 'https://dandiarchive.s3.amazonaws.com/blobs/33f/72b/33f72ba7-5ad8-4e42-b52b-e3a6b309aefd'
----> 2 io = NWBHDF5IO(s3_path, mode='r', load_namespaces=True, driver='ros3')

/opt/conda/lib/python3.9/site-packages/hdmf/utils.py in func_call(*args, **kwargs)
    581             def func_call(*args, **kwargs):
    582                 pargs = _check_args(args, kwargs)
--> 583                 return func(args[0], **pargs)
    584         else:
    585             def func_call(*args, **kwargs):

/opt/conda/lib/python3.9/site-packages/pynwb/__init__.py in __init__(self, **kwargs)
    228 
    229             tm = get_type_map()
--> 230             super(NWBHDF5IO, self).load_namespaces(tm, path, file=file_obj, driver=driver)
    231             manager = BuildManager(tm)
    232 

/opt/conda/lib/python3.9/site-packages/hdmf/utils.py in func_call(*args, **kwargs)
    581             def func_call(*args, **kwargs):
    582                 pargs = _check_args(args, kwargs)
--> 583                 return func(args[0], **pargs)
    584         else:
    585             def func_call(*args, **kwargs):

/opt/conda/lib/python3.9/site-packages/hdmf/backends/hdf5/h5tools.py in load_namespaces(cls, **kwargs)
    142             'namespace_catalog', 'path', 'namespaces', 'file', 'driver', kwargs)
    143 
--> 144         open_file_obj = cls.__resolve_file_obj(path, file_obj, driver)
    145         if file_obj is None:  # need to close the file object that we just opened
    146             with open_file_obj:

/opt/conda/lib/python3.9/site-packages/hdmf/backends/hdf5/h5tools.py in __resolve_file_obj(path, file_obj, driver)
    117             if driver is not None:
    118                 file_kwargs.update(driver=driver)
--> 119             file_obj = File(path, 'r', **file_kwargs)
    120         return file_obj
    121 

/opt/conda/lib/python3.9/site-packages/h5py/_hl/files.py in __init__(self, name, mode, driver, libver, userblock_size, swmr, rdcc_nslots, rdcc_nbytes, rdcc_w0, track_order, fs_strategy, fs_persist, fs_threshold, **kwds)
    421 
    422             with phil:
--> 423                 fapl = make_fapl(driver, libver, rdcc_nslots, rdcc_nbytes, rdcc_w0, **kwds)
    424                 fid = make_fid(name, mode, userblock_size,
    425                                fapl, fcpl=make_fcpl(track_order=track_order, fs_strategy=fs_strategy,

/opt/conda/lib/python3.9/site-packages/h5py/_hl/files.py in make_fapl(driver, libver, rdcc_nslots, rdcc_nbytes, rdcc_w0, **kwds)
    135         set_fapl = _drivers[driver]
    136     except KeyError:
--> 137         raise ValueError('Unknown driver type "%s"' % driver)
    138     else:
    139         set_fapl(plist, **kwds)

ValueError: Unknown driver type "ros3"

the same lines run without error on the non-test hub

satra commented 2 years ago

is this on the GPU pod?

bendichter commented 2 years ago

edit: Yes, this is specifically a problem with the GPU pod and not the others ones I have tried.

I just ran this code in a non-GPU pod and it worked fine, so I'm going to go with "yes." I'm restarting with a GPU pod to confirm

satra commented 2 years ago

this is now fixed. i had to remove tensorflow and pytorch since tensorflow pins h5py to 3.1.0. also removing it reduces the size of the image in half :)

this simply means people can use containers or install those libraries on their own.

yarikoptic commented 2 years ago

@satra said it was fixed and I do not think we had discussions on this topic recently, so must be fixed really