通常情况下,我们在训练的时候都想边训练边找来一批验证数据看看在验证数据上的性能。但是由于tensorflow中如果使用queue的方法来读取数据的话,这方法就不好实现了,主要问题是由于queue读取数据的时候,我们的graph的构建就不是使用placeholder的方法而是,那么在同一个session中就没办法换输入数据了。为了更好的描述这个问题,我先给出代码:
#使用queue方法得到的数据
train_images, train_label = get_batch_train_data(batch_size)
valid_images, valid_label = get_batch_valid_data(batch_size)
def build_graph(x, y):
#the first layer
w1 = tf......
b1 = tf.....
h1 = tf.nn.relu(tf.matmul(x,w1)+b)...
#the second layer
.....
#the xx layer
......
h = tf.nn.relu(..)
loss = .....
accuracy = ...
train_op = ....
return loss, accuracy, train