2016-10-10 10 views
0

私は以下のtflearn githubリポジトリの例を使用していますが、保存しました。別のオプティマイザでモデルをリロードしたいと思います。助けてください。ありがとう。tflearn学習メソッドmidstreamを変更する

init2=False 
from __future__ import division, print_function, absolute_import 

import tflearn 
from tflearn.layers.core import input_data, dropout, fully_connected 
from tflearn.layers.conv import conv_2d, max_pool_2d 
from tflearn.layers.normalization import local_response_normalization 
from tflearn.layers.estimator import regression 

X1=sanit_tr 
Y1=sanit_trlabels 

testX=sanit_te 
testY=sanit_telabels 
# valid_dataset2=sanit_va 
# valid_labels2=sanit_valabels 

network = input_data(shape=[None, 28, 28, 1], name='input') 
network = conv_2d(network, 32, 3, activation='relu', regularizer="L2") 
network = max_pool_2d(network, 2) 
network = local_response_normalization(network) 
network = conv_2d(network, 64, 3, activation='relu', regularizer="L2") 
network = max_pool_2d(network, 2) 
network = local_response_normalization(network) 
network = fully_connected(network, 128, activation='tanh') 
network = dropout(network, 0.8) 
network = fully_connected(network, 256, activation='tanh') 
network = dropout(network, 0.8) 
network = fully_connected(network, 10, activation='softmax') 
network = regression(network, optimizer='Adagrad', learning_rate=0.1, 
        loss='categorical_crossentropy', name='target') 

model = tflearn.DNN(network, tensorboard_verbose=0) 
if not init2: 
    model.load('tflearn_model') 
model.fit({'input': X1}, {'target': Y1}, n_epoch=2, 
      validation_set=({'input': testX}, {'target': testY}), 
snapshot_step=100, show_metric=True, run_id='convnet_mnist') 

model.save('tflearn_model') 

私は新しいオプティマイザをロードしたいところである:

model.load('tflearn_model') 

model.fit({'input': X1}, {'target': Y1}, n_epoch=2, 
      validation_set=({'input': testX}, {'target': testY}), 
snapshot_step=100, show_metric=True, run_id='convnet_mnist') 

model.save('tflearn_model') 

答えて

0

私はあなただけのモデルを再教育したいGUSS。完全に接続されたレイヤーを変更し、tflearn.DNN()を再定義して負荷モデルを作成するだけです。コード全体は次のとおりです。

init2=False 
from __future__ import division, print_function, absolute_import 

import tflearn 
from tflearn.layers.core import input_data, dropout, fully_connected 
from tflearn.layers.conv import conv_2d, max_pool_2d 
from tflearn.layers.normalization import local_response_normalization 
from tflearn.layers.estimator import regression 

X1=sanit_tr 
Y1=sanit_trlabels 

testX=sanit_te 
testY=sanit_telabels 
# valid_dataset2=sanit_va 
# valid_labels2=sanit_valabels 

network = input_data(shape=[None, 28, 28, 1], name='input') 
network = conv_2d(network, 32, 3, activation='relu', regularizer="L2") 
network = max_pool_2d(network, 2) 
network = local_response_normalization(network) 
network = conv_2d(network, 64, 3, activation='relu', regularizer="L2") 
network = max_pool_2d(network, 2) 
network = local_response_normalization(network) 
network = fully_connected(network, 128, activation='tanh') 
network = dropout(network, 0.8) 
network = fully_connected(network, 256, activation='tanh') 
network = dropout(network, 0.8) 
end_network = fully_connected(network, 10, activation='softmax') 
network = regression(end_network, optimizer='Adagrad', learning_rate=0.1, 
        loss='categorical_crossentropy', name='target') 

model = tflearn.DNN(network, tensorboard_verbose=0) 
if not init2: 
    model.load('tflearn_model') 
model.fit({'input': X1}, {'target': Y1}, n_epoch=2, 
      validation_set=({'input': testX}, {'target': testY}), 
snapshot_step=100, show_metric=True, run_id='convnet_mnist') 

model.save('tflearn_model') 


network = regression(end_network, optimizer='RMSprop', learning_rate=0.1, 
        loss='categorical_crossentropy', name='target') 

model = tflearn.DNN(network, tensorboard_verbose=0) 

model.load('tflearn_model') 

model.fit({'input': X1}, {'target': Y1}, n_epoch=2, 
      validation_set=({'input': testX}, {'target': testY}), 
snapshot_step=100, show_metric=True, run_id='convnet_mnist') 

model.save('tflearn_model')