我是靠谱客的博主 灵巧天空,最近开发中收集的这篇文章主要介绍Tensorflow第二课文件读取,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

和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第二课文件读取所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(55)

评论列表共有 0 条评论

立即
投稿
返回
顶部