2016-06-23 2 views
1

Я пытаюсь подготовить данные для использования в нейронной сети. И я довольно потерял во всей документации. Многие примеры Caffe предоставляют подготовленные данные, но я хочу подготовить свои собственные. Моя цель состоит в том, чтобы моя нейронная сеть использовала входные изображения (назовем их x) и выводим разные изображения (давайте назовем их y). Я решил использовать файлы HDF5 для хранения моих данных с помощью python (что я знаю, как это сделать). Тем не менее, я хочу, чтобы «показать» нейронная сеть х и у и есть его выходной у шапки, как в изображение, похожее на желаемый результат, у.Организация данных для нейронной сети в кафе

Но я не уверен, как именно большинство сверточных нейронных сетей инкапсулируют входы и желаемые выходы для подачи в нейронную сеть (т. Е. Как сети классификации подают метки с данными). Должен ли я поставить x и y в тот же набор данных HDF5, а затем в слой данных Caffe? Если это так, я должен организовать набор данных, например: (x1, y1, x2, y2, ...) или подобное (x1, x2, ..., xn, y1, y2, ..., yn) , Или должен идеальный выход, y, а входы, x, быть отсортированным в отдельные наборы данных? И если это так, я могу загрузить оба из них в слой данных Caffe?

Большое спасибо заранее.

+0

Какие примеры вы нашли среди них ближе всего к тому, что вы пытаетесь сделать? Я работаю в базовой классификации изображений, но я мог бы перевести на вашу парадигму. – Prune

+0

@Prune Я полагаю, что самое близкое, что я могу себе представить, - это своего рода сочетание между сверкающими нейронными сетями изображений, такими как пример MNIST от Caffe и пиксельная классификация, которая часто используется для сегментации изображений примерно так: http://arxiv.org/ pdf/1411.4038v2.pdf Пример семантической сегментации. Надеюсь, это немного яснее. В конце я хочу читать изображения и выводить «аннотированные» изображения. – Her

+0

Если я правильно понимаю ваши объяснения, ваша проблема заключается в том, что вы пытаетесь применить к типу преобразования тип решения классификации (отверстие для каждого отверстия как один из конечного заданного набора вариантов). Вы хотите ввести много пар (x, y) для обучения модели. После обучения модели вы хотите ввести изображение ** z ** и получить преобразованное изображение ** z-hat **, которое не находится в наборе ** y ** изображений при обучении. Это верно? Скорее, вы хотите изменить ** z **, что в том же духе, что и обучение x-> y. – Prune

ответ

0

Я немного сомкнул это вокруг головы, отвлек ее от нескольких друзей, и лучшее, что я придумал до сих пор, - это сфокусировать парадигму.

Это на самом деле сложная задача прогнозирования, а не задача классификации. То, что у вас есть, является разновидностью многомерного преобразования. Я считаю, что вам захочется организовать набор данных как (x1, y1), (x2, y2), причем ваш прогноз вывода является вектором (изображение в линейном формате) или матрицей, соответствующей предпоследнему слою NN ,

+0

Спасибо, что ответили, @Prune! Моя команда и я попробуем этот метод и обновим этот пост, как только наше оборудование станет доступным (в настоящее время происходит некоторое тестирование, что приостановило ход). – Her

+0

Отлично; Надеюсь, это помогло. Проблема состоит в том, чтобы обучать модель не слишком строгим образом, чтобы вы научили ее преобразованиям (процессам), а не строгим классификациям. – Prune

Смежные вопросы