2016-06-04 49 views
2

Ich habe ein Problem mit Tensorboard. Meine Codes laufen gut und als ich versuchte, den Graphen mit Tensorboard --logdir = logs/log1 zu visualisieren und dann den Browser in localhost: 6006 zu öffnen, sah ich die Seite ohne Inhalt (nur Tensorboard Zeichen und Tabs wie Event, Graph .. .) Hilfe sehr geschätzt. Keine Ahnung, wie das Problem gelöst werden kann. (ich verwende jupyter Notebook)Tensorboard zeigt keine Inhalte

Hier wird die Fehlermeldung, ich habe:

WARNING:tensorflow:IOError [Errno 2] No such file or directory:  '/home/tiger/anaconda3/envs/tensorflow/lib/python3.5/site- packages/tensorflow/tensorboard/TAG' on path /home/tiger/anaconda3/envs/tensorflow/lib/python3.5/site-packages/tensorflow/tensorboard/TAG 
WARNING:tensorflow:Unable to read TensorBoard tag 
Starting TensorBoard on port 6006 
(You can navigate to http://0.0.0.0:6006) 
127.0.0.1 - - [03/Jun/2016 21:20:49] "GET/HTTP/1.1" 200 - 
WARNING:tensorflow:IOError [Errno 2] No such file or directory: '/home/tiger/anaconda3/envs/tensorflow/lib/python3.5/site-packages/tensorflow/tensorboard/lib/css/global.css' on path /home/tiger/anaconda3/envs/tensorflow/lib/python3.5/site-packages/tensorflow/tensorboard/lib/css/global.css 
127.0.0.1 - - [03/Jun/2016 21:20:49] code 404, message Not Found 
127.0.0.1 - - [03/Jun/2016 21:20:49] "GET /lib/css/global.css HTTP/1.1" 404 - 
127.0.0.1 - - [03/Jun/2016 21:20:50] "GET /external/lodash/lodash.min.js HTTP/1.1" 200 - 
....... 
WARNING:tensorflow:IOError [Errno 2] No such file or directory: '/home/tiger/anaconda3/envs/tensorflow/lib/python3.5/site-packages/tensorflow/tensorboard/favicon.ico' on path /home/tiger/anaconda3/envs/tensorflow/lib/python3.5/site-packages/tensorflow/tensorboard/favicon.ico 

meine Codes sind unten:

n_features = x_train.shape[1] 
n_samples = x_train.shape[0] 
n_labels = 10 
n_hidden = 200 
epoch_train = 200 
learning_rate = 0.01 
batch_size = 20 

x_tr = tf.placeholder(tf.float32, shape=(None, n_features), name='x') 
y_tr = tf.placeholder(tf.float32, shape=(None, n_labels), name='y') 

w1 = tf.Variable(tf.truncated_normal([n_features,n_hidden]),name='weight1') 
b1 = tf.Variable (tf.zeros([n_hidden]), name='bias1') 
w2 = tf.Variable (tf.truncated_normal([n_hidden, n_labels]),name ='weight2') 
b2 = tf.Variable(tf.zeros([n_labels]), name='bias2') 

w1_hist = tf.histogram_summary('weight1', w1) 
w2_hist = tf.histogram_summary('weight2', w2) 
b1_hist = tf.histogram_summary('bias1', b1) 
b2_hist = tf.histogram_summary('bias2', b2) 
y_hist = tf.histogram_summary('y', y_tr) 

with tf.name_scope('hidden') as scope:  
    z1 = tf.matmul(x_tr, w1)+b1 
    a1 = tf.nn.relu (z1) 

with tf.name_scope('output') as scope:  
    z2 = tf.matmul(a1, w2)+b2 
    a2 = tf.nn.softmax (z2) 

with tf.name_scope('cost') as scope: 
    loss = tf.reduce_mean (tf.nn.softmax_cross_entropy_with_logits(z2, y_tr)) 
    cost_summ = tf.scalar_summary ('cost', loss) 

with tf.name_scope('train') as scope: 
    optimizer = tf.train.GradientDescentOptimizer(learning_rate).minimize(loss) 

def acc (pred, y): 
    return (np.mean(np.argmax(pred, 1)==np.argmax(y,1))) 


with tf.Session() as session: 

session.run(tf.initialize_all_variables()) 

merged = tf.merge_summary([y_hist, w1_hist, w2_hist, b1_hist, b2_hist, cost_summ]) 
writer = tf.train.SummaryWriter ('logs/log1', session.graph) 

for epoch in range (epoch_train): 

    offset = epoch*batch_size % (x_train.shape[0]-batch_size) 
    x_tr_batch = x_train[offset:offset+batch_size, :] 
    y_tr_batch = y_train[offset:offset+batch_size, :] 
    feed_dict = {x_tr:x_tr_batch, y_tr:y_tr_batch} 

    _, cost, prediction = session.run ([optimizer, loss, a2], feed_dict=feed_dict) 

    summary = session.run (merged, feed_dict=feed_dict) 
    writer.add_summary(summary,epoch) 

    if epoch % 20 ==0: 
     print ('training accuracy:', acc(prediction, y_tr_batch)) 
     print ('cost at epoch {} is:'.format(epoch), cost) 
pred_ts = session.run (a2, feed_dict = {x_tr:x_test}) 
print ('test accuracy is:', acc(pred_ts, y_test)) 
+0

In dem obigen Code: mit tf.Session() als Session: folgenden Zeilen ist nicht eingekerbt wie alle Linien Sieht bis zum Ende der für die Schleife nach der Zeile eingerückt werden muss –

Antwort

0

Sieht aus wie das Problem zu this issue zusammenhängt. Stellen Sie sicher, dass Sie Tensorboard starten, nachdem Sie Ihr Programm ausgeführt haben. Und sehen Sie auch, was andere Leute getan haben, um es zu lösen. Es könnte ein Fehler im Tensorboard sein. Möchten Sie Tensorflow aus der Quelle erstellen?

+0

einen der Pfosten an der Verbindung folgend, Ich habe die Datei global.css heruntergeladen und in den Ordner der Fehlermeldung gestellt. Jetzt ist das Tensorboard nicht komplett leer. Es zeigt eine Nachricht wie 'keine xxxx Daten wurden gefunden'. Für mich scheint es, dass das Tensorboard die Ereignisdatei nicht lokalisieren oder lesen kann. (Ich habe den Protokollordner überprüft, die Datei ist da) Ich habe Tensorflow vor zwei Wochen auf meinem Anaconda Python 3.5 installiert. – zesla

0

Die Fehler, die Sie bekommen, stören mich nicht. Ich schätze, das Problem ist, dass du nichts geschrieben hast. Sie können versuchen, diese Zeile writer.flush() nach der Zeile add_summary() hinzuzufügen.

+0

gerade versucht. gleicher Fehler WARNUNG: Tensorflow: IOError [Errno 2] Keine solche Datei oder Verzeichnis: '/home/tiger/anaconda3/envs/tensorflow/lib/python3.5/site-packages/tensorflow/tensorboard/TAG' auf Pfad/home/tiger/anaconda3/envs/tensorfluss/lib/python3.5/site-packages/tensorfluss/tensorboard/TAG WARNUNG: Tensorflow: Kann TensorBoard-Tag nicht lesen Ich habe den Ordner überprüft. Die Ereignisdatei ist da. so frustrierend ... – zesla

+0

Entschuldigung, könnten Sie den genauen Befehl einfügen, den Sie hier Tensorboard genannt haben? In Ihrer Frage scheint es 2 Leerzeichen um das "=" zu geben. – weitang114

+0

Die Fehler, die Sie bekommen, sind mir vorher passiert, und die Ergebnisse zeigten sich immer noch, also denke ich, dass sie harmlos sind. Und nach dem Upgrade auf 0.8 sind die Fehler verschwunden. Aber gibt es eine Fehlermeldung bezüglich des Pfades von logdir? – weitang114

0

Wenn Sie die Registerkarten sehen, aber die Registerkarte "Einbettungen" nicht sehen, haben Sie möglicherweise eine ältere Version von Tensorflow/Tensorboard. Versuchen Sie, auf 1.0 zu aktualisieren, das funktionierte für mich!

1

Sie die tensorboard durch Schreiben Sie den folgenden Befehl aufrufen: tensorboard --logdir = "Ihr Modell temp-Verzeichnis" --host = 127.0.0.1

jetzt offen 127.0.0.1:6006 in Ihrem Browser und Sie wird Inhalte auf dem Tensorboard haben. Ich hoffe das würde dein Problem lösen.