spikeinterface: Dump error in Lussac

Hi,

In my algorithm (Lussac v2.0), something worked before but doesn’t anymore after the updates 😕

When trying to export the waveforms on a complex sorting object, this is the error I have:

Traceback (most recent call last):
  File "/users/nsr/wyngaard/dev/miniconda3/envs/lussac2/bin/lussac", line 33, in <module>
    sys.exit(load_entry_point('lussac', 'console_scripts', 'lussac')())
  File "/export/home1/users/nsr/wyngaard/Documents/lussac2/lussac/main.py", line 58, in main
    pipeline.launch()
  File "/export/home1/users/nsr/wyngaard/Documents/lussac2/lussac/core/pipeline.py", line 47, in launch
    self._run_mono_sorting_module(module, module_key, category, params)
  File "/export/home1/users/nsr/wyngaard/Documents/lussac2/lussac/core/pipeline.py", line 86, in _run_mono_sorting_module
    sub_sorting = module_instance.run(params0)
  File "/export/home1/users/nsr/wyngaard/Documents/lussac2/lussac/modules/remove_bad_units.py", line 42, in run
    self._plot_bad_units(bad_sorting, reasons_for_removal)
  File "/export/home1/users/nsr/wyngaard/Documents/lussac2/lussac/modules/remove_bad_units.py", line 54, in _plot_bad_units
    wvf_extractor = self.extract_waveforms(sorting=bad_sorting, ms_before=1.5, ms_after=2.5, max_spikes_per_unit=500)
  File "/export/home1/users/nsr/wyngaard/Documents/lussac2/lussac/core/module.py", line 176, in extract_waveforms
    return si.extract_waveforms(recording, sorting, folder_path, allow_unfiltered=True, **params)
  File "/export/home1/users/nsr/wyngaard/dev/spikeinterface/spikeinterface/src/spikeinterface/core/waveform_extractor.py", line 1446, in extract_waveforms
    we = WaveformExtractor.create(recording, sorting, folder, mode=mode, use_relative_path=use_relative_path,
  File "/export/home1/users/nsr/wyngaard/dev/spikeinterface/spikeinterface/src/spikeinterface/core/waveform_extractor.py", line 279, in create
    sorting.dump(folder / 'sorting.json', relative_to=relative_to)
  File "/export/home1/users/nsr/wyngaard/dev/spikeinterface/spikeinterface/src/spikeinterface/core/base.py", line 459, in dump
    self.dump_to_json(file_path, relative_to=relative_to, folder_metadata=folder_metadata)
  File "/export/home1/users/nsr/wyngaard/dev/spikeinterface/spikeinterface/src/spikeinterface/core/base.py", line 485, in dump_to_json
    json.dumps(dump_dict, indent=4, cls=SIJsonEncoder),
  File "/users/nsr/wyngaard/dev/miniconda3/envs/lussac2/lib/python3.10/json/__init__.py", line 238, in dumps
    **kw).encode(obj)
  File "/users/nsr/wyngaard/dev/miniconda3/envs/lussac2/lib/python3.10/json/encoder.py", line 201, in encode
    chunks = list(chunks)
  File "/users/nsr/wyngaard/dev/miniconda3/envs/lussac2/lib/python3.10/json/encoder.py", line 431, in _iterencode
    yield from _iterencode_dict(o, _current_indent_level)
  File "/users/nsr/wyngaard/dev/miniconda3/envs/lussac2/lib/python3.10/json/encoder.py", line 405, in _iterencode_dict
    yield from chunks
  File "/users/nsr/wyngaard/dev/miniconda3/envs/lussac2/lib/python3.10/json/encoder.py", line 405, in _iterencode_dict
    yield from chunks
  File "/users/nsr/wyngaard/dev/miniconda3/envs/lussac2/lib/python3.10/json/encoder.py", line 439, in _iterencode
    yield from _iterencode(o, _current_indent_level)
  File "/users/nsr/wyngaard/dev/miniconda3/envs/lussac2/lib/python3.10/json/encoder.py", line 431, in _iterencode
    yield from _iterencode_dict(o, _current_indent_level)
  File "/users/nsr/wyngaard/dev/miniconda3/envs/lussac2/lib/python3.10/json/encoder.py", line 405, in _iterencode_dict
    yield from chunks
  File "/users/nsr/wyngaard/dev/miniconda3/envs/lussac2/lib/python3.10/json/encoder.py", line 405, in _iterencode_dict
    yield from chunks
  File "/users/nsr/wyngaard/dev/miniconda3/envs/lussac2/lib/python3.10/json/encoder.py", line 376, in _iterencode_dict
    raise TypeError(f'keys must be str, int, float, bool or None, '
TypeError: keys must be str, int, float, bool or None, not int64

Sorry I don’t have a good ‘least reproducible steps’ …

About this issue

  • Original URL
  • State: closed
  • Created a year ago
  • Comments: 18 (9 by maintainers)

Most upvoted comments

@DradeAW Thanks, I can reproduce the error now locally. I will come back to you as soon as I solve it.