概述
和java和scala处理的方式不同,tensorflow在进行hdfs文件读取的时候主要是先要import HdfsClient这个包然后才能进行相应 的hdfs文件读取
from pyhdfs import HdfsClient
client = HdfsClient(hosts = '172.18.11.72:50070')
print(client.list_status('/'))
file = client.open("/scaler.0.2/part-00000")
count = 0
while 1:
line = file.readline()
print line
count = count + 1
if not line:
break
print ("count:" + count)
while 1:里面的部分是对hdfs文件按行读,并测试行数。但是在读取hdfs文件的时候tensorflow的速度真的是很慢。上面的程序对于167万行左右的文件数竟然跑了好几个小时。。。我和我的小伙伴都惊呆了,我就在想难道tensorflow加载数据这么慢吗?带着这个疑问我又进行了本地文件的读取,事情有了转折。
path = "/home/wangrui/important/data.scaler.svm.0.2/part-00000"
with open(path,'r') as file:
# with client.open("/scaler.0.2/part-00000") as file:
lines = file.readlines()
count = 0
for line in lines:
word = line.split(" ")
features = []
label = []
for i in range(1, len(word)):
if i < (len(word) - 1):
features.append(word[i].split(":")[1])
else:
features.append(word[len(word) - 1].split(":")[1].split("n")[0])
label.append(int(word[0]))
)
write.write(example.SerializeToString())
write.close()
这个操作所需要的时间竟然只要几分钟,也就是说只有在加载hdfs文件的时候才会出现上面那种读取数据花费很长时间的情况,对于本地的数据,tensorflow还是很正常的。如果有知道为什么会这样的小伙伴可以在评论中告诉我,让我解除一下疑惑。同时希望可以一起学习。
最后
以上就是灵巧天空为你收集整理的Tensorflow第二课文件读取的全部内容,希望文章能够帮你解决Tensorflow第二课文件读取所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复