2016-12-15 56 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()