私は1000回の反復でネットワークを訓練し、このトレーニングを最初から開始せずに2000回の反復まで続けたいと考えています。私はこの問題の別の注意を読んで、以下のコードを書いたので、最後に私は 'saved_params'に自分のパラメータを持っています。しかし、私は今からこれらのパラメータでやらなければならないものは得られません。lasagneを使用して事前トレーニングされたモデルのトレーニングを続ける方法
誰かが私にそのことを説明する方法を説明できますか?トレーニングプロセスにこれらのパラメータをどのように取得するのですか?
from __future__ import print_function
import numpy as np
import theano
import lasagne
import pickle
input_var=None
ini = lasagne.init.HeUniform()
l_in = lasagne.layers.InputLayer(shape=(None, 1, 120, 120), input_var=input_var)
b= np.zeros((1, 4), dtype=theano.config.floatX)
b = b.flatten()
loc_l1 = lasagne.layers.MaxPool2DLayer(l_in, pool_size=(2, 2))
loc_l2 = lasagne.layers.Conv2DLayer(loc_l1, num_filters=20, filter_size=(5, 5), W=ini)
loc_l3 = lasagne.layers.MaxPool2DLayer(loc_l2, pool_size=(2, 2))
loc_l4 = lasagne.layers.Conv2DLayer(loc_l3, num_filters=20, filter_size=(5, 5), W=ini)
loc_l5 = lasagne.layers.DenseLayer(loc_l4, num_units=50, W=lasagne.init.HeUniform('relu'))
network = lasagne.layers.DenseLayer(loc_l5, num_units=4, b=b, W=lasagne.init.Constant(0.0), nonlinearity=lasagne.nonlinearities.identity)
def save_network(filename,param_values):
f = open(filename, 'wb')
pickle.dump(param_values,f,protocol=-1)
f.close()
def load_network(filename):
f = open(filename, 'rb')
param_values = pickle.load(f)
f.close()
return param_values
save_network("model.npz",lasagne.layers.get_all_param_values(network))
saved_params = load_network("model.npz")
lasagne.layers.set_all_param_values(network, saved_params)
あなたの答えをありがとうが、私は本当にそれを得ることはありません。私はパラメータを変更しませんでした。あなたは私に言ったコードをどこに置く必要がありますか?私はこのチュートリアルに基づいてファイルを持っていますが、アーキテクチャは変更されています:https://github.com/Lasagne/Lasagne/blob/master/examples/mnist.pyここでは最初の1000回の学習を練習しました。だから私は自分のネットワークパラメータをロードしなければならないし、トレーニングを続けるためにコードをどこに置くべきですか? – csi