我想保存以下类型的对象(“群集”)以便以后使用。 对象的类型
<class 'pyemma.coordinates.clustering.kmeans.KmeansClustering'>
我尝试使用泡菜,但加载的对象导致错误。
n_clusters = 3
clustering = coor.cluster_kmeans(Y, k=n_clusters, max_iter=100, tolerance=1e-10, fixed_seed=True)
with open("clustering.file", "wb") as f:
pickle.dump(clustering, f, pickle.HIGHEST_PROTOCOL)
with open("clustering.file", "rb") as f:
clustering=pickle.load(f)
clustering.save_traj()
dtrajs = clustering.dtrajs # get discrete trajectories
这是错误:
File "pyemma_dG.py", line 102, in <module>
dtrajs = clustering.dtrajs # get discrete trajectories
File "/home/local/andtos-loc/anaconda3/lib/python3.5/site-packages/pyemma/coordinates/clustering/interface.py", line 101, in dtrajs
self._dtrajs = self.assign(stride=1)
File "/home/local/andtos-loc/anaconda3/lib/python3.5/site-packages/pyemma/coordinates/clustering/interface.py", line 217, in assign
mapped = self.get_output(stride=stride, chunk=self.chunksize, skip=skip)
File "/home/local/andtos-loc/anaconda3/lib/python3.5/site-packages/pyemma/coordinates/data/_base/transformer.py", line 182, in chunksize
return self.default_chunksize
File "/home/local/andtos-loc/anaconda3/lib/python3.5/site-packages/pyemma/coordinates/data/_base/iterable.py", line 74, in default_chunksize
if self._default_chunksize is None:
AttributeError: 'KmeansClustering' object has no attribute '_default_chunksize'
答案 0 :(得分:1)
不幸的是,这个旧版本的PyEMMA不支持在坐标子包中对复杂对象进行酸洗。高于2.5的版本正确支持它。我建议使用内置的保存和加载功能,因为它还可以通过HDF5提供非常快速和io高效的阵列序列化。