Python 3.x 如何为验证集创建迭代器。get_next()
我正在进行使用CNN模型对医学图像进行分类的项目,对于我的项目,我使用tensorflow,在做了一些搜索之后,最后,我可以使用新的tensorflow输入管道来准备训练、验证和测试集,以下是代码: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
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个批次提供了混淆_矩阵,你知道我如何解决这个问题吗?这似乎是一个单独的问题。也许问一个新问题不是个坏主意。我解决了那个问题,但我又犯了一个错误,我在一个单独的问题中问了这个错误,你可以花点时间来看看