Caffe Prototxt example files to run supervised domain confusion experiment. Takes 3 data sources as input (1) source training labeled data (2) target training labeled data (3) target test unlabeled data
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
average_loss: 25 | |
base_lr: 0.000100 | |
display: 25 | |
gamma: 0.1 | |
iter_size: 1 | |
lr_policy: "fixed" | |
max_iter: 100000 | |
momentum: 0.9 | |
net: "trainval_domain-confusion_super.prototxt" | |
snapshot: 1000 | |
snapshot_prefix: "snapshots/amazon_webcam_dom-conf-super_split-0" | |
stepsize: 1000 | |
test_initialization: false | |
test_interval: 50 | |
test_iter: 256 | |
weight_decay: 0.0005 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
layer { | |
name: "data_s" | |
type: "ImageData" | |
top: "data_s" | |
top: "label_s" | |
include { | |
phase: TRAIN | |
} | |
transform_param { | |
mirror: true | |
crop_size: 227 | |
mean_value: 104.0 | |
mean_value: 116.7 | |
mean_value: 122.7 | |
} | |
image_data_param { | |
source: "data/splits/office/amazon/source/train/split_00.txt" | |
batch_size: 15 | |
shuffle: false | |
new_width: 256 | |
new_height: 256 | |
} | |
} | |
layer { | |
name: "data_t" | |
type: "ImageData" | |
top: "data_t" | |
top: "label_t" | |
include { | |
phase: TRAIN | |
} | |
transform_param { | |
mirror: true | |
crop_size: 227 | |
mean_value: 104.0 | |
mean_value: 116.7 | |
mean_value: 122.7 | |
} | |
image_data_param { | |
source: "data/splits/office/webcam/target/train/same_category-split_00.txt" | |
batch_size: 15 | |
shuffle: false | |
new_width: 256 | |
new_height: 256 | |
} | |
} | |
layer { | |
name: "data" | |
type: "Concat" | |
bottom: "data_s" | |
bottom: "data_t" | |
top: "data" | |
include { | |
phase: TRAIN | |
} | |
concat_param { | |
concat_dim: 0 | |
} | |
} | |
layer { | |
name: "data" | |
type: "ImageData" | |
top: "data" | |
top: "label" | |
include { | |
phase: TEST | |
} | |
transform_param { | |
mirror: false | |
crop_size: 227 | |
mean_value: 104.0 | |
mean_value: 116.7 | |
mean_value: 122.7 | |
} | |
image_data_param { | |
source: "data/splits/office/webcam/target/test/same_category-split_00.txt" | |
batch_size: 1 | |
shuffle: false | |
new_width: 256 | |
new_height: 256 | |
} | |
} | |
layer { | |
name: "data" | |
type: "Concat" | |
bottom: "label_s" | |
bottom: "label_t" | |
top: "label" | |
include { | |
phase: TRAIN | |
} | |
concat_param { | |
concat_dim: 0 | |
} | |
} | |
layer { | |
name: "source_domain_label" | |
type: "DummyData" | |
top: "source_domain_label" | |
include { | |
phase: TRAIN | |
} | |
dummy_data_param { | |
data_filler { | |
type: "constant" | |
value: 0 | |
} | |
shape { | |
dim: 15 | |
dim: 1 | |
dim: 1 | |
} | |
} | |
} | |
layer { | |
name: "target_domain_label" | |
type: "DummyData" | |
top: "target_domain_label" | |
include { | |
phase: TRAIN | |
} | |
dummy_data_param { | |
data_filler { | |
type: "constant" | |
value: 1 | |
} | |
shape { | |
dim: 15 | |
dim: 1 | |
dim: 1 | |
} | |
} | |
} | |
layer { | |
name: "domain_label" | |
type: "Concat" | |
bottom: "source_domain_label" | |
bottom: "target_domain_label" | |
top: "domain_label" | |
include { | |
phase: TRAIN | |
} | |
concat_param { | |
concat_dim: 0 | |
} | |
} | |
layer { | |
name: "source_domain_label_inv" | |
type: "DummyData" | |
top: "source_domain_label_inv" | |
include { | |
phase: TRAIN | |
} | |
dummy_data_param { | |
data_filler { | |
type: "constant" | |
value: 1 | |
} | |
shape { | |
dim: 15 | |
dim: 1 | |
dim: 1 | |
} | |
} | |
} | |
layer { | |
name: "target_domain_label_inv" | |
type: "DummyData" | |
top: "target_domain_label_inv" | |
include { | |
phase: TRAIN | |
} | |
dummy_data_param { | |
data_filler { | |
type: "constant" | |
value: 0 | |
} | |
shape { | |
dim: 15 | |
dim: 1 | |
dim: 1 | |
} | |
} | |
} | |
layer { | |
name: "domain_label_inv" | |
type: "Concat" | |
bottom: "source_domain_label_inv" | |
bottom: "target_domain_label_inv" | |
top: "domain_label_inv" | |
include { | |
phase: TRAIN | |
} | |
concat_param { | |
concat_dim: 0 | |
} | |
} | |
layer { | |
name: "conv1" | |
type: "Convolution" | |
bottom: "data" | |
top: "conv1" | |
param { | |
lr_mult: 1.0 | |
decay_mult: 1.0 | |
} | |
param { | |
lr_mult: 2.0 | |
decay_mult: 0.0 | |
} | |
convolution_param { | |
num_output: 96 | |
pad: 0 | |
kernel_size: 11 | |
group: 1 | |
stride: 4 | |
weight_filler { | |
type: "gaussian" | |
std: 0.005 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "relu1" | |
type: "ReLU" | |
bottom: "conv1" | |
top: "conv1" | |
} | |
layer { | |
name: "pool1" | |
type: "Pooling" | |
bottom: "conv1" | |
top: "pool1" | |
pooling_param { | |
pool: MAX | |
kernel_size: 3 | |
stride: 2 | |
} | |
} | |
layer { | |
name: "norm1" | |
type: "LRN" | |
bottom: "pool1" | |
top: "norm1" | |
lrn_param { | |
local_size: 5 | |
alpha: 0.0001 | |
beta: 0.75 | |
} | |
} | |
layer { | |
name: "conv2" | |
type: "Convolution" | |
bottom: "norm1" | |
top: "conv2" | |
param { | |
lr_mult: 1.0 | |
decay_mult: 1.0 | |
} | |
param { | |
lr_mult: 2.0 | |
decay_mult: 0.0 | |
} | |
convolution_param { | |
num_output: 256 | |
pad: 2 | |
kernel_size: 5 | |
group: 2 | |
stride: 1 | |
weight_filler { | |
type: "gaussian" | |
std: 0.005 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "relu2" | |
type: "ReLU" | |
bottom: "conv2" | |
top: "conv2" | |
} | |
layer { | |
name: "pool2" | |
type: "Pooling" | |
bottom: "conv2" | |
top: "pool2" | |
pooling_param { | |
pool: MAX | |
kernel_size: 3 | |
stride: 2 | |
} | |
} | |
layer { | |
name: "norm2" | |
type: "LRN" | |
bottom: "pool2" | |
top: "norm2" | |
lrn_param { | |
local_size: 5 | |
alpha: 0.0001 | |
beta: 0.75 | |
} | |
} | |
layer { | |
name: "conv3" | |
type: "Convolution" | |
bottom: "norm2" | |
top: "conv3" | |
param { | |
lr_mult: 1.0 | |
decay_mult: 1.0 | |
} | |
param { | |
lr_mult: 2.0 | |
decay_mult: 0.0 | |
} | |
convolution_param { | |
num_output: 384 | |
pad: 1 | |
kernel_size: 3 | |
group: 1 | |
stride: 1 | |
weight_filler { | |
type: "gaussian" | |
std: 0.005 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "relu3" | |
type: "ReLU" | |
bottom: "conv3" | |
top: "conv3" | |
} | |
layer { | |
name: "conv4" | |
type: "Convolution" | |
bottom: "conv3" | |
top: "conv4" | |
param { | |
lr_mult: 1.0 | |
decay_mult: 1.0 | |
} | |
param { | |
lr_mult: 2.0 | |
decay_mult: 0.0 | |
} | |
convolution_param { | |
num_output: 384 | |
pad: 1 | |
kernel_size: 3 | |
group: 2 | |
stride: 1 | |
weight_filler { | |
type: "gaussian" | |
std: 0.005 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "relu4" | |
type: "ReLU" | |
bottom: "conv4" | |
top: "conv4" | |
} | |
layer { | |
name: "conv5" | |
type: "Convolution" | |
bottom: "conv4" | |
top: "conv5" | |
param { | |
lr_mult: 1.0 | |
decay_mult: 1.0 | |
} | |
param { | |
lr_mult: 2.0 | |
decay_mult: 0.0 | |
} | |
convolution_param { | |
num_output: 256 | |
pad: 1 | |
kernel_size: 3 | |
group: 2 | |
stride: 1 | |
weight_filler { | |
type: "gaussian" | |
std: 0.005 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "relu5" | |
type: "ReLU" | |
bottom: "conv5" | |
top: "conv5" | |
} | |
layer { | |
name: "pool5" | |
type: "Pooling" | |
bottom: "conv5" | |
top: "pool5" | |
pooling_param { | |
pool: MAX | |
kernel_size: 3 | |
stride: 2 | |
} | |
} | |
layer { | |
name: "fc6" | |
type: "InnerProduct" | |
bottom: "pool5" | |
top: "fc6" | |
param { | |
lr_mult: 1.0 | |
decay_mult: 1.0 | |
} | |
param { | |
lr_mult: 2.0 | |
decay_mult: 0.0 | |
} | |
inner_product_param { | |
num_output: 4096 | |
weight_filler { | |
type: "gaussian" | |
std: 0.005 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "relu6" | |
type: "ReLU" | |
bottom: "fc6" | |
top: "fc6" | |
} | |
layer { | |
name: "drop6" | |
type: "Dropout" | |
bottom: "fc6" | |
top: "fc6" | |
dropout_param { | |
dropout_ratio: 0.5 | |
} | |
} | |
layer { | |
name: "fc7" | |
type: "InnerProduct" | |
bottom: "fc6" | |
top: "fc7" | |
param { | |
lr_mult: 1.0 | |
decay_mult: 1.0 | |
} | |
param { | |
lr_mult: 2.0 | |
decay_mult: 0.0 | |
} | |
inner_product_param { | |
num_output: 4096 | |
weight_filler { | |
type: "gaussian" | |
std: 0.005 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "relu7" | |
type: "ReLU" | |
bottom: "fc7" | |
top: "fc7" | |
} | |
layer { | |
name: "drop7" | |
type: "Dropout" | |
bottom: "fc7" | |
top: "fc7" | |
dropout_param { | |
dropout_ratio: 0.5 | |
} | |
} | |
layer { | |
name: "fc8_new" | |
type: "InnerProduct" | |
bottom: "fc7" | |
top: "fc8_new" | |
param { | |
lr_mult: 1.0 | |
decay_mult: 1.0 | |
} | |
param { | |
lr_mult: 2.0 | |
decay_mult: 0.0 | |
} | |
inner_product_param { | |
num_output: 31 | |
weight_filler { | |
type: "gaussian" | |
std: 0.005 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "domain" | |
type: "DomainConfusionInnerProduct" | |
bottom: "fc7" | |
top: "domain" | |
top: "domain_inv" | |
param { | |
lr_mult: 1.0 | |
decay_mult: 1.0 | |
} | |
param { | |
lr_mult: 2.0 | |
decay_mult: 0.0 | |
} | |
include { | |
phase: TRAIN | |
} | |
inner_product_param { | |
num_output: 2 | |
weight_filler { | |
type: "gaussian" | |
std: 0.005 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "loss_domain" | |
type: "SoftmaxWithLoss" | |
bottom: "domain" | |
bottom: "domain_label" | |
top: "loss_domain" | |
loss_weight: 0.1 | |
include { | |
phase: TRAIN | |
} | |
} | |
layer { | |
name: "loss_domain_inv" | |
type: "SoftmaxWithLoss" | |
bottom: "domain_inv" | |
bottom: "domain_label_inv" | |
top: "loss_domain_inv" | |
loss_weight: 0.1 | |
include { | |
phase: TRAIN | |
} | |
} | |
layer { | |
name: "domain_accuracy" | |
type: "Accuracy" | |
bottom: "domain" | |
bottom: "domain_label" | |
top: "domain_accuracy" | |
include { | |
phase: TRAIN | |
} | |
} | |
layer { | |
name: "loss_tr" | |
type: "SoftmaxWithLoss" | |
bottom: "fc8_new" | |
bottom: "label" | |
top: "loss_tr" | |
loss_weight: 1.0 | |
include { | |
phase: TRAIN | |
} | |
} | |
layer { | |
name: "loss" | |
type: "SoftmaxWithLoss" | |
bottom: "fc8_new" | |
bottom: "label" | |
top: "loss" | |
loss_weight: 1.0 | |
include { | |
phase: TEST | |
} | |
} | |
layer { | |
name: "prob" | |
type: "Softmax" | |
bottom: "fc8_new" | |
top: "prob" | |
include { | |
phase: TEST | |
} | |
} | |
layer { | |
name: "accuracy" | |
type: "Accuracy" | |
bottom: "prob" | |
bottom: "label" | |
top: "accuracy" | |
include { | |
phase: TEST | |
} | |
} |
Can you explain please, how can we use your method for multi source classification?
me too i want to know how i can prepare the data for the multi source classification
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
source: "data/splits/office/webcam/target/train/same_category-split_00.txt"
Can you explain the format of same_category-split_00.txt file, please?
Is it ?
/home/mahfuj/Desktop/office/dslr/back_pack/frame_0001.jpg 1
/home/mahfuj/Desktop/office/dslr/back_pack/frame_0002.jpg 1
/home/mahfuj/Desktop/office/dslr/back_pack/frame_0003.jpg 1
/home/mahfuj/Desktop/office/dslr/bike/frame_0001.jpg 2
/home/mahfuj/Desktop/office/dslr/bike/frame_0002.jpg 2
/home/mahfuj/Desktop/office/dslr/bike/frame_0003.jpg 2
/home/mahfuj/Desktop/office/dslr/bike_helmet/frame_0001.jpg 3
/home/mahfuj/Desktop/office/dslr/bike_helmet/frame_0002.jpg 3
/home/mahfuj/Desktop/office/dslr/bike_helmet/frame_0003.jpg 3
......................................................................................................
......................................................................................................
/home/mahfuj/Desktop/office/dslr/trash_can/frame_0001.jpg 31
/home/mahfuj/Desktop/office/dslr/trash_can/frame_0002.jpg 31
/home/mahfuj/Desktop/office/dslr/trash_can/frame_0003.jpg 31
OR
/home/mahfuj/Desktop/office/dslr/back_pack/frame_0001.jpg 1
/home/mahfuj/Desktop/office/dslr/back_pack/frame_0002.jpg 1
/home/mahfuj/Desktop/office/dslr/back_pack/frame_0003.jpg 1
/home/mahfuj/Desktop/office/dslr/back_pack/frame_0004.jpg
/home/mahfuj/Desktop/office/dslr/back_pack/frame_0005.jpg
/home/mahfuj/Desktop/office/dslr/back_pack/frame_0006.jpg
/home/mahfuj/Desktop/office/dslr/back_pack/frame_0007.jpg
/home/mahfuj/Desktop/office/dslr/back_pack/frame_0008.jpg
/home/mahfuj/Desktop/office/dslr/back_pack/frame_0009.jpg
/home/mahfuj/Desktop/office/dslr/back_pack/frame_0010.jpg
/home/mahfuj/Desktop/office/dslr/back_pack/frame_0011.jpg
/home/mahfuj/Desktop/office/dslr/back_pack/frame_0012.jpg
/home/mahfuj/Desktop/office/dslr/bike/frame_0001.jpg 2
/home/mahfuj/Desktop/office/dslr/bike/frame_0002.jpg 2
/home/mahfuj/Desktop/office/dslr/bike/frame_0003.jpg 2
/home/mahfuj/Desktop/office/dslr/bike/frame_0004.jpg
/home/mahfuj/Desktop/office/dslr/bike/frame_0005.jpg
/home/mahfuj/Desktop/office/dslr/bike/frame_0006.jpg
/home/mahfuj/Desktop/office/dslr/bike/frame_0007.jpg
/home/mahfuj/Desktop/office/dslr/bike/frame_0008.jpg
/home/mahfuj/Desktop/office/dslr/bike/frame_0009.jpg
/home/mahfuj/Desktop/office/dslr/bike/frame_0010.jpg
/home/mahfuj/Desktop/office/dslr/bike/frame_0011.jpg
/home/mahfuj/Desktop/office/dslr/bike/frame_0012.jpg
/home/mahfuj/Desktop/office/dslr/bike/frame_0013.jpg
/home/mahfuj/Desktop/office/dslr/bike/frame_0014.jpg
/home/mahfuj/Desktop/office/dslr/bike/frame_0015.jpg
/home/mahfuj/Desktop/office/dslr/bike/frame_0016.jpg
/home/mahfuj/Desktop/office/dslr/bike/frame_0017.jpg
/home/mahfuj/Desktop/office/dslr/bike/frame_0018.jpg
/home/mahfuj/Desktop/office/dslr/bike/frame_0019.jpg
/home/mahfuj/Desktop/office/dslr/bike/frame_0020.jpg
/home/mahfuj/Desktop/office/dslr/bike/frame_0021.jpg
/home/mahfuj/Desktop/office/dslr/bike_helmet/frame_0001.jpg 3
/home/mahfuj/Desktop/office/dslr/bike_helmet/frame_0002.jpg 3
/home/mahfuj/Desktop/office/dslr/bike_helmet/frame_0003.jpg 3
/home/mahfuj/Desktop/office/dslr/bike_helmet/frame_0004.jpg
/home/mahfuj/Desktop/office/dslr/bike_helmet/frame_0005.jpg
/home/mahfuj/Desktop/office/dslr/bike_helmet/frame_0006.jpg
/home/mahfuj/Desktop/office/dslr/bike_helmet/frame_0007.jpg
/home/mahfuj/Desktop/office/dslr/bike_helmet/frame_0008.jpg
/home/mahfuj/Desktop/office/dslr/bike_helmet/frame_0009.jpg
/home/mahfuj/Desktop/office/dslr/bike_helmet/frame_0010.jpg
/home/mahfuj/Desktop/office/dslr/bike_helmet/frame_0011.jpg
/home/mahfuj/Desktop/office/dslr/bike_helmet/frame_0012.jpg
/home/mahfuj/Desktop/office/dslr/bike_helmet/frame_0013.jpg
/home/mahfuj/Desktop/office/dslr/bike_helmet/frame_0014.jpg
/home/mahfuj/Desktop/office/dslr/bike_helmet/frame_0015.jpg
/home/mahfuj/Desktop/office/dslr/bike_helmet/frame_0016.jpg
/home/mahfuj/Desktop/office/dslr/bike_helmet/frame_0017.jpg
/home/mahfuj/Desktop/office/dslr/bike_helmet/frame_0018.jpg
/home/mahfuj/Desktop/office/dslr/bike_helmet/frame_0019.jpg
/home/mahfuj/Desktop/office/dslr/bike_helmet/frame_0020.jpg
/home/mahfuj/Desktop/office/dslr/bike_helmet/frame_0021.jpg
/home/mahfuj/Desktop/office/dslr/bike_helmet/frame_0022.jpg
/home/mahfuj/Desktop/office/dslr/bike_helmet/frame_0023.jpg
/home/mahfuj/Desktop/office/dslr/bike_helmet/frame_0024.jpg
......................................................................................................
.......................................................................................................
/home/mahfuj/Desktop/office/dslr/tape_dispenser/frame_0022.jpg
/home/mahfuj/Desktop/office/dslr/trash_can/frame_0001.jpg 31
/home/mahfuj/Desktop/office/dslr/trash_can/frame_0002.jpg 31
/home/mahfuj/Desktop/office/dslr/trash_can/frame_0003.jpg 31
/home/mahfuj/Desktop/office/dslr/trash_can/frame_0004.jpg
/home/mahfuj/Desktop/office/dslr/trash_can/frame_0005.jpg
/home/mahfuj/Desktop/office/dslr/trash_can/frame_0006.jpg
/home/mahfuj/Desktop/office/dslr/trash_can/frame_0007.jpg
/home/mahfuj/Desktop/office/dslr/trash_can/frame_0008.jpg
/home/mahfuj/Desktop/office/dslr/trash_can/frame_0009.jpg
/home/mahfuj/Desktop/office/dslr/trash_can/frame_0010.jpg
/home/mahfuj/Desktop/office/dslr/trash_can/frame_0011.jpg
/home/mahfuj/Desktop/office/dslr/trash_can/frame_0012.jpg
/home/mahfuj/Desktop/office/dslr/trash_can/frame_0013.jpg
/home/mahfuj/Desktop/office/dslr/trash_can/frame_0014.jpg
/home/mahfuj/Desktop/office/dslr/trash_can/frame_0015.jpg