繁体   English   中英

如何加速将张量转换为 tensorflow_datasets 中 numpy 数组的代码?

[英]How to accelerate the code which convert tensor to numpy array in tensorflow_datasets?

尽管我想将张量转换为 tensorflow_datasets 中的 numpy 数组,但我的代码逐渐变慢。 现在,我使用 lsun/bedroom 数据集,它有超过 300 万张图像。 如何加速我的代码?

我的代码每 100,000 个图像保存具有 numpy 数组的元组。

train_tf = tfds.load("lsun/bedroom", data_dir="{$my_directory}", download=False)
train_tf = train_tf["train"]
for data in train_tf:
    if d_cnt==0 and d_cnt%100001==0:
        train = (tfds.as_numpy(data["image"]), )
    else:
        train += (tfds.as_numpy(data["image"]), )

    if d_cnt%100000==0 and d_cnt!=0:
        with open("{$my_directory}/lsun.pickle%d"%(d_cnt), "wb") as f:
            pickle.dump(train, f)

    d_cnt += 1

您的if条件在第一次通过后永远不会被执行,因此您的train变量会不断累积。

我认为您希望有以下条件:

if d_cnt!=0 and d_cnt%100001==0:
    train = (tfds.as_numpy(data["image"]), )

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM