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

Error in calibration step: hv.extensions("bokeh") #185

Open
SaptNskr2023 opened this issue Dec 27, 2024 · 2 comments
Open

Error in calibration step: hv.extensions("bokeh") #185

SaptNskr2023 opened this issue Dec 27, 2024 · 2 comments

Comments

@SaptNskr2023
Copy link

Hi! I'm new to keypoint moseq and trying to run the DLC DEMO data in jupyter lab.
The calibration step keeps running into the following error. Any help would be greatly appreciated. Thanks.

input: kpms.noise_calibration(project_dir, coordinates, confidences, **config())

output:
Loading sample frames: 100%|████████████| 90/90 [00:01<00:00, 76.50it/s]
WARNING:param.notebook_extension: Holoviews bokeh extension could not be imported, it raised the following exception: ValueError('ClassSelector parameter None value must be an instance of (function, tuple), not <function size at 0x0000023F4C460E30>.')
WARNING:param.notebook_extension:Holoviews bokeh extension could not be imported, it raised the following exception: ValueError('ClassSelector parameter None value must be an instance of (function, tuple), not <function size at 0x0000023F4C460E30>.')

ImportError Traceback (most recent call last)
Cell In[6], line 1
----> 1 kpms.noise_calibration(project_dir, coordinates, confidences, **config())

File ~\AppData\Local\anaconda3\envs\keypoint_moseq\lib\site-packages\keypoint_moseq\calibration.py:557, in noise_calibration(project_dir, coordinates, confidences, bodyparts, use_bodyparts, video_dir, video_extension, conf_pseudocount, video_frame_indexes, **kwargs)
548 sample_keys.extend(annotations.keys())
550 sample_images = load_sampled_frames(
551 sample_keys,
552 video_dir,
553 video_frame_indexes,
554 video_extension,
555 )
--> 557 return _noise_calibration_widget(
558 project_dir,
559 coordinates,
560 confidences,
561 sample_keys,
562 sample_images,
563 annotations,
564 bodyparts=bodyparts,
565 **kwargs,
566 )

File ~\AppData\Local\anaconda3\envs\keypoint_moseq\lib\site-packages\keypoint_moseq\calibration.py:220, in _noise_calibration_widget(project_dir, coordinates, confidences, sample_keys, sample_images, annotations, keypoint_colormap, bodyparts, skeleton, error_estimator, conf_threshold, **kwargs)
217 import panel as pn
218 from bokeh.models import GlyphRenderer, ImageRGBA, Scatter, GraphRenderer
--> 220 hv.extension("bokeh")
222 max_height = np.max([sample_images[k].shape[0] for k in sample_keys])
223 max_width = np.max([sample_images[k].shape[1] for k in sample_keys])

File ~\AppData\Local\anaconda3\envs\keypoint_moseq\lib\site-packages\pyviz_comms_init_.py:64, in extension.new(cls, *args, **kwargs)
62 except Exception:
63 pass
---> 64 return param.ParameterizedFunction.new(cls, *args, **kwargs)

File ~\AppData\Local\anaconda3\envs\keypoint_moseq\lib\site-packages\param\parameterized.py:3658, in ParameterizedFunction.new(class_, *args, **params)
3656 inst = class_.instance()
3657 inst.param.set_name(class.name)
-> 3658 return inst.call(*args,**params)

File ~\AppData\Local\anaconda3\envs\keypoint_moseq\lib\site-packages\holoviews\ipython_init_.py:115, in notebook_extension.call(self, *args, **params)
113 def call(self, *args, **params):
114 comms = params.pop('comms', None)
--> 115 super().call(*args, **params)
116 # Abort if IPython not found
117 try:

File ~\AppData\Local\anaconda3\envs\keypoint_moseq\lib\site-packages\holoviews\util_init_.py:716, in extension.call(self, *args, **params)
711 self.param.warning('%s backend hook %s failed with '
712 'following exception: %s' %
713 (backend, hook, e))
715 if selected_backend is None:
--> 716 raise ImportError('None of the backends could be imported')
717 Store.set_current_backend(selected_backend)

ImportError: None of the backends could be imported

@calebweinreb
Copy link
Contributor

Hi, this is a know issue and we're not sure yet of the workaround. We are planning to overhaul the calibration widget in a future release. In the meantime, this step can safely be skipped.

@eringiglio
Copy link

eringiglio commented Dec 30, 2024

Just commenting to remind myself--I got stuck here importing from SLEAP, too, so I really appreciate the clarity re the existing isssue! If another set of logs would be helpful, let me know and I can go ahead and upload mine.

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

No branches or pull requests

3 participants