Closed zm711 closed 7 months ago
Oups. This looks like a numba problem. Does other numba code are working on this machine ? For instance detect_peaks with locally_exclussive ?
She was able to calculate correlograms (which should use a numba implementation if available) and it worked fine. I could have her try detect_peaks
when she gets into lab. I'm just wondering if there is some sort of cache invalidation happening for numba. Not sure though.
EDIT: I did try emptying the pycache and restarting the kernel to see if generating a new cache for the files would fix it and the same error happened.
I advocate again for no using cache=True
in library code. I think that feature is designed for personal scripts.
@DradeAW
When I get a chance I'll test setting cache=False
and see if that fixes it. If it does we may want to switch the codebase over to cache=False for numba stuff.
I'm fine with cache=False
if it solves issues that people encounter :)
Maybe another of the things to add to the global config though.
I am not exactly sure what is cache=False
does it means that it is recompiled at each call ?
Not at each call I think at each session. The docs says "To avoid compilation times each time you invoke a Python program, you can instruct Numba to write the result of function compilation into a file-based cache."
But it says invalidation can be caused by:
Cache invalidation fails to recognize changes in functions defined in a different file. This means that when a main jit function calls functions that were imported from a different module, a change in those other modules will not be detected and the cache will not be updated. This carries the risk that “old” function code might be used in the calculations.
[EDIT] I see that @zm711 already answered.
thanks you very much.
hey guys,
so one of my labmates (I installed from source on her computer) ran into an issue during
sw.plot_unit_summary
trying toget_data
from spike_amplitudes.Any idea what's going on? I tried to do the extension myself:
is fine, but doing the
get_data('by_unit'
) fails.