cortex-lab / KiloSort

GPU code for spike sorting
GNU General Public License v2.0
175 stars 100 forks source link

saving results to phy not working: "Error using - Invalid type of input arguments (should be uint64)" #249

Closed jjtukker closed 2 years ago

jjtukker commented 2 years ago

hi, I'm running kilosort 3 from within SpikeInterface (Python 3.8) on Ubuntu, and it is ALMOST working but then fails at the saving stage with an error I cannot make any sense of. Would really appreciate any input, many thanks in advance.

sorting_KS3 = ss.run_kilosort3(recording_saved,

                          output_folder='results_KS3',

                          verbose=True)

write_binary_recording: 100%|##############################################| 1/1 [00:09<00:00, 9.78s/it]

KilosortBase._run_from_folder <class 'spikeinterface.sorters.kilosort3.kilosort3.Kilosort3Sorter'> RUNNING SHELL SCRIPT: results_KS3/run_kilosort3.sh

                        < M A T L A B (R) >

              Copyright 1984-2021 The MathWorks, Inc.

         R2021a Update 1 (9.10.0.1649659) 64-bit (glnxa64)

                           April 13, 2021

                        < M A T L A B (R) >

              Copyright 1984-2021 The MathWorks, Inc.

         R2021a Update 1 (9.10.0.1649659) 64-bit (glnxa64)

                           April 13, 2021

To get started, type doc.

To get started, type doc.

For product information, visit www.mathworks.com.

For product information, visit www.mathworks.com.

welcome!

welcome!

this works it is a unix machine

this works it is a unix machine

Warning: Function isequaln has the same name as a MATLAB builtin. We suggest

you rename the function to avoid a potential name conflict.

In path (line 109)

In addpath (line 86)

In startup (line 36)

Warning: Function isequaln has the same name as a MATLAB builtin. We suggest

you rename the function to avoid a potential name conflict.

In path (line 109)

In addpath (line 86)

In startup (line 36)

Warning: Function contains has the same name as a MATLAB builtin. We suggest

you rename the function to avoid a potential name conflict.

In path (line 109)

In addpath (line 86)

In startup (line 36)

Warning: Function contains has the same name as a MATLAB builtin. We suggest

you rename the function to avoid a potential name conflict.

In path (line 109)

In addpath (line 86)

In startup (line 36)

Warning: Function endsWith has the same name as a MATLAB builtin. We suggest

you rename the function to avoid a potential name conflict.

In path (line 109)

In addpath (line 86)

In startup (line 36)

Warning: Function endsWith has the same name as a MATLAB builtin. We suggest

you rename the function to avoid a potential name conflict.

In path (line 109)

In addpath (line 86)

In startup (line 36)

Warning: Function newline has the same name as a MATLAB builtin. We suggest you

rename the function to avoid a potential name conflict.

In path (line 109)

In addpath (line 86)

In startup (line 36)

Warning: Function newline has the same name as a MATLAB builtin. We suggest you

rename the function to avoid a potential name conflict.

In path (line 109)

In addpath (line 86)

In startup (line 36)

Warning: Function startsWith has the same name as a MATLAB builtin. We suggest

you rename the function to avoid a potential name conflict.

In path (line 109)

In addpath (line 86)

In startup (line 36)

Warning: Function startsWith has the same name as a MATLAB builtin. We suggest

you rename the function to avoid a potential name conflict.

In path (line 109)

In addpath (line 86)

In startup (line 36)

Warning: Function isfile has the same name as a MATLAB builtin. We suggest you

rename the function to avoid a potential name conflict.

In path (line 109)

In addpath (line 86)

In startup (line 36)

Warning: Function isfile has the same name as a MATLAB builtin. We suggest you

rename the function to avoid a potential name conflict.

In path (line 109)

In addpath (line 86)

In startup (line 36)

Warning: Function isfolder has the same name as a MATLAB builtin. We suggest

you rename the function to avoid a potential name conflict.

In path (line 109)

In addpath (line 86)

In startup (line 36)

Warning: Function isfolder has the same name as a MATLAB builtin. We suggest

you rename the function to avoid a potential name conflict.

In path (line 109)

In addpath (line 86)

In startup (line 36)

Warning: Function contains has the same name as a MATLAB builtin. We suggest

you rename the function to avoid a potential name conflict.

In path (line 109)

