Я обученные нейронные сети в Theano/лазаньи и сохраняются параметры сети с этой части кода:Theano/лазаньи: ValueError: несоответствие: есть 10 значений, чтобы установить параметры 0
np.savez('model.npz', *lasagne.layers.get_all_param_values(network))
Теперь я хочу загрузить модель и установить параметры в сеть, чтобы я мог проверить, работает ли она правильно. Я загрузка параметров с этой частью коды:
with np.load('model.npz') as f:
param_values = [f['arr_%d' % i] for i in range(len(f.files))]
Тогда я пытаюсь настроить параметры сети для загруженных параметров, как это:
lasagne.layers.set_all_param_values(self._output_layer, param_values, allow_input_downcast=True)
Но тогда я получаю эту ошибку:
> Traceback (most recent call last):
File "snake_player.py", line 406, in <module>
player = SnakePlayer()
File "snake_player.py", line 99, in __init__
self.loadModel()
File "snake_player.py", line 328, in loadModel
lasagne.layers.set_all_param_values(self._output_layer, param_values, allow_input_downcast=True, trainable=True)
File "C:\Anaconda2\lib\site-packages\lasagne\layers\helper.py", line 446, in set_all_param_values
(len(values), len(params)))
ValueError: mismatch: got 10 values to set 0 parameters
Однако, когда я получаю все параметры в сети и смотрю на длину, существует 10 параметров.
x = lasagne.layers.get_all_param_values(self._output_layer)
len(x) # 10
Таким образом, количество параметров одно и то же, и я все равно получаю эту ошибку. Любая идея почему? Я что-то пропускаю?
Я ценю помощь.