Цель
Я хочу изменить этот учебник , чтобы использовать этот набор данных временного ряда вместо обычных данных изображения.
Подход
Я определил несколько подходов для получения данных в 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
Ошибка / выпуск
Ошибка типа: input_fn
должен быть вызван, учитывая: DatasetV1Функции адаптера: ((128, 9), (6,)), типы: (tf.float32, tf.float32)>
Воспроизведение
Я использую экземпляр PaperSpace. Если у вас есть учетная запись, вы можете посмотреть здесь .
- Если нет, получите полный код в этой сущности: .
- Набор данных из 2 .
Настройка:
- Tensorflow 1.15
- Python 3.6.8
- Стремительное выполнение: выкл. (Ad * 1061 * библиотека не сможет его обработать).
Ошибка при вызове:
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, так как кажется, что функция ввода («создать функцию ввода, которая возвращает набор данных») неверна.