2016-05-20 8 views
0

Я пытаюсь сохранить выходные параметры, чтобы продолжить обучение/классификацию позднее.Сохранение параметров выхода из списка theano/lasagne для будущей классификации

настоящее время я использую:

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(network, param_values) 

как предложено here. Но, несмотря на импортирование get_all_param_values ​​из лазаньи, я получаю сообщение об ошибке:

AttributeError: 'TensorVariable' object has no attribute 'get_params'

слой я пытаюсь сохранить это:

train_out = lasagne.layers.get_output(output, {input_var:x1, input2_var:x2, 
input3_var:x3}, deterministic=False) 

Я делаю что-то не так?

ответ

0

Предполагая, что

output 

в вашем коде выше ваш фактический выходной слой, вы должны пройти этот слой

get_all_params(...) 

Passing

train_out 

чтобы она не будет работать , поскольку результат

get_params(...) 

is aano TensorVariable (как указано в сообщении об ошибке), а не объект lasagne.Layer.

+0

Это была глупая ошибка кодирования, как вы сказали, выход был моим выходом не тренироваться, все исправлено, спасибо! PS. Должен ли я удалить вопросы, если я сам выясню проблему? – JB1

+0

Я не уверен. Если вы сами это поняли, возможно, опубликуйте решение на случай, если кто-то другой столкнется с той же проблемой? – s1h

+0

Хорошо, спасибо снова – JB1