lasagne.layers.set_all_param_values返回无值

时间:2019-10-24 08:59:09

标签: python pickle theano lasagne

我正在研究一个深层神经网络,并希望将其作为泡菜存储在我的机器上,并使用下面的代码保存了它

NOT EXISTS

问题是当我按如下方式加载保存的文件并设置网络参数时

import lasagne
import theano
import theano.tensor as T
import pickle

if __name__ == "__main__":
    x_train,y_train,x_test,y_test = load_dataset()

    input_var = T.tensor4('inputs')
    target_var = T.ivector('targets')

    network = build_nn(input_var)

    prediction = lasagne.layers.get_output(network)

    loss = lasagne.objectives.categorical_crossentropy(prediction,target_var)

    loss = loss.mean()

    params = lasagne.layers.get_all_params(network, trainable=True)

    updates = lasagne.updates.nesterov_momentum(loss,params,learning_rate=0.01 , momentum=0.9)

    train_fn = theano.function([input_var,target_var],loss , updates=updates)

    num_training_steps = 2

    for steps in range(num_training_steps):
        train_err = train_fn(x_train,y_train)
        print("current step is " + str(steps))
    pickle_out = open('test_pickle','wb')
    netInfo = {'network': network, 'params': lasagne.layers.get_all_param_values(network)}
    pickle.dump(netInfo,pickle_out)

网络值是无值,但是我检查了网络和参数是否都包含值

0 个答案:

没有答案
相关问题