我有一个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
我希望这不是加载到张量的正确方法
答案 0 :(得分:0)
sess.run(tf.shape(x))
返回x的形状,而不是x的值。文件的内容是标量字符串,因此其形状为[]
,这与预期的一样。 sess.run(x)
OTOH应该给您字符串值。