У меня проблемы с определением источников входного сигнала с несколькими метками для обучения сети в caffe, я не могу понять, как определить источники входного сигнала.
Я модифицирую caffenet для получения нескольких меток имногократная оптимизация потерь и точности.
Подробно:
У меня есть один файл меток, в котором есть несколько label_weather.txt, например:
- 0.jpg 0
- 1.jpg 3
- 2.jpg 1
- 3.jpg 0
- 4.jpg 2
- ...
Кроме того, у меня есть еще один файл (label_day_night.txt), содержащий такую информацию, как
- 0.jpg 0
- 1.jpg 1
- 2.jpg 0
- 3.jpg 0
- 4.jpg 1
- ...
Мои проблемы:
- Как я могу создать базу данных LMDB, которая будет принимать входные данные от обеих меток данных
- Как добавить несколько источников ввода данных
- Существует лучший способ решенияэто проблема?
Вот первая часть моегоФайл .prototxt (в этой части есть ошибки):
# My problem is: I don't know how to create LMDB library, and how to create input data layers on prototxt file
name: "Caffenet"
layers {
name: "data"
type: DATA
top: "data"
top: "label-weather"
data_param {
source: "/home/diego/Code/dayweatherDeepLearning/Folds/lmdb/Test_fold_is_0/weather_train_lmdb/"
backend: LMDB
batch_size: 50
}
transform_param {
crop_size: 227
mean_file: "/home/diego/Code/dayweatherDeepLearning/Folds/mean/Test_fold_is_0/mean.binaryproto"
mirror: true
}
include: { phase: TRAIN }
}
layers {
name: "data"
type: DATA
top: "data"
top: "label-weather"
data_param {
source: "/home/diego/Code/dayweatherDeepLearning/Folds/lmdb/Test_fold_is_0/weather_val_lmdb"
backend: LMDB
batch_size: 50
}
transform_param {
crop_size: 227
mean_file: "/home/diego/Code/dayweatherDeepLearning/Folds/mean/Test_fold_is_0/mean.binaryproto"
mirror: false
}
include: { phase: TEST }
}
layers {
name: "data"
type: DATA
top: "data"
top: "label-day"
data_param {
source: "/home/diego/Code/dayweatherDeepLearning/Folds/lmdb/Test_fold_is_0/day_train_lmdb/"
backend: LMDB
batch_size: 50
}
transform_param {
crop_size: 227
mean_file: "/home/diego/Code/dayweatherDeepLearning/Folds/mean/Test_fold_is_0/mean.binaryproto"
mirror: true
}
include: { phase: TRAIN }
}
layers {
name: "data"
type: DATA
top: "data"
top: "label-day"
data_param {
source: "/home/diego/Code/dayweatherDeepLearning/Folds/lmdb/Test_fold_is_0/day_val_lmdb"
backend: LMDB
batch_size: 50
}
transform_param {
crop_size: 227
mean_file: "/home/diego/Code/dayweatherDeepLearning/Folds/mean/Test_fold_is_0/mean.binaryproto"
mirror: false
}
include: { phase: TEST }
}
Далее у меня многократная потеря на train_val_test.prototxt, вот конец файла (определения точности и потери):
...
#First layers here
# accuracy and loss layers:
layers {
name: "accuracy-weather"
type: ACCURACY
bottom: "fc8-weather"
bottom: "label-weather"
top: "accuracy-weather"
include: { phase: TEST }
}
layers {
name: "loss-weather"
type: SOFTMAX_LOSS
bottom: "fc8-weather"
bottom: "label-weather"
top: "loss-weather"
}
layers {
name: "accuracy-day"
type: ACCURACY
bottom: "fc8-day"
bottom: "label-day"
top: "accuracy-day"
include: { phase: TEST }
}
layers {
name: "loss-day"
type: SOFTMAX_LOSS
bottom: "fc8-day"
bottom: "label-day"
top: "loss-day"
}