In addpath (line 86)

In startup (line 36)

Warning: Function contains has the same name as a MATLAB builtin. We suggest

you rename the function to avoid a potential name conflict.

In path (line 109)

In addpath (line 86)

In startup (line 36)

Warning: Function isfile has the same name as a MATLAB builtin. We suggest you

rename the function to avoid a potential name conflict.

In path (line 109)

In addpath (line 86)

In startup (line 36)

Warning: Function isfile has the same name as a MATLAB builtin. We suggest you

rename the function to avoid a potential name conflict.

In path (line 109)

In addpath (line 86)

In startup (line 36)

Warning: Function isfolder has the same name as a MATLAB builtin. We suggest

you rename the function to avoid a potential name conflict.

In path (line 109)

In addpath (line 86)

In startup (line 36)

Warning: Function isfolder has the same name as a MATLAB builtin. We suggest

you rename the function to avoid a potential name conflict.

In path (line 109)

In addpath (line 86)

In startup (line 36)

Warning: Function isstring has the same name as a MATLAB builtin. We suggest

you rename the function to avoid a potential name conflict.

In path (line 109)

In addpath (line 86)

In startup (line 36)

Warning: Function isstring has the same name as a MATLAB builtin. We suggest

you rename the function to avoid a potential name conflict.

In path (line 109)

In addpath (line 86)

In startup (line 36)

Time 1s. Computing whitening matrix..

Time 1s. Computing whitening matrix..

Getting channel whitening matrix...

Getting channel whitening matrix...

Channel-whitening matrix computed.

Channel-whitening matrix computed.

Time 4s. Loading raw data and applying filters...

Time 4s. Loading raw data and applying filters...

Time 12s. Finished preprocessing 92 batches.

Time 12s. Finished preprocessing 92 batches.

vertical pitch size is 1.250000e+01

vertical pitch size is 1.250000e+01

horizontal pitch size is 5

horizontal pitch size is 5

Columns 1 through 3

               0   2.500000000000000   5.000000000000000

Columns 4 through 6

7.500000000000000 10.000000000000000 12.500000000000000

Columns 7 through 9

15.000000000000000 17.500000000000000 20.000000000000000

Column 10

22.500000000000000

Columns 1 through 3

               0   2.500000000000000   5.000000000000000

Columns 4 through 6

7.500000000000000 10.000000000000000 12.500000000000000

Columns 7 through 9

15.000000000000000 17.500000000000000 20.000000000000000

Column 10

22.500000000000000

39

39

0.43 sec, 1 batches, 429 spikes

0.43 sec, 1 batches, 429 spikes

3.80 sec, 92 batches, 42523 spikes

3.80 sec, 92 batches, 42523 spikes

time 13.76, Shifted up/down 92 batches.

time 13.76, Shifted up/down 92 batches.

0.13 sec, 1 batches, 484 spikes

0.13 sec, 1 batches, 484 spikes

4.61 sec, 92 batches, 49326 spikes

4.61 sec, 92 batches, 49326 spikes

time 0.00, GROUP 1/24, units 0

time 0.00, GROUP 1/24, units 0

time 18.07, GROUP 6/24, units 29

time 18.07, GROUP 6/24, units 29

time 26.40, GROUP 11/24, units 45

time 26.40, GROUP 11/24, units 45

time 30.35, GROUP 16/24, units 55

time 30.35, GROUP 16/24, units 55

time 34.00, GROUP 21/24, units 65

time 34.00, GROUP 21/24, units 65

Elapsed time is 38.482035 seconds.

Elapsed time is 38.482035 seconds.

Time 39s. Final spike extraction ...

Time 39s. Final spike extraction ...

39.21 sec, 1 / 92 batches, 77 units, nspks: 517, mu: 15.2878, nst0: 517

39.21 sec, 1 / 92 batches, 77 units, nspks: 517, mu: 15.2878, nst0: 517

Elapsed time is 42.328201 seconds.

Elapsed time is 42.328201 seconds.

time 0.00, GROUP 1/24, units 0

time 0.00, GROUP 1/24, units 0

time 14.13, GROUP 6/24, units 27

time 14.13, GROUP 6/24, units 27

time 22.42, GROUP 11/24, units 46

time 22.42, GROUP 11/24, units 46

time 28.22, GROUP 16/24, units 59

