设为首页 加入收藏

TOP

Tensorflow第二课文件读取
2019-04-14 12:19:13 】 浏览:26
Tags:Tensorflow 第二 文件 读取
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/clever_wr/article/details/80277075

和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还是很正常的。如果有知道为什么会这样的小伙伴可以在评论中告诉我,让我解除一下疑惑。同时希望可以一起学习。


编程开发网
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇hdfs定时上传shell的案例 -- (.. 下一篇HUE整合HDFS MR

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

array(4) { ["type"]=> int(8) ["message"]=> string(24) "Undefined variable: jobs" ["file"]=> string(32) "/mnt/wp/cppentry/do/bencandy.php" ["line"]=> int(214) }