Я пытаюсь создать небольшую нейронную сеть в тензорном потоке, и я немного новичок в этом. Я видел это в учебнике (), и все работает нормально, пока не попытаюсь оптимизировать вес (с градиентным спуском), так как я получаю значение Null.Нет Значение при оптимизации данных с градиентным спуском
with tf.Session() as sess:
x = tf.placeholder("float",[1,3],name="x")
w = tf.Variable(tf.random_uniform([3,3]),name="w")
y = tf.matmul(x,w)
labels = tf.placeholder("float",[1,3],name="labels")
relu_out = tf.nn.relu(y)
cross_entropy = tf.nn.softmax_cross_entropy_with_logits(relu_out,labels,name="loss")
optimizer = tf.train.GradientDescentOptimizer(0.5)
train_op = optimizer.minimize(cross_entropy)
e_labels = np.array([[1.0,1.0,0.0]])
sess.run(tf.initialize_all_variables())
for step in range(10):
[out,loss] = sess.run([train_op,cross_entropy],feed_dict={x:np.array([[1.0,2.0,3.0]]),labels: e_labels})
print("the result is:",out)
print("The loss of the function is:",loss)
До сих пор я изменил значение меток (e_labels) и входные значения (х), но в любом случае я всегда получаю результат None. Мой вопрос: Является ли это Нет? Значение нормальное? Я так не думаю, но если кто-то может сказать мне, я был бы рад узнать, что я могу сделать и как его решить.
Функция вывода и потери оптимизирована, да. Однако у меня все еще есть это сомнение. Спасибо –