2017-05-10 9 views
0

TFlearnでDNNを構築した後、ネットの精度を計算したいと思います。ここTFlearn精度

はコードです:ここ

def create_model(self): 
    x = tf.placeholder(dtype= tf.float32, shape=[None, 6], name='x') 
    # Build neural network 
    input_layer = tflearn.input_data(shape=[None, 6]) 
    net = input_layer 
    net = tflearn.fully_connected(net, 128, activation='relu') 
    net = tflearn.fully_connected(net, 64, activation='relu') 
    net = tflearn.fully_connected(net, 16, activation='relu') 
    net = tflearn.fully_connected(net, 2, activation='sigmoid') 
    net = tflearn.regression(net, optimizer='adam', loss='mean_square', metric='R2') 

    w = tf.Variable(tf.truncated_normal([2, 2], stddev=0.1)) 
    b = tf.Variable(tf.constant(1.0, shape=[2])) 
    y = tf.nn.softmax(tf.matmul(net, w) + b, name='y') 

    model = tflearn.DNN(net, tensorboard_verbose=3) 
    return model 

は、トレーニング一部です:

train_data, train_goal, test_data, test_goal = self.normalize_data() 
     model = self.create_model() 

     # train model with train sets & evaluate on test sets 
     model.fit(train_data, train_goal, validation_set=0.2, n_epoch=10, show_metric=True, snapshot_epoch=True) 
     result = model.evaluate(test_data, test_goal) 

にはどうすれば精度を計算することができますか? また、カテゴリカルで何を変更する必要がありますか? おかげで、あなたはこのように行うことができます

答えて

1

def create_model(self): 
    x = tf.placeholder(dtype= tf.float32, shape=[None, 6], name='x') 
    # Build neural network 
    input_layer = tflearn.input_data(shape=[None, 6]) 
    net = input_layer 
    net = tflearn.fully_connected(net, 128, activation='relu') 
    net = tflearn.fully_connected(net, 64, activation='relu') 
    net = tflearn.fully_connected(net, 16, activation='relu') 
    net = tflearn.fully_connected(net, 2, activation='sigmoid') 
    net = tflearn.regression(net, optimizer='adam', loss='mean_square', metric='R2') 

    w = tf.Variable(tf.truncated_normal([2, 2], stddev=0.1)) 
    b = tf.Variable(tf.constant(1.0, shape=[2])) 
    y = tf.nn.softmax(tf.matmul(net, w) + b, name='y') 

    return y 

network = create_model() 
net = tflearn.regression(network, optimizer='RMSprop', metric='accuracy', loss='categorical_crossentropy') 

model = tflearn.DNN(net, show_metric=True, tensorboard_verbose=3)