нейронная сеть от [., 3] до [., 2] прогнозирования - PullRequest
0 голосов
/ 28 мая 2018

У меня есть 3 входящих сигнала синего зуба, и я пытаюсь предсказать мои координаты x, y, основываясь на их силе.Я построил сеть, но не могу решить, изменив ее на выходную сеть 2.

#my input:
[[50,35,21],[40,36,25],...[20,5,-5]]
#my labels:
[[10,2],    [10,2],    ...[4,0]  ]

Моя сеть выглядит следующим образом:

class Network:
    def __init__(self, input, labels):
        self.input = input
        self.labels = labels
        self.num_input = input.shape[1]
        self.num_output = labels.shape[1]
        self.X = tf.placeholder("float", [None, self.num_input])
        self.Y = tf.placeholder("float", [None, self.num_output])

        self.layer_1 = tf.add(tf.matmul(self.X, w1 = [self.num_input, 256], b1 = [256])
        ...
        self.lastLayer = tf.matmul(self.layer_5, wLast = [128, self.num_output], bLast = [num_output])

        self.loss_op = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits_v2(logits=self.lastLayer, labels=self.Y))
        self.optimizer = tf.train.AdamOptimizer(learning_rate=self.learning_rate)
        self.train_op = self.optimizer.minimize(self.loss_op)


    def train(self):
        with tf.Session() as sess:
            sess.run(tf.global_variables_initializer())
            for step in range(1, 500):
                batch_x, batch_y = self.random_batch(self.numpy_input, self.numpy_labels, self.batch_size)
                sess.run(self.train_op, feed_dict={self.X: batch_x, self.Y: batch_y})

    def predict(self, test_input, test_labels):
       #how do I write this
       prediction = XXX       

       for i in range(test_labels):
          print("Label: ", test_labels[i], " was predicted as: ", prediction[i])
...