我是Python新手,特别是我不熟悉使用Brian(http://brian2.readthedocs.io/en/stable/index.html)模拟器来加入神经网络。这感觉就像一个愚蠢的问题,但我只是想保存Brian变量而无法弄清楚如何。
我运行的代码如下:
stimulus_train = TimedArray(input_rates_train, dt=presentation_time)
P_train = PoissonGroup(num_input_neurons,
rates='stimulus_train(t,i)')
MP_train = SpikeMonitor(P_train)
net_train = Network(P_train, MP_train)
net_train.run(presentation_time*num_samples_train)
spikes_train_i = MP_train.i
spikes_train_t = MP_train.t
例如,我想保存具有类型的MP_train brian2.monitors.spikemonitor.SpikeMonitor
我尝试过腌制数据:
import pickle
pickle.dump( MP_train, open( "MNIST_Poisson_dataset.p", "wb" ) )
但得到错误: TypeError:不能pickle weakref对象
有没有人有这方面的经验?
编辑:我尝试过h5py,并且莳萝没有成功。目前唯一有效的方法是从MP_train中提取变量并将它们保存为numpy数组。虽然这有效,但它有点烦人,并且喜欢直接保存MP_train的方法。