1
我在tf-slim-mnist中讀了一個例子,在Google上讀了一個或兩個答案,但是他們都將數據提供給'圖像'張量和'從已經填滿的數據中標記張量。例如,在TF-超薄MNIST,如何在張量流slim.learning.train中使用feed_dict
# load batch of dataset
images, labels = load_batch(
dataset,
FLAGS.batch_size,
is_training=True)
def load_batch(dataset, batch_size=32, height=28, width=28, is_training=False):
data_provider = slim.dataset_data_provider.DatasetDataProvider(dataset)
image, label = data_provider.get(['image', 'label'])
image = lenet_preprocessing.preprocess_image(
image,
height,
width,
is_training)
images, labels = tf.train.batch(
[image, label],
batch_size=batch_size,
allow_smaller_final_batch=True)
return images, labels
另一個例子,在tensorflow GitHub的問題#5987,
graph = tf.Graph()
with graph.as_default():
image, label = input('train', FLAGS.dataset_dir)
images, labels = tf.train.shuffle_batch([image, label], batch_size=FLAGS.batch_size, capacity=1000 + 3 * FLAGS.batch_size, min_after_dequeue=1000)
images_validation, labels_validation = inputs('validation', FLAGS.dataset_dir, 5000)
images_test, labels_test = inputs('test', FLAGS.dataset_dir, 10000)
因爲我的數據的大小是可變的,這是很難填補的張量的數據。
有什麼辦法可以用slim.learning.train()來使用feed_dict嗎?將feed_dict作爲參數添加到train_step_fn()是否是一種正確的方法?如果是,如何?謝謝。