2

Возможно ли изменить источник входного сигнала слоя ImageData или слой MemoryData на лету?Изменение уровня входных данных во время обучения в Caffe

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

Итак, я имею в виду ре-генерирующего imagelist.txt, а также nonimage данных (в памяти) каждую эпоху и прикрепить новый файл в ImageData слой и инициализировать MemoryDataLayer с новыми данными.

Как я могу убедиться, что я повторно инициализирую сеть новым текстовым файлом без перезапуска учебного процесса. (Я хочу, чтобы сеть продолжала обучение на одном и том же этапе, момент и т. Д., Только начинал читать файлы изображений из нового файла вместо того, который был первоначально скомпилирован).

layer { 
name: "imgdata" 
type: "ImageData" 
top: "imgdata" 
top: "dlabel" 
transform_param { 
    # Transform param here 
} 
image_data_param { 
source: "path to imagelist.txt" ## This file changes after n iterartions 
batch_size: XX 
new_height: XXX 
new_width: XXX 
} 
} 

И Кроме того, я хочу, чтобы иметь возможность скопировать данные повторно перемешиваются в MemoryData слой. Могу ли я позвонить Net.set_input_arrays во время тренировки?

layers { 
    name: "data" 
    type: MEMORY_DATA 
    top: "data" 
    top: "label" 
    memory_data_param { 
    batch_size: XX 
    channels: X 
    height: XXX 
    width: XXX 
    } 
+0

Вы считаете, что используете PythonLayer? – Shai

+0

Благодарим вас за комментарий. Даже со словом, написанным на python, я не уверен, как я могу выровнять изображения и данные без изображения во время перетасовки. – Prophecies

+0

вы можете делать все внутри слоя Python. все входы из одного слоя – Shai

ответ

1

Ваша проблема может быть решена с помощью Python layers, как это было предложено в comments. Пример использования слоя python можно найти в caffe here.

В скрипте python вы можете написать код, чтобы перетасовать данные, сохраняя их выравнивания.

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