无法在tensorflow中正确读取文本文件

时间:2017-01-24 02:29:39

标签: python tensorflow readfile

我有一个txt文件,其中有2000行和10列,列数据由制表符分隔。要读取文件,我只需定义一个函数。

def readinfo(path):
    info = tf.read_file(path)
return info

当我尝试阅读文件时

path = os.path.join(datadirectory,'1_test','2015.09.13')
sess = tf.Session()
sess.run(tf.global_variables_initializer())
x = readdata.readinfo(path)
sess.run(x)
print(sess.run(tf.shape(x)))

但输出为空[]

有些帖子说我们必须使用sess.run来加载,所以,我尝试不使用函数

path = os.path.join(datadirectory,'1st_test','2003.10.22.12.09.13')
sess = tf.Session()
x = tf.read_file(path)
print(sess.run(x))

我以单行出局(正在阅读标签和下一行)

...0.127\t3.145\t-0.015\t\n1.34\t....

我希望其大小为[2000x10],但未正确加载。

我需要在函数中加载文件,因为我需要对列数据进行一些数学计算。如何在函数内加载文件?这样我就可以调用该函数了。

我可以使用

来做
def readinfo(path):
    x = numpy.loadtxt(path)
    # loading x in to tensor
    xtensor = tf.constant(x,tf.float32)
    return xtensor

我希望这不是加载到张量的正确方法

1 个答案:

答案 0 :(得分:0)

sess.run(tf.shape(x))返回x的形状,而不是x的值。文件的内容是标量字符串,因此其形状为[],这与预期的一样。 sess.run(x) OTOH应该给您字符串值。