2016-04-21 2 views
1

Я обученные нейронные сети в 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 

Таким образом, количество параметров одно и то же, и я все равно получаю эту ошибку. Любая идея почему? Я что-то пропускаю?

Я ценю помощь.

ответ

0

Это не произойдет, если вы позвоните set_all_param_values без allow_input_downcast=True.

 Смежные вопросы

  • Нет связанных вопросов^_^