Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 如何为验证集创建迭代器。get_next()_Python 3.x_Tensorflow - Fatal编程技术网

Python 3.x 如何为验证集创建迭代器。get_next()

Python 3.x 如何为验证集创建迭代器。get_next(),python-3.x,tensorflow,Python 3.x,Tensorflow,我正在进行使用CNN模型对医学图像进行分类的项目,对于我的项目,我使用tensorflow,在做了一些搜索之后,最后,我可以使用新的tensorflow输入管道来准备训练、验证和测试集,以下是代码: train_data = tf.data.Dataset.from_tensor_slices(train_images) train_labels = tf.data.Dataset.from_tensor_slices(train_labels) train_set = tf.data.Data

我正在进行使用CNN模型对医学图像进行分类的项目,对于我的项目,我使用tensorflow,在做了一些搜索之后,最后,我可以使用新的tensorflow输入管道来准备训练、验证和测试集,以下是代码:

train_data = tf.data.Dataset.from_tensor_slices(train_images)
train_labels = tf.data.Dataset.from_tensor_slices(train_labels)
train_set = tf.data.Dataset.zip((train_data,train_labels)).shuffle(500).batch(30)

valid_data = tf.data.Dataset.from_tensor_slices(valid_images)
valid_labels = tf.data.Dataset.from_tensor_slices(valid_labels)
valid_set = tf.data.Dataset.zip((valid_data,valid_labels)).shuffle(200).batch(20)

test_data = tf.data.Dataset.from_tensor_slices(test_images)
test_labels = tf.data.Dataset.from_tensor_slices(test_labels)
test_set = tf.data.Dataset.zip((test_data, test_labels)).shuffle(200).batch(20)

# create general iterator
iterator = tf.data.Iterator.from_structure(train_set.output_types, train_set.output_shapes)
next_element = iterator.get_next()
train_init_op = iterator.make_initializer(train_set)
valid_init_op = iterator.make_initializer(valid_set)
test_init_op  = iterator.make_initializer(test_set)

我可以使用
next\u element
对序列集进行迭代(
next\u element[0]
用于图像,
next\u element[1]
用于标签),现在我想对验证集做同样的事情(为验证集创建迭代器),任何人都可以告诉我怎么做?

您应该能够使用相同的
下一个元素来获得验证和测试集

例如,通过
sess.run(valid\u init\u op)
初始化数据集,然后
next\u element
在验证集中生成数据

with tf.Session as sess:
  sess.run(train_init_op)
  image_train, label_train = next_element

  sess.run(valid_init_op)
  image_val, label_val = next_element

  sess.run(test_init_op)
  image_test, label_test = next_element

谢谢,问题解决了。我对tf.conflusion_矩阵使用标签_val,但现在我遇到了问题,验证批次设置为20,它只为这20个批次提供了混淆_矩阵,你知道我如何解决这个问题吗?这似乎是一个单独的问题。也许问一个新问题不是个坏主意。我解决了那个问题,但我又犯了一个错误,我在一个单独的问题中问了这个错误,你可以花点时间来看看