Я новичок в TensorFlow и немного запутался в механике чтения данных. Я настроил график TensorFlow для данных mnist, но я хотел бы изменить его, чтобы я мог запустить одну программу для ее обучения + сохранить модель и запустить другую, чтобы загрузить указанный график, сделать прогнозы и вычислить точность теста. .
Где я запутался, так это в том, как обойти исходную систему ввода-вывода в графе обучения и «ввести» изображение для прогнозирования или кортеж (изображение, метка) тестовых данных для проверки точности. Чтобы прочитать данные обучения, я использую этот код:
_, input_data = util.read_examples(
paths_to_files,
batch_size,
shuffle=shuffle,
num_epochs=None)
feature_map = {
'label': tf.FixedLenFeature(
shape=[], dtype=tf.int64, default_value=[-1]),
'image': tf.FixedLenFeature(
shape=[NUM_PIXELS * NUM_PIXELS], dtype=tf.int64),
}
example = tf.parse_example(input_data, features=feature_map)
Затем я передаю пример сверточному слою и т. д. и генерирую вывод.
Теперь представьте, что я обучаю свой график с помощью этого кода, указывающего входные данные, сохраняю график и веса, а затем восстанавливаю график и веса в другом скрипте для предсказания — я хотел бы взять (скажем) 10 изображений и передать их в график для создания прогнозов. Как мне «вставить» эти 10 изображений, чтобы прогнозы вышли на другом конце?
Я играл со словарями каналов и заполнителями, но я не уверен, что они мне подходят... похоже, что они полагаются на наличие данных в памяти, а не на чтение из очереди тестовых данных. , Например.
Спасибо!