Как обучать сквозной CNN?

При использовании кофе как

./build/tools/caffe train --solver=models/Handmade/solver.prototxt

caffe также попадает в «фазу: ТЕСТ», но у меня нет тестовых данных. Я хочу обучить только параметры моих обучающих данных, поэтому я не использовал «фазу: тест» в «train.prototxt», что вызывает ошибку. Что я должен делать?


person vivkul    schedule 15.01.2016    source источник


Ответы (1)


Я не знаю, можете ли вы полностью пропустить фазу тестирования, но вы можете обучить свою модель, не нуждаясь в отдельном наборе тестов. Также можно запретить решателю когда-либо переключаться на фазу тестирования.

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

Чтобы ограничить вычисления фазой обучения, увеличьте только значение test_interval в определении вашего решателя до числа, превышающего ваш тренировочный набор, или, что еще лучше, больше, чем max_iter. Это предотвращает переключение решателя на фазу тестирования.

Я нахожу немного странным обучать модель, не желая знать, как это делается на отдельном наборе точек данных.

person ypx    schedule 15.01.2016
comment
Вы имеете в виду, что нет никакого способа избежать тестирования? - person vivkul; 16.01.2016
comment
Обнаружено, что если мы не используем фазу: TRAIN/TEST в train.prototxt, тогда он использует тот же файл в поезде, что и в тесте, но, поскольку файл уже заблокирован поездом, он не может использовать его для тестирования, вызывая взаимоблокировку. . Поэтому лучше использовать для теста другой файл (отличается только имя файла) с тем же содержимым. - person vivkul; 17.01.2016
comment
Вы не столкнетесь с этой проблемой, если дублируете слой с двумя разными фазами и повторно используете одни и те же источники. По крайней мере для lmdb. - person ypx; 17.01.2016
comment
ypx, даже при дублировании слоя с разными фазами, но с одним и тем же источником, он не продолжается. Кажется, он в тупике. Только по разным источникам она продолжается. - person vivkul; 17.01.2016
comment
@vivkul странно, у меня раньше не было этой проблемы. Но вы можете создать фиктивный тестовый набор данных + установить test_interval на › max_iter, чтобы пропустить тестирование. - person ypx; 17.01.2016