time 28.22, GROUP 16/24, units 59

time 31.32, GROUP 21/24, units 66

time 31.32, GROUP 21/24, units 66

Elapsed time is 33.115429 seconds.

Elapsed time is 33.115429 seconds.

ans =

49

ans =

49

initialized spike counts

initialized spike counts

merged 11 into 9

merged 11 into 9

merged 10 into 9

merged 10 into 9

merged 25 into 30

merged 25 into 30

merged 52 into 48

merged 52 into 48

merged 33 into 31

merged 33 into 31

merged 26 into 30

merged 26 into 30

merged 65 into 48

merged 65 into 48

merged 12 into 9

merged 12 into 9

merged 23 into 29

merged 23 into 29

merged 44 into 48

merged 44 into 48

merged 51 into 53

merged 51 into 53

merged 27 into 30

merged 27 into 30

merged 66 into 48

merged 66 into 48

merged 64 into 48

merged 64 into 48

merged 70 into 59

merged 70 into 59

ans =

37

ans =

37

Saving results to Phy

Saving results to Phy

--------------------------------------------------------------------------------Error using -

Invalid type of input arguments (should be uint64)Error using -

Invalid type of input arguments (should be uint64) Error running kilosort3 Traceback (most recent call last): File "/home/john/miniconda3/envs/si/lib/python3.8/site-packages/spikeinterface-0.92.1.dev0-py3.8.egg/spikeinterface/sorters/basesorter.py", line 200, in run_from_folder SorterClass._run_from_folder(output_folder, sorter_params, verbose) File "/home/john/miniconda3/envs/si/lib/python3.8/site-packages/spikeinterface-0.92.1.dev0-py3.8.egg/spikeinterface/sorters/kilosortbase.py", line 42, in _run_from_folder raise Exception(f'{cls.sorter_name} returned a non-zero exit code') Exception: kilosort3 returned a non-zero exit code


SpikeSortingError Traceback (most recent call last) /tmp/ipykernel_337534/2606529102.py in ----> 1 sorting_KS3 = ss.run_kilosort3(recording_saved, 2 output_folder='results_KS3', 3 verbose=True)

~/miniconda3/envs/si/lib/python3.8/site-packages/spikeinterface-0.92.1.dev0-py3.8.egg/spikeinterface/sorters/runsorter.py in run_kilosort3(*args, kwargs) 368 369 def run_kilosort3(*args, *kwargs): --> 370 return run_sorter('kilosort3', args, kwargs) 371 372

~/miniconda3/envs/si/lib/python3.8/site-packages/spikeinterface-0.92.1.dev0-py3.8.egg/spikeinterface/sorters/runsorter.py in run_sorter(sorter_name, recording, output_folder, remove_existing_folder, delete_output_folder, verbose, raise_error, docker_image, with_output, **sorter_params) 55 56 if docker_image is None: ---> 57 sorting = run_sorter_local(sorter_name, recording, output_folder=output_folder, 58 remove_existing_folder=remove_existing_folder, 59 delete_output_folder=delete_output_folder,

~/miniconda3/envs/si/lib/python3.8/site-packages/spikeinterface-0.92.1.dev0-py3.8.egg/spikeinterface/sorters/runsorter.py in run_sorter_local(sorter_name, recording, output_folder, remove_existing_folder, delete_output_folder, verbose, raise_error, with_output, **sorter_params) 84 recording, output_folder, sorter_params, verbose) 85 SorterClass.setup_recording(recording, output_folder, verbose=verbose) ---> 86 SorterClass.run_from_folder(output_folder, raise_error, verbose) 87 if with_output: 88 sorting = SorterClass.get_result_from_folder(output_folder)

~/miniconda3/envs/si/lib/python3.8/site-packages/spikeinterface-0.92.1.dev0-py3.8.egg/spikeinterface/sorters/basesorter.py in run_from_folder(cls, output_folder, raise_error, verbose) 234 if has_error and raise_error: 235 print(log['error_trace']) --> 236 raise SpikeSortingError( 237 f"Spike sorting failed. You can inspect the runtime trace in {output_folder}/spikeinterface_log.json") 238

SpikeSortingError: Spike sorting failed. You can inspect the runtime trace in results_KS3/spikeinterface_log.json

jjtukker commented 2 years ago

sorry this issue is for Kilosort3, wrong repo!