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