안녕 모두,Tensorflow는 - 신경 네트워크는 항상 내가 특정 기능에 따라 급여를 분류 신경망을 위해 노력 해왔다 같은 일
을 예측. 그러나이 신경망의 tensorflow 코드를 실행하면 어떤 기능이든 관계없이 동일한 것을 예측합니다. 신경망 개념 등을 읽었으며 내 코드가 개념적 지식으로 체크 아웃하므로 내가 뭘 잘못하고 있는지 혼란스러워. 제가이 분야에서 여전히 무지한만큼 당신이 철저하게 찾은 것을 설명하십시오. 나는 등, 학습 속도를 변경, 기본 정상화를 시도
Predicted Value : [140000] Expected Value : [150000]
Predicted Value : [140000] Expected Value : [90000]
Predicted Value : [140000] Expected Value : [140000]
Predicted Value : [140000] Expected Value : [170000]
Predicted Value : [140000] Expected Value : [105000]
Predicted Value : [140000] Expected Value : [95000]
Predicted Value : [140000] Expected Value : [145000]
Predicted Value : [140000] Expected Value : [110000]
Predicted Value : [140000] Expected Value : [160000]
Predicted Value : [140000] Expected Value : [145000]
Predicted Value : [140000] Expected Value : [130000]
Predicted Value : [140000] Expected Value : [101000]
...
: 예측이처럼 보이는 판명 무엇
import tensorflow as tf
import numpy as np
n_inputs = 4
n_hidden1 = 2
n_hidden2 = 2
n_outputs = 1000000
X = tf.placeholder(tf.float32, shape=(None, n_inputs), name="X")
y = tf.placeholder(tf.int64, shape=(None), name="y")
with tf.name_scope("dnn"):
hidden1 = tf.layers.dense(X, n_hidden1, name="hidden1",
activation=tf.nn.relu)
hidden2 = tf.layers.dense(hidden1, n_hidden2, name="hidden2",
activation=tf.nn.relu)
logits = tf.layers.dense(hidden2, n_outputs, name="outputs")
with tf.name_scope("loss"):
xentropy = tf.nn.sparse_softmax_cross_entropy_with_logits(labels=y, logits=logits)
loss = tf.reduce_mean(xentropy, name="loss")
learning_rate = 0.1
with tf.name_scope("train"):
optimizer = tf.train.GradientDescentOptimizer(learning_rate)
training_op = optimizer.minimize(loss)
init = tf.global_variables_initializer()
saver = tf.train.Saver()
# Training data. In every 1-D array, the first 4 elements are features and the last element is a label/output.
train_x = [[11, 3, 2, 4, 150000], [9, 2, 1, 2, 90000], [10, 4, 3, 1, 140000], [11, 3, 4, 4, 170000],
[8, 2, 1, 3, 105000], [7, 2, 1, 2, 95000], [11, 4, 2, 4, 145000], [10, 4, 1, 4, 110000],
[9, 3, 4, 4, 160000], [8, 2, 3, 4, 145000], [7, 4, 2, 4, 130000], [8, 2, 1, 2, 101000],
[10, 2, 2, 3, 130000], [10, 3, 3, 3, 140000], [8, 3, 1, 2, 105000], [7, 4, 1, 3, 95000],
[10, 3, 4, 3, 165000], [10, 3, 4, 4, 167000], [10, 4, 4, 1, 166000], [8, 4, 2, 4, 137000],
[9, 2, 2, 4, 140000], [8, 2, 2, 2, 142000], [9, 2, 2, 3, 143000], [9, 2, 2, 4, 144000], [8, 4, 2, 2, 140000],
[6, 4, 1, 4, 110000], [7, 3, 1, 2, 100000], [8, 3, 1, 3, 101000], [7, 2, 1, 3, 100000], [7, 2, 1, 3, 950000],
[7, 4, 1, 4, 980000], [8, 4, 1, 4, 100000], [8, 3, 1, 4, 100000], [9, 3, 1, 2, 101000], [8, 3, 1, 2, 107000],
[8, 3, 2, 2, 110000], [8, 2, 2, 3, 115000], [7, 4, 2, 2, 112000], [8, 2, 2, 4, 120000], [8, 4, 2, 4, 122000],
[8, 2, 2, 3, 120000], [8, 3, 2, 4, 123000], [8, 3, 2, 4, 121000], [8, 2, 2, 4, 121000], [8, 4, 2, 2, 120000]]
with tf.Session() as sess:
init.run()
#Training
for i in range(0, 45):
X_batch = [train_x[i][:4]]
y_batch = train_x[i][4:]
sess.run(training_op, feed_dict={X: X_batch, y: y_batch})
# Testing
for i in range(0, 45):
pred_data = logits.eval(feed_dict={X: [train_x[i][:4]]})
pred = np.argmax(pred_data, axis=1)
print("Predicted Value : ", pred, " Expected Value :", train_x[i][4:])
이것은 :
이 내 코드입니다. 다른 게시물 및 질문에서 가져 왔지만 어디에도 없습니다.
는 당신의 도움을 주셔서 감사합니다.
더 많은 데이터가 필요할 수 있습니다. 적어도 수백 개의 샘플들처럼 – Zoe
이 좋겠지 만, 데이터를 여러 번 복제하고 수정하여 테스트 해 보았습니다. 귀하의 의견을 주셔서 감사합니다! –