Я хочу использовать dict как
{0: [1.],
1: [2.]}
Я знаю, что работать с обычным объектом Python внутри функции Cython nogil недопустимо, поэтому я хочу использовать IntFloatDict
в sklearn /utils / fast_dict.pyx .
После замены обычного Python dict внутри функции Cython nogil на IntFloatDict
:
# distutils: language=c
cimport numpy as np
from fast_dict cimport IntFloatDict
np.import_array()
cdef IntFloatDict test_fast_dict(IntFloatDict a) nogil:
return a
cdef IntFloatDict t
t = IntFloatDict(np.ndarray([1]), np.ndarray([5.]))
test_fast_dict(t)
Затем я получил:
Error compiling Cython file:
------------------------------------------------------------
...
np.import_array()
cdef IntFloatDict test_fast_dict(IntFloatDict a):
^
------------------------------------------------------------
test_c_nogil.pyx:9:5: 'IntFloatDict' is not a type identifier
Какой смысл выше, как это решить?