Created
September 27, 2015 05:06
-
-
Save kjw0612/db8f667328807329c146 to your computer and use it in GitHub Desktop.
Learning to generate chairs proto
This file contains hidden or 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
name: "CaffeNet" | |
layers { | |
name: "data" | |
type: DATA | |
top: "data" | |
top: "label" | |
data_param { | |
source: "@YOUR_PATH_TO_DATA@/chairs_128x128_reduced/data-lmdb" | |
batch_size: 64 | |
scale: 0.00390625 | |
backend: LMDB | |
} | |
} | |
layers { | |
name: "data_aug" | |
type: DATA_AUGMENTATION | |
bottom: "data" | |
top: "data_aug" | |
top: "aug_params" | |
coeff_schedule_param { | |
initial_coeff: 0.1 | |
final_coeff: 1. | |
gamma: 0.00001 | |
} | |
augmentation_param { | |
crop_size: 128 | |
max_multiplier: 1. | |
recompute_mean: 0 | |
zoom: { | |
rand_type: "uniform_bernoulli" | |
mean: 0.2 | |
spread: 0.2 | |
exp: true | |
prob: 1. | |
} | |
squeeze: { | |
rand_type: "uniform_bernoulli" | |
mean: 0. | |
spread: 0.1 | |
exp: true | |
prob: 1. | |
} | |
translate { | |
rand_type: "uniform_bernoulli" | |
mean: 0. | |
spread: 0.1 | |
prob: 1. | |
} | |
rotate { | |
rand_type: "uniform_bernoulli" | |
mean: 0. | |
spread: 0.2 | |
prob: 1. | |
} | |
lmult_mult: { | |
rand_type: "uniform_bernoulli" | |
mean: 0. | |
spread: 0.7 | |
prob: 1. | |
exp: true | |
} | |
sat_mult: { | |
rand_type: "uniform_bernoulli" | |
mean: 0. | |
spread: 0.7 | |
prob: 1. | |
exp: true | |
} | |
col_rotate: { | |
rand_type: "uniform_bernoulli" | |
mean: 0. | |
spread: 1.5 | |
prob: 1. | |
} | |
} | |
} | |
layers { | |
name: "segm" | |
type: DATA | |
top: "segm" | |
top: "label1" | |
data_param { | |
source: "@YOUR_PATH_TO_DATA@/chairs_segm_128x128_reduced/data-lmdb" | |
batch_size: 64 | |
scale: 0.00390625 | |
backend: LMDB | |
} | |
} | |
layers { | |
name: "segm_aug" | |
type: DATA_AUGMENTATION | |
bottom: "segm" | |
top: "segm_aug" | |
bottom: "aug_params" | |
augmentation_param { | |
crop_size: 128 | |
max_multiplier: 1. | |
recompute_mean: 0 | |
lmult_mult: { | |
rand_type: "uniform_bernoulli" | |
mean: 0. | |
spread: 0.001 | |
prob: 0. | |
exp: true | |
} | |
sat_mult: { | |
rand_type: "uniform_bernoulli" | |
mean: 0. | |
spread: 0.001 | |
prob: 0. | |
exp: true | |
} | |
col_rotate: { | |
rand_type: "uniform_bernoulli" | |
mean: 0. | |
spread: 0.001 | |
prob: 0. | |
} | |
} | |
} | |
layers { | |
name: "angles" | |
type: HDF5_DATA | |
top: "angles" | |
top: "labels" | |
hdf5_data_param { | |
source: "@YOUR_PATH_TO_DATA@/angles_reduced_shuffle.txt" | |
batch_size: 64 | |
} | |
} | |
layers{ | |
name: "label_to_onehot" | |
type: LABEL_TO_ONEHOT | |
bottom: "label" | |
top: "onehot" | |
inner_product_param { | |
num_output: 843 | |
} | |
} | |
layers { | |
name: "fc1_label" | |
type: INNER_PRODUCT | |
bottom: "onehot" | |
top: "fc1_label" | |
blobs_lr: 1. | |
blobs_lr: 2. | |
weight_decay: 0. | |
weight_decay: 0. | |
inner_product_param { | |
num_output: 512 | |
weight_filler { | |
type: "gaussian" | |
mean: 0. | |
std: 1. | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.1 | |
} | |
} | |
} | |
layers { | |
name: "relu1_label" | |
type: RELU | |
bottom: "fc1_label" | |
top: "fc1_label" | |
# relu_param { | |
# negative_slope: 0.1 | |
# } | |
} | |
layers { | |
name: "fc2_label" | |
type: INNER_PRODUCT | |
bottom: "fc1_label" | |
top: "fc2_label" | |
blobs_lr: 1. | |
blobs_lr: 2. | |
weight_decay: 0. | |
weight_decay: 0. | |
inner_product_param { | |
num_output: 512 | |
weight_filler { | |
type: "gaussian_xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.1 | |
} | |
} | |
} | |
layers { | |
name: "relu2_label" | |
type: RELU | |
bottom: "fc2_label" | |
top: "fc2_label" | |
} | |
layers { | |
name: "fc1_angles" | |
type: INNER_PRODUCT | |
bottom: "angles" | |
top: "fc1_angles" | |
blobs_lr: 1. | |
blobs_lr: 2. | |
weight_decay: 0. | |
weight_decay: 0. | |
inner_product_param { | |
num_output: 512 | |
weight_filler { | |
type: "gaussian_xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.1 | |
} | |
} | |
} | |
layers { | |
name: "relu1_angles" | |
type: RELU | |
bottom: "fc1_angles" | |
top: "fc1_angles" | |
# relu_param { | |
# negative_slope: 0.1 | |
# } | |
} | |
layers { | |
name: "fc2_angles" | |
type: INNER_PRODUCT | |
bottom: "fc1_angles" | |
top: "fc2_angles" | |
blobs_lr: 1. | |
blobs_lr: 2. | |
weight_decay: 0. | |
weight_decay: 0. | |
inner_product_param { | |
num_output: 512 | |
weight_filler { | |
type: "gaussian_xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.1 | |
} | |
} | |
} | |
layers { | |
name: "relu2_angles" | |
type: RELU | |
bottom: "fc2_angles" | |
top: "fc2_angles" | |
# relu_param { | |
# negative_slope: 0.1 | |
# } | |
} | |
layers { | |
name: "fc1_aug_params" | |
type: INNER_PRODUCT | |
bottom: "aug_params" | |
top: "fc1_aug_params" | |
blobs_lr: 1. | |
blobs_lr: 2. | |
weight_decay: 0. | |
weight_decay: 0. | |
inner_product_param { | |
num_output: 512 | |
weight_filler { | |
type: "gaussian" | |
mean: 0. | |
std: 1. | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.1 | |
} | |
} | |
} | |
layers { | |
name: "relu1_aug_params" | |
type: RELU | |
bottom: "fc1_aug_params" | |
top: "fc1_aug_params" | |
# relu_param { | |
# negative_slope: 0.1 | |
# } | |
} | |
layers { | |
name: "fc2_aug_params" | |
type: INNER_PRODUCT | |
bottom: "fc1_aug_params" | |
top: "fc2_aug_params" | |
blobs_lr: 1. | |
blobs_lr: 2. | |
weight_decay: 0. | |
weight_decay: 0. | |
inner_product_param { | |
num_output: 512 | |
weight_filler { | |
type: "gaussian_xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.1 | |
} | |
} | |
} | |
layers { | |
name: "relu2_aug_params" | |
type: RELU | |
bottom: "fc2_aug_params" | |
top: "fc2_aug_params" | |
# relu_param { | |
# negative_slope: 0.1 | |
# } | |
} | |
layers { | |
name: "concat" | |
type: CONCAT | |
bottom: "fc2_label" | |
bottom: "fc2_angles" | |
bottom: "fc2_aug_params" | |
top: "fc2" | |
concat_param { | |
concat_dim: 1 | |
} | |
} | |
layers { | |
name: "fc3" | |
type: INNER_PRODUCT | |
bottom: "fc2" | |
top: "fc3" | |
blobs_lr: 1. | |
blobs_lr: 2 | |
weight_decay: 0. | |
weight_decay: 0. | |
inner_product_param { | |
num_output: 1024 | |
weight_filler { | |
type: "gaussian_xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.1 | |
} | |
} | |
} | |
layers { | |
name: "relu3" | |
type: RELU | |
bottom: "fc3" | |
top: "fc3" | |
# relu_param { | |
# negative_slope: 0.1 | |
# } | |
} | |
layers { | |
name: "fc4" | |
type: INNER_PRODUCT | |
bottom: "fc3" | |
top: "fc4" | |
blobs_lr: 1. | |
blobs_lr: 2. | |
weight_decay: 0. | |
weight_decay: 0. | |
inner_product_param { | |
num_output: 1024 | |
weight_filler { | |
type: "gaussian_xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.1 | |
} | |
} | |
} | |
layers { | |
name: "relu4" | |
type: RELU | |
bottom: "fc4" | |
top: "fc4" | |
# relu_param { | |
# negative_slope: 0.1 | |
# } | |
} | |
layers { | |
name: "fc5" | |
type: INNER_PRODUCT | |
bottom: "fc4" | |
top: "fc5" | |
blobs_lr: 1. | |
blobs_lr: 2. | |
weight_decay: 0. | |
weight_decay: 0. | |
inner_product_param { | |
num_output: 16384 | |
weight_filler { | |
type: "gaussian_xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.1 | |
} | |
} | |
} | |
layers { | |
name: "relu5" | |
type: RELU | |
bottom: "fc5" | |
top: "fc5" | |
# relu_param { | |
# negative_slope: 0.1 | |
# } | |
} | |
layers { | |
name: "reshape" | |
type: RESHAPE | |
bottom: "fc5" | |
top: "fc5_reshape" | |
reshape_param { | |
channels: 256 | |
height: 8 | |
width: 8 | |
} | |
} | |
layers { | |
name: "deconv6" | |
type: DECONVOLUTION | |
bottom: "fc5_reshape" | |
top: "deconv6" | |
blobs_lr: 1. | |
blobs_lr: 0. | |
weight_decay: 0. | |
weight_decay: 0. | |
deconvolution_param { | |
output_channels: 256 | |
output_height: 16 | |
output_width: 16 | |
pad: 2 | |
kernel_size: 5 | |
stride: 2 | |
weight_filler { | |
type: "gaussian_xavier" | |
xavier_coeff: 8 | |
} | |
bias_filler { | |
type: "constant" | |
} | |
} | |
} | |
layers { | |
name: "relu6" | |
type: RELU | |
bottom: "deconv6" | |
top: "deconv6" | |
# relu_param { | |
# negative_slope: 0.1 | |
# } | |
} | |
layers { | |
name: "deconv7" | |
type: DECONVOLUTION | |
bottom: "deconv6" | |
top: "deconv7" | |
blobs_lr: 1. | |
blobs_lr: 0. | |
weight_decay: 0. | |
weight_decay: 0. | |
deconvolution_param { | |
output_channels: 92 | |
output_height: 32 | |
output_width: 32 | |
pad: 2 | |
kernel_size: 5 | |
stride: 2 | |
weight_filler { | |
type: "gaussian_xavier" | |
xavier_coeff: 8 | |
} | |
bias_filler { | |
type: "constant" | |
} | |
} | |
} | |
layers { | |
name: "relu7" | |
type: RELU | |
bottom: "deconv7" | |
top: "deconv7" | |
# relu_param { | |
# negative_slope: 0.1 | |
# } | |
} | |
layers { | |
name: "deconv8_new" | |
type: DECONVOLUTION | |
bottom: "deconv7" | |
top: "deconv8" | |
blobs_lr: 1. | |
blobs_lr: 0. | |
weight_decay: 0. | |
weight_decay: 0. | |
deconvolution_param { | |
output_channels: 92 | |
output_height: 64 | |
output_width: 64 | |
pad: 2 | |
kernel_size: 5 | |
stride: 2 | |
weight_filler { | |
type: "gaussian_xavier" | |
xavier_coeff: 8 | |
} | |
bias_filler { | |
type: "constant" | |
} | |
} | |
} | |
layers { | |
name: "relu8" | |
type: RELU | |
bottom: "deconv8" | |
top: "deconv8" | |
# relu_param { | |
# negative_slope: 0.1 | |
# } | |
} | |
layers { | |
name: "deconv9_new" | |
type: DECONVOLUTION | |
bottom: "deconv8" | |
top: "deconv9" | |
blobs_lr: 1. | |
blobs_lr: 0. | |
weight_decay: 0. | |
weight_decay: 0. | |
deconvolution_param { | |
output_channels: 3 | |
output_height: 128 | |
output_width: 128 | |
pad: 2 | |
kernel_size: 5 | |
stride: 2 | |
weight_filler { | |
type: "gaussian_xavier" | |
xavier_coeff: 0.1 | |
} | |
bias_filler { | |
type: "constant" | |
} | |
} | |
} | |
layers { | |
name: "fc5_segm" | |
type: INNER_PRODUCT | |
bottom: "fc4" | |
top: "fc5_segm" | |
blobs_lr: 1. | |
blobs_lr: 2. | |
weight_decay: 0. | |
weight_decay: 0. | |
inner_product_param { | |
num_output: 8192 | |
weight_filler { | |
type: "gaussian_xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.1 | |
} | |
} | |
} | |
layers { | |
name: "relu5_segm" | |
type: RELU | |
bottom: "fc5_segm" | |
top: "fc5_segm" | |
# relu_param { | |
# negative_slope: 0.1 | |
# } | |
} | |
layers { | |
name: "reshape" | |
type: RESHAPE | |
bottom: "fc5_segm" | |
top: "fc5_segm_reshape" | |
reshape_param { | |
channels: 128 | |
height: 8 | |
width: 8 | |
} | |
} | |
layers { | |
name: "deconv6_segm" | |
type: DECONVOLUTION | |
bottom: "fc5_segm_reshape" | |
top: "deconv6_segm" | |
blobs_lr: 1. | |
blobs_lr: 0. | |
weight_decay: 0. | |
weight_decay: 0. | |
deconvolution_param { | |
output_channels: 92 | |
output_height: 16 | |
output_width: 16 | |
pad: 2 | |
kernel_size: 5 | |
stride: 2 | |
weight_filler { | |
type: "gaussian_xavier" | |
xavier_coeff: 8 | |
} | |
bias_filler { | |
type: "constant" | |
} | |
} | |
} | |
layers { | |
name: "relu6_segm" | |
type: RELU | |
bottom: "deconv6_segm" | |
top: "deconv6_segm" | |
# relu_param { | |
# negative_slope: 0.1 | |
# } | |
} | |
layers { | |
name: "deconv7_segm" | |
type: DECONVOLUTION | |
bottom: "deconv6_segm" | |
top: "deconv7_segm" | |
blobs_lr: 1. | |
blobs_lr: 0. | |
weight_decay: 0. | |
weight_decay: 0. | |
deconvolution_param { | |
output_channels: 32 | |
output_height: 32 | |
output_width: 32 | |
pad: 2 | |
kernel_size: 5 | |
stride: 2 | |
weight_filler { | |
type: "gaussian_xavier" | |
xavier_coeff: 8 | |
} | |
bias_filler { | |
type: "constant" | |
} | |
} | |
} | |
layers { | |
name: "relu7_segm" | |
type: RELU | |
bottom: "deconv7_segm" | |
top: "deconv7_segm" | |
# relu_param { | |
# negative_slope: 0.1 | |
# } | |
} | |
layers { | |
name: "deconv8_segm_new" | |
type: DECONVOLUTION | |
bottom: "deconv7_segm" | |
top: "deconv8_segm" | |
blobs_lr: 1. | |
blobs_lr: 0. | |
weight_decay: 0. | |
weight_decay: 0. | |
deconvolution_param { | |
output_channels: 32 | |
output_height: 64 | |
output_width: 64 | |
pad: 2 | |
kernel_size: 5 | |
stride: 2 | |
weight_filler { | |
type: "gaussian_xavier" | |
xavier_coeff: 8 | |
} | |
bias_filler { | |
type: "constant" | |
} | |
} | |
} | |
layers { | |
name: "relu8_segm" | |
type: RELU | |
bottom: "deconv8_segm" | |
top: "deconv8_segm" | |
# relu_param { | |
# negative_slope: 0.1 | |
# } | |
} | |
layers { | |
name: "deconv9_segm_new" | |
type: DECONVOLUTION | |
bottom: "deconv8_segm" | |
top: "deconv9_segm" | |
blobs_lr: 1. | |
blobs_lr: 0. | |
weight_decay: 0. | |
weight_decay: 0. | |
deconvolution_param { | |
output_channels: 3 | |
output_height: 128 | |
output_width: 128 | |
pad: 2 | |
kernel_size: 5 | |
stride: 2 | |
weight_filler { | |
type: "gaussian_xavier" | |
xavier_coeff: 0.1 | |
} | |
bias_filler { | |
type: "constant" | |
# value: 0.001 | |
} | |
} | |
} | |
layers { | |
name: "eltwise" | |
type: ELTWISE | |
bottom: "data_aug" | |
bottom: "segm_aug" | |
top: "segm_data" | |
eltwise_param { | |
operation: PROD | |
} | |
} | |
layers { | |
name: "recon_data" | |
loss_param { | |
coeff: 0.1 | |
} | |
type: EUCLIDEAN_LOSS | |
bottom: "deconv9" | |
bottom: "segm_data" | |
} | |
layers { | |
name: "recon_segm" | |
loss_param { | |
coeff: 0.01 | |
} | |
type: EUCLIDEAN_LOSS | |
bottom: "deconv9_segm" | |
bottom: "segm_aug" | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment