Python tensorflow数据集tf.estimator.inputs.numpy\u input\u fn

Python tensorflow数据集tf.estimator.inputs.numpy\u input\u fn,python,tensorflow,dataset,Python,Tensorflow,Dataset,我正在编写一个代码,用于在tensorflow中读取光盘中的图像和标签,然后尝试调用tf.estimator.inputs.numpy\u input\u fn。如何传递整个数据集而不是单个图像。我的代码如下所示: filenames = tf.constant(filenames) labels = tf.constant(labels) dataset = tf.data.Dataset.from_tensor_slices((filenames, labels)) dataset = d

我正在编写一个代码,用于在tensorflow中读取光盘中的图像和标签,然后尝试调用tf.estimator.inputs.numpy\u input\u fn。如何传递整个数据集而不是单个图像。我的代码如下所示:

filenames = tf.constant(filenames)
labels = tf.constant(labels)

dataset = tf.data.Dataset.from_tensor_slices((filenames, labels))
dataset = dataset.map(_parse_function)
dataset_batched = dataset.batch(10)
iterator = dataset_batched.make_one_shot_iterator()
features, labels = iterator.get_next()

with tf.Session() as sess:

  print(dataset_batched)
  print(np.shape(sess.run(features)))
  print(np.shape(sess.run(labels)))

  mnist_classifier = tf.estimator.Estimator(model_fn=cnn_model_mk, model_dir=dir)
  train_input_fn = tf.estimator.inputs.numpy_input_fn(x={"x": np.array(sess.run(features))},
                                                  y=np.array(sess.run(labels)),
                                                  batch_size=1,
                                                  num_epochs=None,
                                                  shuffle=False)
  mnist_classifier.train(input_fn=train_input_fn, steps=1)
我的问题是如何在这里传递数据集x={x:np.arraysess.runfeatures}

这里不需要/使用numpy\u输入。您应该将顶部的代码封装到一个函数中,比如my_input_fn,它返回iterator.get_next,然后将input_fn=my_input_fn传递到train调用中。这将把完整的数据集分10批传递给训练代码

numpy\u input\u fn适用于阵列中已有完整数据集且需要快速执行批处理/洗牌/重复等操作的情况。

此处无需使用numpy\u input\u fn。您应该将顶部的代码封装到一个函数中,比如my_input_fn,它返回iterator.get_next,然后将input_fn=my_input_fn传递到train调用中。这将把完整的数据集分10批传递给训练代码


numpy\u input\u fn适用于数组中已有完整数据集且需要快速执行批处理/洗牌/重复等操作的情况。

我尝试从我的input\u fn返回iterator.get\u next,但出现了一个错误,错误是:ValueError:input\u fn必须返回tf.data.dataset或可调用数据集。您能帮忙吗?请发布一个单独的问题,并提供一个最小的可复制示例。我试图从输入返回iterator.get\u next,但出现了一个错误,错误是:ValueError:input\u fn必须返回tf.data.Dataset或callable。你能帮忙吗?请用一个最小的可重复的例子单独提问。