用Cython擴展我已經寫在cython
這樣一類或擴展類型:保存通過泡菜
cdef class Self_Organized_Map:
cdef
def __cinit__(self,np.ndarray data,.....):
....
我創建一個python模塊從該cython
文件(其名稱是som.pyx
)使用distutils
,然後我導入這python
,並用它來創建和訓練一個模型,但是當我想用pickle
它給了我這個犯錯救我的模型:
TypeError: can't pickle som.Self_Organized_Map objects
什麼是錯的鹹菜或M y代碼?醃菜不能保存擴展對象?
有相當多的文檔和以前的問題,它看起來不像你讀過的:如https://docs.python.org/3/library/pickle.html#what-can-be- pickled-unpickled([擴展類型沒有定義'__dict__'默認情況下}(http://cython.readthedocs.io/en/latest/src/reference/extension_types.html#attributes))。一些相關的以前的問題:http://stackoverflow.com/questions/12646436/pickle-cython-class http://stackoverflow.com/questions/36301322/pickle-cython-class-with-c-pointers – DavidW
此外,您的標題提到指針,但你的代碼不顯示任何。也許澄清? – DavidW
@DavidW謝謝我糾正它! –