1

Я попытался моделировать NN, используя регрессию softmax. После 999 итераций я получил ошибку около 0,02% для каждой точки данных, что, по моему мнению, было хорошим. Но когда я представляю модель на tensorboard, моя функция стоимости не достигла в сторону 0 вместо этого я получил что-то вроде thisМодель нейронной сети не изучает?

А для весов и смещения гистограммы this

Я новичок, и я не могу понять ошибка. Может быть, я использую неправильный метод для определения стоимости?

Вот мой полный код для справки.

import tensorflow as tf 
import numpy as np 
import random 

lorange= 1 
hirange= 10 
amplitude= np.random.uniform(-10,10) 
t= 10 
random.seed() 
tau=np.random.uniform(lorange,hirange) 


x_node = tf.placeholder(tf.float32, (10,)) 
y_node = tf.placeholder(tf.float32, (10,)) 

W = tf.Variable(tf.truncated_normal([10,10], stddev= .1)) 
b = tf.Variable(.1) 

y = tf.nn.softmax(tf.matmul(tf.reshape(x_node,[1,10]), W) + b) 

##ADD SUMMARY 

W_hist = tf.histogram_summary("weights", W) 
b_hist = tf.histogram_summary("biases", b) 
y_hist = tf.histogram_summary("y", y) 

# Cost function sum((y_-y)**2) 
with tf.name_scope("cost") as scope: 
    cost = tf.reduce_mean(tf.square(y_node-y)) 
    cost_sum = tf.scalar_summary("cost", cost) 

# Training using Gradient Descent to minimize cost 
with tf.name_scope("train") as scope: 
    train_step = tf.train.GradientDescentOptimizer(0.00001).minimize(cost) 

sess = tf.InteractiveSession() 

# Merge all the summaries and write them out to logfile 
merged = tf.merge_all_summaries() 
writer = tf.train.SummaryWriter("/tmp/mnist_logs_4", sess.graph_def) 
error = tf.reduce_sum(tf.abs(y - y_node)) 


init = tf.initialize_all_variables() 
sess.run(init) 

steps = 1000 

for i in range(steps): 
    xs = np.arange(t) 
    ys = amplitude * np.exp(-xs/tau) 

    feed = {x_node: xs, y_node: ys} 
    sess.run(train_step, feed_dict=feed) 
    print("After %d iteration:" % i) 
    print("W: %s" % sess.run(W)) 
    print("b: %s" % sess.run(b)) 
    print('Total Error: ', error.eval(feed_dict={x_node: xs, y_node:ys})) 
    # Record summary data, and the accuracy every 10 steps 
    if i % 10 == 0: 
     result = sess.run(merged, feed_dict=feed) 
     writer.add_summary(result, i) 

ответ

0

У меня такой же участок, как вы, пару раз.

Это произошло в основном, когда я запускал тензограмму на нескольких журнальных файлах. То есть, logdir, который я дал TensorBoard, содержало несколько журнальных файлов. Попробуйте запустить TensorBoard на одном log-файле и дайте мне знать, что произойдет

+0

Создал новый файл журнала и попытался. это то, что я получил - http://imgur.com/a/NFXul Но стоимость все еще не приближается к нулю, любая идея почему? а также веса и смещения запутаны в моем сценарии я wrote- писатель = tf.train.SummaryWriter ("/ TMP/tensorflow/logdir_1", sess.graph_def) и от trminal- tensorboard --logdir =/TMP/tensorflow/logdir_1 – zerogravty

Смежные вопросы