Speichern und exportieren Sie Gewichte und Vorurteile in TensorFlow für Nicht-Python-Replikation

Ich habe ein neuronales Netzwerk aufgebaut, das sich gut verhält, und ich möchte mein Modell in einer Nicht-Python-Umgebung replizieren. Ich setze mein Netzwerk wie folgt ein:

sess = tf.InteractiveSession() x = tf.placeholder(tf.float32, shape=[None, 23]) y_ = tf.placeholder(tf.float32, shape=[None, 2]) W = tf.Variable(tf.zeros([23,2])) b = tf.Variable(tf.zeros([2])) sess.run(tf.initialize_all_variables()) y = tf.nn.softmax(tf.matmul(x,W) + b) 

Wie bekomme ich eine entzifferbare .csv oder .txt meiner Gewichte und Bias?

EDIT: Unten ist mein vollständiges Skript:

 import csv import numpy import tensorflow as tf data = list(csv.reader(open("/Users/sjayaram/developer/TestApp/out/production/TestApp/data.csv"))) [[float(j) for j in i] for i in data] numpy.random.shuffle(data) results=data #delete results from data data = numpy.delete(data, [23, 24], 1) #delete data from results results = numpy.delete(results, range(23), 1) sess = tf.InteractiveSession() x = tf.placeholder(tf.float32, shape=[None, 23]) y_ = tf.placeholder(tf.float32, shape=[None, 2]) W = tf.Variable(tf.zeros([23,2])) b = tf.Variable(tf.zeros([2])) sess.run(tf.initialize_all_variables()) y = tf.nn.softmax(tf.matmul(x,W) + b) cross_entropy = tf.reduce_mean(-tf.reduce_sum(y_ * tf.log(y), reduction_indices=[1])) train_step = tf.train.GradientDescentOptimizer(0.5).minimize(cross_entropy) #train the model, saving 80 entries for testing #batch-size: 40 for i in range(0, 3680, 40): train_step.run(feed_dict={x: data[i:i+40], y_: results[i:i+40]}) correct_prediction = tf.equal(tf.argmax(y,1), tf.argmax(y_,1)) accuracy = tf.reduce_mean(tf.cast(correct_prediction, tf.float32)) print(accuracy.eval(feed_dict={x: data[3680:], y_: results[3680:]})) 

One Solution collect form web for “Speichern und exportieren Sie Gewichte und Vorurteile in TensorFlow für Nicht-Python-Replikation”

Sie können die Variablen als NumPy-Arrays numpy.savetxt() und numpy.savetxt() , um den Inhalt als Text oder CSV zu schreiben:

 import numpy as np W_val, b_val = sess.run([W, b]) np.savetxt("W.csv", W_val, delimiter=",") np.savetxt("b.csv", b_val, delimiter=",") 

Beachten Sie, dass dies unwahrscheinlich ist, dass die Leistung so gut funktioniert wie die Verwendung von TensorFlows nativen Replikationsmechanismen in der verteilten Laufzeit .

  • Verwenden von Word2vec mit Tensorflow unter Windows
  • Wie kann ich verhindern, dass Tensorflow die Gesamtheit eines GPU-Speichers zuteilt?
  • Verwenden Sie 'read_batch_record_features' mit einem Estimator
  • Kann keine Matrixmultiplikation mit Tensorflow machen
  • Tensorflow: Laufzeit-Test-Metriken und Daten-Warteschlangen
  • Mit Tensoren im Kontrollfluss und bedingten Aussagen
  • Wie importiere ich Word2vec in TensorFlow Seq2Seq Modell?
  • Tensorflow: Verwenden von Parameterservern im verteilten Training
  • Weird Aufmerksamkeit Gewichte beim Versuch, zu inverse Sequenz mit seq2seq lernen
  • Erstellen Sie ein Diagramm, das mit variabler Chargengröße mit Tensorflow arbeitet
  • TensorFlow: AttributeError: 'Tensor' Objekt hat kein Attribut 'log10'
  • Python ist die beste Programmiersprache der Welt.