2016-12-09 3 views
0

Ich arbeite mit dem Gehäuse Daten Tutorial Boston für tensorflow, aber meine eigene Datensatz bin Einfügen:Tensorflow - Wie Saver zu manipulieren

from __future__ import absolute_import 
from __future__ import division 
from __future__ import print_function 
import pandas as pd 
import tensorflow as tf 

tf.logging.set_verbosity(tf.logging.INFO) 

COLUMNS = ["crim", "zn", "indus", "nox", "rm", "age", 
     "dis", "tax", "ptratio", "medv"] 
FEATURES = ["crim", "zn", "indus", "nox", "rm", 
     "age", "dis", "tax", "ptratio"] 
LABEL = "medv" 


def input_fn(data_set): 
    feature_cols = {k: tf.constant(data_set[k].values) for k in FEATURES} 
    labels = tf.constant(data_set[LABEL].values) 
    return feature_cols, labels 

def main(unused_argv): 
    # Load datasets 
    training_set = pd.read_csv("boston_train.csv", skipinitialspace=True, 
         skiprows=1, names=COLUMNS) 
    test_set = pd.read_csv("boston_test.csv", skipinitialspace=True, 
        skiprows=1, names=COLUMNS) 

    # Set of 6 examples for which to predict median house values 
    prediction_set = pd.read_csv("boston_predict.csv",    skipinitialspace=True, 
          skiprows=1, names=COLUMNS) 

    # Feature cols 
    feature_cols = [tf.contrib.layers.real_valued_column(k) 
       for k in FEATURES] 

    # Build 2 layer fully connected DNN with 10, 10 units respectively. 
    regressor = tf.contrib.learn.DNNRegressor(
    feature_columns=feature_cols, hidden_units=[10, 10]) 

    # Fit 
    regressor.fit(input_fn=lambda: input_fn(training_set), steps=5000) 

    # Score accuracy 
    ev = regressor.evaluate(input_fn=lambda: input_fn(test_set), steps=1) 
    loss_score = ev["loss"] 
    print("Loss: {0:f}".format(loss_score)) 

    # Print out predictions 
    y = regressor.predict(input_fn=lambda: input_fn(prediction_set)) 
    print("Predictions: {}".format(str(y))) 

if __name__ == "__main__": 
    tf.app.run() 

Das Problem, das ich habe ist, dass der Datensatz, dass der so groß ist, Das Speichern von Prüfpunktdateien über tf.train.Saver() füllt meinen gesamten Speicherplatz aus.

Gibt es eine Möglichkeit, das Speichern von Prüfpunktdateien entweder zu deaktivieren oder die Anzahl der im obigen Skript gespeicherten Prüfpunkte zu reduzieren?

Dank

Antwort

0

Die tf.contrib.learn.DNNRegressor initializer nimmt ein tf.contrib.learn.RunConfig Objekt, das das Verhalten der intern erstellten Schoner gesteuert werden kann. Zum Beispiel können Sie Folgendes tun, um nur einen Prüfpunkt zu behalten:

config = tf.contrib.learn.RunConfig(keep_checkpoint_max=1) 
regressor = tf.contrib.learn.DNNRegressor(
    feature_columns=feature_cols, hidden_units=[10, 10], config=config) 
+0

Vielen Dank! –

Verwandte Themen