2016-12-15 55 views
0

代码:RuntimeError在TensorFlowDataFrame的run_one_batch在tensorflow

import numpy as np 
import tensorflow as tf 
from tensorflow.contrib.learn.python.learn.dataframe import tensorflow_dataframe as df        
tf.logging.set_verbosity(tf.logging.INFO) 

# Data sets                                        
IRIS_TRAINING = "/home/huaxing.jinhx/data/iris/iris_training.csv"             
IRIS_TEST = "/home/huaxing.jinhx/data/iris/iris_test.csv"                
filepatterns = "/home/huaxing.jinhx/data/iris/iris*"                  

# Load datasets.                                      
default_values = [0,0,0,0,0] 
column_names = "x1 x2 x3 x4 y".split() 
data_df = df.TensorFlowDataFrame() 
data_df.from_csv(filepatterns, 
      default_values, 
      has_header=False, 
      column_names=column_names, 
      num_threads=1, 
      enqueue_size=None, 
      batch_size=10, 
      queue_capacity=None, 
      min_after_dequeue=None, 
      shuffle=False, 
      seed=None) 
batch = data_df.run_one_epoch() 

错误:

I tensorflow/core/common_runtime/gpu/gpu_device.cc:1041] Creating TensorFlow device (/gpu:0) -> (device: 0, name: Tesla K40m, pci bus id: 0000:81:00.0) Traceback (most recent call last): File "/home/huaxing.jinhx/proj/tf_samples/read_csv.py", line 32, in batch = data_df.run_one_batch() File "/usr/local/lib/python2.7/dist-packages/tensorflow/contrib/learn/python/learn/dataframe/tensorflow_dataframe.py", line 263, in run_one_batch return list(self.run(num_batches=1))[0] File "/usr/local/lib/python2.7/dist-packages/tensorflow/contrib/learn/python/learn/dataframe/tensorflow_dataframe.py", line 128, in run values = session.run(cols) File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py", line 717, in run run_metadata_ptr) File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py", line 855, in _run raise RuntimeError('The Session graph is empty. Add operations to the ' RuntimeError: The Session graph is empty. Add operations to the graph before calling run().

+1

请在这里发布您的完整代码,而不是指向一张图片。 – olibiaz

+0

完成。谢谢。 – King2016

回答

0

from_csv()是给你一个新数据框TensorFlowDataFrame一个类的方法。在这里,您正在对空数据框执行run_one_epoch(),这解释了错误。相反,请试试这个:

data_df = df.TensorFlowDataFrame.from_csv(...) 
batch = data_df.run_one_epoch()