【问题标题】:TFlearn AccuracyTFlearn 准确度
【发布时间】:2017-05-10 13:46:22
【问题描述】:

用 TFlearn 构建 DNN 后,我想计算网络的准确率。

代码如下:

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)

如何计算准确度? 另外,我应该改变什么来分类? 谢谢

【问题讨论】:

    标签: machine-learning deep-learning tensor tflearn


    【解决方案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)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-16
      • 2017-04-07
      • 2020-12-01
      • 2021-07-22
      • 2020-07-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多