Python 如何使用实验性的保存和加载方法保存和使用Tensorflow数据集?

Python 如何使用实验性的保存和加载方法保存和使用Tensorflow数据集?,python,tensorflow,tensorflow-datasets,Python,Tensorflow,Tensorflow Datasets,我编写了两个python文件create_save.py和load_use.py,如下所示。 create_save.py运行良好,正在保存tf数据集 但是load_use.py给出的错误如下所示。 如何修复load_use.py错误 创建_save.py import os import numpy as np import pandas as pd import tensorflow as tf from tensorflow.data.experimental import save as

我编写了两个python文件create_save.py和load_use.py,如下所示。 create_save.py运行良好,正在保存tf数据集

但是load_use.py给出的错误如下所示。 如何修复load_use.py错误

创建_save.py

import os
import numpy as np
import pandas as pd
import tensorflow as tf
from tensorflow.data.experimental import save as tf_save
ds_dir = os.path.join('./', "save_load_tfds_dir")
ds = tf.data.Dataset.range(12)
tf_save(ds, ds_dir)
load_use.py

import os
import numpy as np
import pandas as pd
import tensorflow as tf
ds_dir = os.path.join('./', "save_load_tfds_dir")
new_ds = tf.data.experimental.load(ds_dir)
for elem in new_ds:
  print(elem)
上述load_use.py程序出现以下错误:

TypeError回溯(最近一次调用上次) 在里面 ---->1新的ds=tf.data.experimental.load(ds\u dir)

TypeError:load()缺少1个必需的位置参数: “元素规格”


如何修复上述错误?

要加载以前保存的数据集,需要指定元素规格参数——保存的数据集元素的类型签名,可以通过tf.data.dataset.element规格获得。此要求存在,以便加载的数据集的形状推断不需要执行I/O

import tempfile
path = os.path.join(tempfile.gettempdir(), "saved_data")
# Save a dataset
dataset = tf.data.Dataset.range(2)
tf.data.experimental.save(dataset, path)
new_dataset = tf.data.experimental.load(path,
    tf.TensorSpec(shape=(), dtype=tf.int64))  # element_spec arg
for elem in new_dataset:
  print(elem)
创建
tf.data.Dataset
时,它具有属性
element\u spec
,这是加载保存的文件时应该使用的属性。(请参阅:)

在上面的示例中,
load()
方法中的
element\u spec
参数是根据保存在代码中的数据的类型规范给出的


非常感谢您的快速回答。对于实际程序,元素规格很大。在create_save.py中是否有自动保存TensorSpec值的方法?是否有自动获取元素规范的方法?保存的数据集元素的类型签名,可通过tf.data.dataset.element_spec获得。如何将TensorSpec tf.TensorSpec(shape=(),dtype=tf.int64)element_spec转换为字符串?以及如何将字符串“tf.TensorSpec(shape=(),dtype=tf.int64)”转换为TensorSpec元素规范?TensorSpec可以被认为是正在加载的数据的签名。其思想是,当您提供此张量规格信息时,
load
方法将知道如何加载。我建议您查看更多保存数据集的方法,而不是使用实验版本谢谢mb0850。我将查看您提供的链接。