【发布时间】:2020-06-11 17:43:27
【问题描述】:
目标
我想 mod this tutorial 使用 this time series dataset 而不是普通的图像数据。
方法
我已经确定了几种将数据导入tf.estimator API 的方法。
最方便的(因为使用.from_generator 是猜测......)是使用tf.data.Dataset.from_tensor_slices(training_data_ndarray) 如下:
trnX, trnY, tstX, tstY = load_dataset()
trnXl = trnX.tolist()
tstXl = tstX.tolist()
tstYl = tstY.tolist()
trnYl = trnY.tolist()
trndataset = tf.data.Dataset.from_tensor_slices((trnXl, trnYl))
tstdataset = tf.data.Dataset.from_tensor_slices((tstXl, tstYl))
...
def _input_fn(partition):
if partition == "train":
dst = trndataset
elif partition == "predict":
dst = tstdataset
else:
dst = tstdataset
return dst
错误/问题
TypeError:
input_fn必须是可调用的,给定:DatasetV1Adapter 形状:((128, 9), (6,)),类型:(tf.float32, tf.float32)>
复制
我使用纸空间实例。如果您有帐户,可以查看here。
- 如果没有,请获取full code in this gist:。
- 来自2的数据集。
设置:
- 张量流 1.15
- Python 3.6.8
- 急切执行:关闭(adanet 库不会处理它)。
调用时出现错误:
tf.estimator.train_and_evaluate(
estimator,
train_spec=tf.estimator.TrainSpec(
input_fn=_input_fn("train"),
max_steps=TRAIN_STEPS),
eval_spec=tf.estimator.EvalSpec(
input_fn=_input_fn("test"),
steps=None,
start_delay_secs=1,
throttle_secs=1,
))
现在怎么办?
我认为使用创建 tf.data.Dataset 的方法没有前进的道路,因为输入函数(“创建返回数据集的输入函数”)似乎不正确。
【问题讨论】:
标签: python tensorflow tensorflow-datasets tensorflow-estimator automl