1

softmax回帰を使ってNNをモデル化しようとしました。 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

私はあなたのような同じプロットを2,3回持っています。

これは、主に複数のログファイルでテンソルボードを実行していたときに起こりました。つまり、私がTensorBoardに与えたlogdirには複数のログファイルが含まれていました。 1つのログファイルでTensorBoardを実行し、何が起こったのか教えてください。

+0

新しいログファイルを作成しました。これは私が得たものです - http://imgur.com/a/NFXul しかし、コストはまだゼロに近づいていません、何か考えですか?また、重みとバイアスは私が ライター= tf.train.SummaryWriter( "を/ tmp/tensorflow/logdir_1"、sess.graph_def) をwrote-とtrminal- tensorboard --logdir = /から私のスクリプトで が混乱していますtmp/tensorflow/logdir_1 – zerogravty

関連する問題