Я попытался построить простой MLP с 2 скрытыми слоями и 3 выходными классами. В модели я сделал следующее:
Входные изображения - это изображения размером 120x120 rgb. Уплощенный размер (3 * 120 * 120)
2 скрытых слоя размером 100.
Используется активация Relu
Выходной слой имеет 3 нейрона
Код
def model(input, weights, biases):
l_1 = tf.add(tf.matmul(x, weights['h1']), biases['b1'])
l_1 = tf.nn.relu(l_1)
l_2 = tf.add(tf.matmul(l_1, weights['h2']), biases['b2'])
l_2 = tf.nn.relu(l_2)
out = tf.matmul(l_2, weights['out']) + biases['out']
return out
Оптимизатор
pred = model(input_batch, weights, biases)
cost = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(pred, y))
optimizer = tf.train.GradientDescentOptimizer(rate).minimize(cost)
Однако модель не работает. Точность равна только случайной модели. Ниже приводится пример: https://github.com/aymericdamien/TensorFlow-Examples/blob/master/examples/3_NeuralNetworks/multilayer_perceptron.py