Created
October 21, 2015 18:37
-
-
Save ducha-aiki/297ea977a0b72ad8f8f6 to your computer and use it in GitHub Desktop.
cifar10_2K_in-place
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
I1021 21:37:50.680150 3320 caffe.cpp:184] Using GPUs 0 | |
I1021 21:37:50.799264 3320 solver.cpp:47] Initializing solver from parameters: | |
test_iter: 10 | |
test_interval: 1000 | |
base_lr: 0.001 | |
display: 100 | |
max_iter: 5000 | |
lr_policy: "poly" | |
power: 0.5 | |
momentum: 0.9 | |
snapshot_prefix: "examples/cifar10_full_sigmoid_bn" | |
solver_mode: GPU | |
device_id: 0 | |
net: "examples/cifar10/cifar10_full_sigmoid_train_test_bn.prototxt" | |
I1021 21:37:50.799298 3320 solver.cpp:90] Creating training net from net file: examples/cifar10/cifar10_full_sigmoid_train_test_bn.prototxt | |
I1021 21:37:50.799721 3320 net.cpp:322] The NetState phase (0) differed from the phase (1) specified by a rule in layer cifar | |
I1021 21:37:50.799731 3320 net.cpp:322] The NetState phase (0) differed from the phase (1) specified by a rule in layer bn1 | |
I1021 21:37:50.799734 3320 net.cpp:322] The NetState phase (0) differed from the phase (1) specified by a rule in layer bn2 | |
I1021 21:37:50.799737 3320 net.cpp:322] The NetState phase (0) differed from the phase (1) specified by a rule in layer bn3 | |
I1021 21:37:50.799741 3320 net.cpp:322] The NetState phase (0) differed from the phase (1) specified by a rule in layer accuracy | |
I1021 21:37:50.799859 3320 net.cpp:49] Initializing net from parameters: | |
name: "CIFAR10_full" | |
state { | |
phase: TRAIN | |
} | |
layer { | |
name: "cifar" | |
type: "Data" | |
top: "data" | |
top: "label" | |
include { | |
phase: TRAIN | |
} | |
transform_param { | |
mean_file: "examples/cifar10/mean.binaryproto" | |
} | |
data_param { | |
source: "examples/cifar10/cifar10_train_lmdb" | |
batch_size: 100 | |
backend: LMDB | |
} | |
} | |
layer { | |
name: "conv1" | |
type: "Convolution" | |
bottom: "data" | |
top: "conv1" | |
param { | |
lr_mult: 1 | |
} | |
param { | |
lr_mult: 2 | |
} | |
convolution_param { | |
num_output: 32 | |
pad: 2 | |
kernel_size: 5 | |
stride: 1 | |
weight_filler { | |
type: "gaussian" | |
std: 0.0001 | |
} | |
bias_filler { | |
type: "constant" | |
} | |
} | |
} | |
layer { | |
name: "pool1" | |
type: "Pooling" | |
bottom: "conv1" | |
top: "pool1" | |
pooling_param { | |
pool: MAX | |
kernel_size: 3 | |
stride: 2 | |
} | |
} | |
layer { | |
name: "bn1" | |
type: "BatchNorm" | |
bottom: "pool1" | |
top: "bn1" | |
param { | |
lr_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
} | |
include { | |
phase: TRAIN | |
} | |
batch_norm_param { | |
use_global_stats: false | |
} | |
} | |
layer { | |
name: "Sigmoid1" | |
type: "Sigmoid" | |
bottom: "bn1" | |
top: "Sigmoid1" | |
} | |
layer { | |
name: "conv2" | |
type: "Convolution" | |
bottom: "Sigmoid1" | |
top: "conv2" | |
param { | |
lr_mult: 1 | |
} | |
param { | |
lr_mult: 2 | |
} | |
convolution_param { | |
num_output: 32 | |
pad: 2 | |
kernel_size: 5 | |
stride: 1 | |
weight_filler { | |
type: "gaussian" | |
std: 0.01 | |
} | |
bias_filler { | |
type: "constant" | |
} | |
} | |
} | |
layer { | |
name: "bn2" | |
type: "BatchNorm" | |
bottom: "conv2" | |
top: "conv2" | |
param { | |
lr_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
} | |
include { | |
phase: TRAIN | |
} | |
batch_norm_param { | |
use_global_stats: false | |
} | |
} | |
layer { | |
name: "Sigmoid2" | |
type: "Sigmoid" | |
bottom: "conv2" | |
top: "Sigmoid2" | |
} | |
layer { | |
name: "pool2" | |
type: "Pooling" | |
bottom: "Sigmoid2" | |
top: "pool2" | |
pooling_param { | |
pool: AVE | |
kernel_size: 3 | |
stride: 2 | |
} | |
} | |
layer { | |
name: "conv3" | |
type: "Convolution" | |
bottom: "pool2" | |
top: "conv3" | |
param { | |
lr_mult: 1 | |
} | |
param { | |
lr_mult: 1 | |
} | |
convolution_param { | |
num_output: 64 | |
pad: 2 | |
kernel_size: 5 | |
stride: 1 | |
weight_filler { | |
type: "gaussian" | |
std: 0.01 | |
} | |
bias_filler { | |
type: "constant" | |
} | |
} | |
} | |
layer { | |
name: "bn3" | |
type: "BatchNorm" | |
bottom: "conv3" | |
top: "conv3" | |
param { | |
lr_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
} | |
include { | |
phase: TRAIN | |
} | |
batch_norm_param { | |
use_global_stats: false | |
} | |
} | |
layer { | |
name: "Sigmoid3" | |
type: "Sigmoid" | |
bottom: "conv3" | |
top: "Sigmoid3" | |
} | |
layer { | |
name: "pool3" | |
type: "Pooling" | |
bottom: "Sigmoid3" | |
top: "pool3" | |
pooling_param { | |
pool: AVE | |
kernel_size: 3 | |
stride: 2 | |
} | |
} | |
layer { | |
name: "ip1" | |
type: "InnerProduct" | |
bottom: "pool3" | |
top: "ip1" | |
param { | |
lr_mult: 1 | |
decay_mult: 250 | |
} | |
param { | |
lr_mult: 0.2 | |
decay_mult: 0 | |
} | |
inner_product_param { | |
num_output: 10 | |
weight_filler { | |
type: "gaussian" | |
std: 0.01 | |
} | |
bias_filler { | |
type: "constant" | |
} | |
} | |
} | |
layer { | |
name: "loss" | |
type: "SoftmaxWithLoss" | |
bottom: "ip1" | |
bottom: "label" | |
top: "loss" | |
} | |
I1021 21:37:50.799973 3320 layer_factory.hpp:76] Creating layer cifar | |
I1021 21:37:50.800462 3320 net.cpp:106] Creating Layer cifar | |
I1021 21:37:50.800488 3320 net.cpp:411] cifar -> data | |
I1021 21:37:50.800518 3320 net.cpp:411] cifar -> label | |
I1021 21:37:50.800537 3320 data_transformer.cpp:25] Loading mean file from: examples/cifar10/mean.binaryproto | |
I1021 21:37:50.801208 3322 db_lmdb.cpp:38] Opened lmdb examples/cifar10/cifar10_train_lmdb | |
I1021 21:37:50.813796 3320 data_layer.cpp:45] output data size: 100,3,32,32 | |
I1021 21:37:50.815940 3320 net.cpp:150] Setting up cifar | |
I1021 21:37:50.815994 3320 net.cpp:157] Top shape: 100 3 32 32 (307200) | |
I1021 21:37:50.816002 3320 net.cpp:157] Top shape: 100 (100) | |
I1021 21:37:50.816004 3320 net.cpp:165] Memory required for data: 1229200 | |
I1021 21:37:50.816011 3320 layer_factory.hpp:76] Creating layer conv1 | |
I1021 21:37:50.816025 3320 net.cpp:106] Creating Layer conv1 | |
I1021 21:37:50.816030 3320 net.cpp:454] conv1 <- data | |
I1021 21:37:50.816040 3320 net.cpp:411] conv1 -> conv1 | |
I1021 21:37:50.816601 3320 net.cpp:150] Setting up conv1 | |
I1021 21:37:50.816609 3320 net.cpp:157] Top shape: 100 32 32 32 (3276800) | |
I1021 21:37:50.816620 3320 net.cpp:165] Memory required for data: 14336400 | |
I1021 21:37:50.816633 3320 layer_factory.hpp:76] Creating layer pool1 | |
I1021 21:37:50.816648 3320 net.cpp:106] Creating Layer pool1 | |
I1021 21:37:50.816650 3320 net.cpp:454] pool1 <- conv1 | |
I1021 21:37:50.816653 3320 net.cpp:411] pool1 -> pool1 | |
I1021 21:37:50.816694 3320 net.cpp:150] Setting up pool1 | |
I1021 21:37:50.816709 3320 net.cpp:157] Top shape: 100 32 16 16 (819200) | |
I1021 21:37:50.816711 3320 net.cpp:165] Memory required for data: 17613200 | |
I1021 21:37:50.816714 3320 layer_factory.hpp:76] Creating layer bn1 | |
I1021 21:37:50.816718 3320 net.cpp:106] Creating Layer bn1 | |
I1021 21:37:50.816720 3320 net.cpp:454] bn1 <- pool1 | |
I1021 21:37:50.816725 3320 net.cpp:411] bn1 -> bn1 | |
I1021 21:37:50.816892 3320 net.cpp:150] Setting up bn1 | |
I1021 21:37:50.816896 3320 net.cpp:157] Top shape: 100 32 16 16 (819200) | |
I1021 21:37:50.816898 3320 net.cpp:165] Memory required for data: 20890000 | |
I1021 21:37:50.816915 3320 layer_factory.hpp:76] Creating layer Sigmoid1 | |
I1021 21:37:50.816937 3320 net.cpp:106] Creating Layer Sigmoid1 | |
I1021 21:37:50.816941 3320 net.cpp:454] Sigmoid1 <- bn1 | |
I1021 21:37:50.816943 3320 net.cpp:411] Sigmoid1 -> Sigmoid1 | |
I1021 21:37:50.816990 3320 net.cpp:150] Setting up Sigmoid1 | |
I1021 21:37:50.816994 3320 net.cpp:157] Top shape: 100 32 16 16 (819200) | |
I1021 21:37:50.817005 3320 net.cpp:165] Memory required for data: 24166800 | |
I1021 21:37:50.817009 3320 layer_factory.hpp:76] Creating layer conv2 | |
I1021 21:37:50.817025 3320 net.cpp:106] Creating Layer conv2 | |
I1021 21:37:50.817028 3320 net.cpp:454] conv2 <- Sigmoid1 | |
I1021 21:37:50.817031 3320 net.cpp:411] conv2 -> conv2 | |
I1021 21:37:50.818266 3320 net.cpp:150] Setting up conv2 | |
I1021 21:37:50.818275 3320 net.cpp:157] Top shape: 100 32 16 16 (819200) | |
I1021 21:37:50.818277 3320 net.cpp:165] Memory required for data: 27443600 | |
I1021 21:37:50.818282 3320 layer_factory.hpp:76] Creating layer bn2 | |
I1021 21:37:50.818287 3320 net.cpp:106] Creating Layer bn2 | |
I1021 21:37:50.818289 3320 net.cpp:454] bn2 <- conv2 | |
I1021 21:37:50.818294 3320 net.cpp:397] bn2 -> conv2 (in-place) | |
I1021 21:37:50.818403 3320 net.cpp:150] Setting up bn2 | |
I1021 21:37:50.818408 3320 net.cpp:157] Top shape: 100 32 16 16 (819200) | |
I1021 21:37:50.818408 3320 net.cpp:165] Memory required for data: 30720400 | |
I1021 21:37:50.818414 3320 layer_factory.hpp:76] Creating layer Sigmoid2 | |
I1021 21:37:50.818418 3320 net.cpp:106] Creating Layer Sigmoid2 | |
I1021 21:37:50.818420 3320 net.cpp:454] Sigmoid2 <- conv2 | |
I1021 21:37:50.818423 3320 net.cpp:411] Sigmoid2 -> Sigmoid2 | |
I1021 21:37:50.818456 3320 net.cpp:150] Setting up Sigmoid2 | |
I1021 21:37:50.818460 3320 net.cpp:157] Top shape: 100 32 16 16 (819200) | |
I1021 21:37:50.818462 3320 net.cpp:165] Memory required for data: 33997200 | |
I1021 21:37:50.818473 3320 layer_factory.hpp:76] Creating layer pool2 | |
I1021 21:37:50.818480 3320 net.cpp:106] Creating Layer pool2 | |
I1021 21:37:50.818480 3320 net.cpp:454] pool2 <- Sigmoid2 | |
I1021 21:37:50.818493 3320 net.cpp:411] pool2 -> pool2 | |
I1021 21:37:50.818506 3320 net.cpp:150] Setting up pool2 | |
I1021 21:37:50.818511 3320 net.cpp:157] Top shape: 100 32 8 8 (204800) | |
I1021 21:37:50.818513 3320 net.cpp:165] Memory required for data: 34816400 | |
I1021 21:37:50.818514 3320 layer_factory.hpp:76] Creating layer conv3 | |
I1021 21:37:50.818521 3320 net.cpp:106] Creating Layer conv3 | |
I1021 21:37:50.818523 3320 net.cpp:454] conv3 <- pool2 | |
I1021 21:37:50.818526 3320 net.cpp:411] conv3 -> conv3 | |
I1021 21:37:50.819829 3320 net.cpp:150] Setting up conv3 | |
I1021 21:37:50.819834 3320 net.cpp:157] Top shape: 100 64 8 8 (409600) | |
I1021 21:37:50.819836 3320 net.cpp:165] Memory required for data: 36454800 | |
I1021 21:37:50.819840 3320 layer_factory.hpp:76] Creating layer bn3 | |
I1021 21:37:50.819845 3320 net.cpp:106] Creating Layer bn3 | |
I1021 21:37:50.819847 3320 net.cpp:454] bn3 <- conv3 | |
I1021 21:37:50.819851 3320 net.cpp:397] bn3 -> conv3 (in-place) | |
I1021 21:37:50.819967 3320 net.cpp:150] Setting up bn3 | |
I1021 21:37:50.819970 3320 net.cpp:157] Top shape: 100 64 8 8 (409600) | |
I1021 21:37:50.819972 3320 net.cpp:165] Memory required for data: 38093200 | |
I1021 21:37:50.819977 3320 layer_factory.hpp:76] Creating layer Sigmoid3 | |
I1021 21:37:50.819980 3320 net.cpp:106] Creating Layer Sigmoid3 | |
I1021 21:37:50.819983 3320 net.cpp:454] Sigmoid3 <- conv3 | |
I1021 21:37:50.819984 3320 net.cpp:411] Sigmoid3 -> Sigmoid3 | |
I1021 21:37:50.819998 3320 net.cpp:150] Setting up Sigmoid3 | |
I1021 21:37:50.820001 3320 net.cpp:157] Top shape: 100 64 8 8 (409600) | |
I1021 21:37:50.820003 3320 net.cpp:165] Memory required for data: 39731600 | |
I1021 21:37:50.820004 3320 layer_factory.hpp:76] Creating layer pool3 | |
I1021 21:37:50.820008 3320 net.cpp:106] Creating Layer pool3 | |
I1021 21:37:50.820009 3320 net.cpp:454] pool3 <- Sigmoid3 | |
I1021 21:37:50.820013 3320 net.cpp:411] pool3 -> pool3 | |
I1021 21:37:50.820024 3320 net.cpp:150] Setting up pool3 | |
I1021 21:37:50.820026 3320 net.cpp:157] Top shape: 100 64 4 4 (102400) | |
I1021 21:37:50.820029 3320 net.cpp:165] Memory required for data: 40141200 | |
I1021 21:37:50.820030 3320 layer_factory.hpp:76] Creating layer ip1 | |
I1021 21:37:50.820040 3320 net.cpp:106] Creating Layer ip1 | |
I1021 21:37:50.820044 3320 net.cpp:454] ip1 <- pool3 | |
I1021 21:37:50.820046 3320 net.cpp:411] ip1 -> ip1 | |
I1021 21:37:50.820720 3320 net.cpp:150] Setting up ip1 | |
I1021 21:37:50.820727 3320 net.cpp:157] Top shape: 100 10 (1000) | |
I1021 21:37:50.820729 3320 net.cpp:165] Memory required for data: 40145200 | |
I1021 21:37:50.820740 3320 layer_factory.hpp:76] Creating layer loss | |
I1021 21:37:50.820746 3320 net.cpp:106] Creating Layer loss | |
I1021 21:37:50.820749 3320 net.cpp:454] loss <- ip1 | |
I1021 21:37:50.820752 3320 net.cpp:454] loss <- label | |
I1021 21:37:50.820757 3320 net.cpp:411] loss -> loss | |
I1021 21:37:50.820765 3320 layer_factory.hpp:76] Creating layer loss | |
I1021 21:37:50.820822 3320 net.cpp:150] Setting up loss | |
I1021 21:37:50.820827 3320 net.cpp:157] Top shape: (1) | |
I1021 21:37:50.820828 3320 net.cpp:160] with loss weight 1 | |
I1021 21:37:50.820844 3320 net.cpp:165] Memory required for data: 40145204 | |
I1021 21:37:50.820847 3320 net.cpp:226] loss needs backward computation. | |
I1021 21:37:50.820848 3320 net.cpp:226] ip1 needs backward computation. | |
I1021 21:37:50.820850 3320 net.cpp:226] pool3 needs backward computation. | |
I1021 21:37:50.820852 3320 net.cpp:226] Sigmoid3 needs backward computation. | |
I1021 21:37:50.820854 3320 net.cpp:226] bn3 needs backward computation. | |
I1021 21:37:50.820857 3320 net.cpp:226] conv3 needs backward computation. | |
I1021 21:37:50.820858 3320 net.cpp:226] pool2 needs backward computation. | |
I1021 21:37:50.820860 3320 net.cpp:226] Sigmoid2 needs backward computation. | |
I1021 21:37:50.820873 3320 net.cpp:226] bn2 needs backward computation. | |
I1021 21:37:50.820874 3320 net.cpp:226] conv2 needs backward computation. | |
I1021 21:37:50.820876 3320 net.cpp:226] Sigmoid1 needs backward computation. | |
I1021 21:37:50.820878 3320 net.cpp:226] bn1 needs backward computation. | |
I1021 21:37:50.820880 3320 net.cpp:226] pool1 needs backward computation. | |
I1021 21:37:50.820883 3320 net.cpp:226] conv1 needs backward computation. | |
I1021 21:37:50.820884 3320 net.cpp:228] cifar does not need backward computation. | |
I1021 21:37:50.820886 3320 net.cpp:270] This network produces output loss | |
I1021 21:37:50.820894 3320 net.cpp:283] Network initialization done. | |
I1021 21:37:50.821257 3320 solver.cpp:180] Creating test net (#0) specified by net file: examples/cifar10/cifar10_full_sigmoid_train_test_bn.prototxt | |
I1021 21:37:50.821281 3320 net.cpp:322] The NetState phase (1) differed from the phase (0) specified by a rule in layer cifar | |
I1021 21:37:50.821287 3320 net.cpp:322] The NetState phase (1) differed from the phase (0) specified by a rule in layer bn1 | |
I1021 21:37:50.821291 3320 net.cpp:322] The NetState phase (1) differed from the phase (0) specified by a rule in layer bn2 | |
I1021 21:37:50.821295 3320 net.cpp:322] The NetState phase (1) differed from the phase (0) specified by a rule in layer bn3 | |
I1021 21:37:50.821380 3320 net.cpp:49] Initializing net from parameters: | |
name: "CIFAR10_full" | |
state { | |
phase: TEST | |
} | |
layer { | |
name: "cifar" | |
type: "Data" | |
top: "data" | |
top: "label" | |
include { | |
phase: TEST | |
} | |
transform_param { | |
mean_file: "examples/cifar10/mean.binaryproto" | |
} | |
data_param { | |
source: "examples/cifar10/cifar10_test_lmdb" | |
batch_size: 1000 | |
backend: LMDB | |
} | |
} | |
layer { | |
name: "conv1" | |
type: "Convolution" | |
bottom: "data" | |
top: "conv1" | |
param { | |
lr_mult: 1 | |
} | |
param { | |
lr_mult: 2 | |
} | |
convolution_param { | |
num_output: 32 | |
pad: 2 | |
kernel_size: 5 | |
stride: 1 | |
weight_filler { | |
type: "gaussian" | |
std: 0.0001 | |
} | |
bias_filler { | |
type: "constant" | |
} | |
} | |
} | |
layer { | |
name: "pool1" | |
type: "Pooling" | |
bottom: "conv1" | |
top: "pool1" | |
pooling_param { | |
pool: MAX | |
kernel_size: 3 | |
stride: 2 | |
} | |
} | |
layer { | |
name: "bn1" | |
type: "BatchNorm" | |
bottom: "pool1" | |
top: "bn1" | |
param { | |
lr_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
} | |
include { | |
phase: TEST | |
} | |
batch_norm_param { | |
use_global_stats: true | |
} | |
} | |
layer { | |
name: "Sigmoid1" | |
type: "Sigmoid" | |
bottom: "bn1" | |
top: "Sigmoid1" | |
} | |
layer { | |
name: "conv2" | |
type: "Convolution" | |
bottom: "Sigmoid1" | |
top: "conv2" | |
param { | |
lr_mult: 1 | |
} | |
param { | |
lr_mult: 2 | |
} | |
convolution_param { | |
num_output: 32 | |
pad: 2 | |
kernel_size: 5 | |
stride: 1 | |
weight_filler { | |
type: "gaussian" | |
std: 0.01 | |
} | |
bias_filler { | |
type: "constant" | |
} | |
} | |
} | |
layer { | |
name: "bn2" | |
type: "BatchNorm" | |
bottom: "conv2" | |
top: "conv2" | |
param { | |
lr_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
} | |
include { | |
phase: TEST | |
} | |
batch_norm_param { | |
use_global_stats: true | |
} | |
} | |
layer { | |
name: "Sigmoid2" | |
type: "Sigmoid" | |
bottom: "conv2" | |
top: "Sigmoid2" | |
} | |
layer { | |
name: "pool2" | |
type: "Pooling" | |
bottom: "Sigmoid2" | |
top: "pool2" | |
pooling_param { | |
pool: AVE | |
kernel_size: 3 | |
stride: 2 | |
} | |
} | |
layer { | |
name: "conv3" | |
type: "Convolution" | |
bottom: "pool2" | |
top: "conv3" | |
param { | |
lr_mult: 1 | |
} | |
param { | |
lr_mult: 1 | |
} | |
convolution_param { | |
num_output: 64 | |
pad: 2 | |
kernel_size: 5 | |
stride: 1 | |
weight_filler { | |
type: "gaussian" | |
std: 0.01 | |
} | |
bias_filler { | |
type: "constant" | |
} | |
} | |
} | |
layer { | |
name: "bn3" | |
type: "BatchNorm" | |
bottom: "conv3" | |
top: "conv3" | |
param { | |
lr_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
} | |
include { | |
phase: TEST | |
} | |
batch_norm_param { | |
use_global_stats: true | |
} | |
} | |
layer { | |
name: "Sigmoid3" | |
type: "Sigmoid" | |
bottom: "conv3" | |
top: "Sigmoid3" | |
} | |
layer { | |
name: "pool3" | |
type: "Pooling" | |
bottom: "Sigmoid3" | |
top: "pool3" | |
pooling_param { | |
pool: AVE | |
kernel_size: 3 | |
stride: 2 | |
} | |
} | |
layer { | |
name: "ip1" | |
type: "InnerProduct" | |
bottom: "pool3" | |
top: "ip1" | |
param { | |
lr_mult: 1 | |
decay_mult: 250 | |
} | |
param { | |
lr_mult: 0.2 | |
decay_mult: 0 | |
} | |
inner_product_param { | |
num_output: 10 | |
weight_filler { | |
type: "gaussian" | |
std: 0.01 | |
} | |
bias_filler { | |
type: "constant" | |
} | |
} | |
} | |
layer { | |
name: "accuracy" | |
type: "Accuracy" | |
bottom: "ip1" | |
bottom: "label" | |
top: "accuracy" | |
include { | |
phase: TEST | |
} | |
} | |
layer { | |
name: "loss" | |
type: "SoftmaxWithLoss" | |
bottom: "ip1" | |
bottom: "label" | |
top: "loss" | |
} | |
I1021 21:37:50.821447 3320 layer_factory.hpp:76] Creating layer cifar | |
I1021 21:37:50.821905 3320 net.cpp:106] Creating Layer cifar | |
I1021 21:37:50.821918 3320 net.cpp:411] cifar -> data | |
I1021 21:37:50.821924 3320 net.cpp:411] cifar -> label | |
I1021 21:37:50.821929 3320 data_transformer.cpp:25] Loading mean file from: examples/cifar10/mean.binaryproto | |
I1021 21:37:50.822619 3324 db_lmdb.cpp:38] Opened lmdb examples/cifar10/cifar10_test_lmdb | |
I1021 21:37:50.822688 3320 data_layer.cpp:45] output data size: 1000,3,32,32 | |
I1021 21:37:50.842681 3320 net.cpp:150] Setting up cifar | |
I1021 21:37:50.842721 3320 net.cpp:157] Top shape: 1000 3 32 32 (3072000) | |
I1021 21:37:50.842725 3320 net.cpp:157] Top shape: 1000 (1000) | |
I1021 21:37:50.842727 3320 net.cpp:165] Memory required for data: 12292000 | |
I1021 21:37:50.842742 3320 layer_factory.hpp:76] Creating layer label_cifar_1_split | |
I1021 21:37:50.842754 3320 net.cpp:106] Creating Layer label_cifar_1_split | |
I1021 21:37:50.842757 3320 net.cpp:454] label_cifar_1_split <- label | |
I1021 21:37:50.842761 3320 net.cpp:411] label_cifar_1_split -> label_cifar_1_split_0 | |
I1021 21:37:50.842780 3320 net.cpp:411] label_cifar_1_split -> label_cifar_1_split_1 | |
I1021 21:37:50.842839 3320 net.cpp:150] Setting up label_cifar_1_split | |
I1021 21:37:50.842844 3320 net.cpp:157] Top shape: 1000 (1000) | |
I1021 21:37:50.842845 3320 net.cpp:157] Top shape: 1000 (1000) | |
I1021 21:37:50.842846 3320 net.cpp:165] Memory required for data: 12300000 | |
I1021 21:37:50.842849 3320 layer_factory.hpp:76] Creating layer conv1 | |
I1021 21:37:50.842857 3320 net.cpp:106] Creating Layer conv1 | |
I1021 21:37:50.842859 3320 net.cpp:454] conv1 <- data | |
I1021 21:37:50.842864 3320 net.cpp:411] conv1 -> conv1 | |
I1021 21:37:50.843067 3320 net.cpp:150] Setting up conv1 | |
I1021 21:37:50.843071 3320 net.cpp:157] Top shape: 1000 32 32 32 (32768000) | |
I1021 21:37:50.843073 3320 net.cpp:165] Memory required for data: 143372000 | |
I1021 21:37:50.843080 3320 layer_factory.hpp:76] Creating layer pool1 | |
I1021 21:37:50.843085 3320 net.cpp:106] Creating Layer pool1 | |
I1021 21:37:50.843086 3320 net.cpp:454] pool1 <- conv1 | |
I1021 21:37:50.843089 3320 net.cpp:411] pool1 -> pool1 | |
I1021 21:37:50.843111 3320 net.cpp:150] Setting up pool1 | |
I1021 21:37:50.843116 3320 net.cpp:157] Top shape: 1000 32 16 16 (8192000) | |
I1021 21:37:50.843118 3320 net.cpp:165] Memory required for data: 176140000 | |
I1021 21:37:50.843121 3320 layer_factory.hpp:76] Creating layer bn1 | |
I1021 21:37:50.843127 3320 net.cpp:106] Creating Layer bn1 | |
I1021 21:37:50.843128 3320 net.cpp:454] bn1 <- pool1 | |
I1021 21:37:50.843132 3320 net.cpp:411] bn1 -> bn1 | |
I1021 21:37:50.843283 3320 net.cpp:150] Setting up bn1 | |
I1021 21:37:50.843287 3320 net.cpp:157] Top shape: 1000 32 16 16 (8192000) | |
I1021 21:37:50.843289 3320 net.cpp:165] Memory required for data: 208908000 | |
I1021 21:37:50.843297 3320 layer_factory.hpp:76] Creating layer Sigmoid1 | |
I1021 21:37:50.843300 3320 net.cpp:106] Creating Layer Sigmoid1 | |
I1021 21:37:50.843302 3320 net.cpp:454] Sigmoid1 <- bn1 | |
I1021 21:37:50.843305 3320 net.cpp:411] Sigmoid1 -> Sigmoid1 | |
I1021 21:37:50.843317 3320 net.cpp:150] Setting up Sigmoid1 | |
I1021 21:37:50.843320 3320 net.cpp:157] Top shape: 1000 32 16 16 (8192000) | |
I1021 21:37:50.843322 3320 net.cpp:165] Memory required for data: 241676000 | |
I1021 21:37:50.843324 3320 layer_factory.hpp:76] Creating layer conv2 | |
I1021 21:37:50.843329 3320 net.cpp:106] Creating Layer conv2 | |
I1021 21:37:50.843346 3320 net.cpp:454] conv2 <- Sigmoid1 | |
I1021 21:37:50.843350 3320 net.cpp:411] conv2 -> conv2 | |
I1021 21:37:50.845463 3320 net.cpp:150] Setting up conv2 | |
I1021 21:37:50.845470 3320 net.cpp:157] Top shape: 1000 32 16 16 (8192000) | |
I1021 21:37:50.845473 3320 net.cpp:165] Memory required for data: 274444000 | |
I1021 21:37:50.845476 3320 layer_factory.hpp:76] Creating layer bn2 | |
I1021 21:37:50.845490 3320 net.cpp:106] Creating Layer bn2 | |
I1021 21:37:50.845492 3320 net.cpp:454] bn2 <- conv2 | |
I1021 21:37:50.845495 3320 net.cpp:397] bn2 -> conv2 (in-place) | |
I1021 21:37:50.845614 3320 net.cpp:150] Setting up bn2 | |
I1021 21:37:50.845619 3320 net.cpp:157] Top shape: 1000 32 16 16 (8192000) | |
I1021 21:37:50.845621 3320 net.cpp:165] Memory required for data: 307212000 | |
I1021 21:37:50.845638 3320 layer_factory.hpp:76] Creating layer Sigmoid2 | |
I1021 21:37:50.845643 3320 net.cpp:106] Creating Layer Sigmoid2 | |
I1021 21:37:50.845644 3320 net.cpp:454] Sigmoid2 <- conv2 | |
I1021 21:37:50.845646 3320 net.cpp:411] Sigmoid2 -> Sigmoid2 | |
I1021 21:37:50.845659 3320 net.cpp:150] Setting up Sigmoid2 | |
I1021 21:37:50.845664 3320 net.cpp:157] Top shape: 1000 32 16 16 (8192000) | |
I1021 21:37:50.845665 3320 net.cpp:165] Memory required for data: 339980000 | |
I1021 21:37:50.845667 3320 layer_factory.hpp:76] Creating layer pool2 | |
I1021 21:37:50.845671 3320 net.cpp:106] Creating Layer pool2 | |
I1021 21:37:50.845674 3320 net.cpp:454] pool2 <- Sigmoid2 | |
I1021 21:37:50.845677 3320 net.cpp:411] pool2 -> pool2 | |
I1021 21:37:50.845690 3320 net.cpp:150] Setting up pool2 | |
I1021 21:37:50.845693 3320 net.cpp:157] Top shape: 1000 32 8 8 (2048000) | |
I1021 21:37:50.845695 3320 net.cpp:165] Memory required for data: 348172000 | |
I1021 21:37:50.845696 3320 layer_factory.hpp:76] Creating layer conv3 | |
I1021 21:37:50.845702 3320 net.cpp:106] Creating Layer conv3 | |
I1021 21:37:50.845705 3320 net.cpp:454] conv3 <- pool2 | |
I1021 21:37:50.845710 3320 net.cpp:411] conv3 -> conv3 | |
I1021 21:37:50.847018 3320 net.cpp:150] Setting up conv3 | |
I1021 21:37:50.847024 3320 net.cpp:157] Top shape: 1000 64 8 8 (4096000) | |
I1021 21:37:50.847026 3320 net.cpp:165] Memory required for data: 364556000 | |
I1021 21:37:50.847030 3320 layer_factory.hpp:76] Creating layer bn3 | |
I1021 21:37:50.847035 3320 net.cpp:106] Creating Layer bn3 | |
I1021 21:37:50.847038 3320 net.cpp:454] bn3 <- conv3 | |
I1021 21:37:50.847040 3320 net.cpp:397] bn3 -> conv3 (in-place) | |
I1021 21:37:50.847154 3320 net.cpp:150] Setting up bn3 | |
I1021 21:37:50.847158 3320 net.cpp:157] Top shape: 1000 64 8 8 (4096000) | |
I1021 21:37:50.847160 3320 net.cpp:165] Memory required for data: 380940000 | |
I1021 21:37:50.847164 3320 layer_factory.hpp:76] Creating layer Sigmoid3 | |
I1021 21:37:50.847168 3320 net.cpp:106] Creating Layer Sigmoid3 | |
I1021 21:37:50.847170 3320 net.cpp:454] Sigmoid3 <- conv3 | |
I1021 21:37:50.847173 3320 net.cpp:411] Sigmoid3 -> Sigmoid3 | |
I1021 21:37:50.847184 3320 net.cpp:150] Setting up Sigmoid3 | |
I1021 21:37:50.847188 3320 net.cpp:157] Top shape: 1000 64 8 8 (4096000) | |
I1021 21:37:50.847190 3320 net.cpp:165] Memory required for data: 397324000 | |
I1021 21:37:50.847193 3320 layer_factory.hpp:76] Creating layer pool3 | |
I1021 21:37:50.847196 3320 net.cpp:106] Creating Layer pool3 | |
I1021 21:37:50.847198 3320 net.cpp:454] pool3 <- Sigmoid3 | |
I1021 21:37:50.847201 3320 net.cpp:411] pool3 -> pool3 | |
I1021 21:37:50.847213 3320 net.cpp:150] Setting up pool3 | |
I1021 21:37:50.847218 3320 net.cpp:157] Top shape: 1000 64 4 4 (1024000) | |
I1021 21:37:50.847219 3320 net.cpp:165] Memory required for data: 401420000 | |
I1021 21:37:50.847220 3320 layer_factory.hpp:76] Creating layer ip1 | |
I1021 21:37:50.847225 3320 net.cpp:106] Creating Layer ip1 | |
I1021 21:37:50.847228 3320 net.cpp:454] ip1 <- pool3 | |
I1021 21:37:50.847230 3320 net.cpp:411] ip1 -> ip1 | |
I1021 21:37:50.847544 3320 net.cpp:150] Setting up ip1 | |
I1021 21:37:50.847548 3320 net.cpp:157] Top shape: 1000 10 (10000) | |
I1021 21:37:50.847550 3320 net.cpp:165] Memory required for data: 401460000 | |
I1021 21:37:50.847565 3320 layer_factory.hpp:76] Creating layer ip1_ip1_0_split | |
I1021 21:37:50.847582 3320 net.cpp:106] Creating Layer ip1_ip1_0_split | |
I1021 21:37:50.847585 3320 net.cpp:454] ip1_ip1_0_split <- ip1 | |
I1021 21:37:50.847589 3320 net.cpp:411] ip1_ip1_0_split -> ip1_ip1_0_split_0 | |
I1021 21:37:50.847591 3320 net.cpp:411] ip1_ip1_0_split -> ip1_ip1_0_split_1 | |
I1021 21:37:50.847614 3320 net.cpp:150] Setting up ip1_ip1_0_split | |
I1021 21:37:50.847617 3320 net.cpp:157] Top shape: 1000 10 (10000) | |
I1021 21:37:50.847630 3320 net.cpp:157] Top shape: 1000 10 (10000) | |
I1021 21:37:50.847631 3320 net.cpp:165] Memory required for data: 401540000 | |
I1021 21:37:50.847633 3320 layer_factory.hpp:76] Creating layer accuracy | |
I1021 21:37:50.847651 3320 net.cpp:106] Creating Layer accuracy | |
I1021 21:37:50.847653 3320 net.cpp:454] accuracy <- ip1_ip1_0_split_0 | |
I1021 21:37:50.847656 3320 net.cpp:454] accuracy <- label_cifar_1_split_0 | |
I1021 21:37:50.847658 3320 net.cpp:411] accuracy -> accuracy | |
I1021 21:37:50.847664 3320 net.cpp:150] Setting up accuracy | |
I1021 21:37:50.847667 3320 net.cpp:157] Top shape: (1) | |
I1021 21:37:50.847669 3320 net.cpp:165] Memory required for data: 401540004 | |
I1021 21:37:50.847671 3320 layer_factory.hpp:76] Creating layer loss | |
I1021 21:37:50.847674 3320 net.cpp:106] Creating Layer loss | |
I1021 21:37:50.847676 3320 net.cpp:454] loss <- ip1_ip1_0_split_1 | |
I1021 21:37:50.847678 3320 net.cpp:454] loss <- label_cifar_1_split_1 | |
I1021 21:37:50.847681 3320 net.cpp:411] loss -> loss | |
I1021 21:37:50.847686 3320 layer_factory.hpp:76] Creating layer loss | |
I1021 21:37:50.847743 3320 net.cpp:150] Setting up loss | |
I1021 21:37:50.847748 3320 net.cpp:157] Top shape: (1) | |
I1021 21:37:50.847749 3320 net.cpp:160] with loss weight 1 | |
I1021 21:37:50.847759 3320 net.cpp:165] Memory required for data: 401540008 | |
I1021 21:37:50.847760 3320 net.cpp:226] loss needs backward computation. | |
I1021 21:37:50.847762 3320 net.cpp:228] accuracy does not need backward computation. | |
I1021 21:37:50.847765 3320 net.cpp:226] ip1_ip1_0_split needs backward computation. | |
I1021 21:37:50.847766 3320 net.cpp:226] ip1 needs backward computation. | |
I1021 21:37:50.847769 3320 net.cpp:226] pool3 needs backward computation. | |
I1021 21:37:50.847770 3320 net.cpp:226] Sigmoid3 needs backward computation. | |
I1021 21:37:50.847772 3320 net.cpp:226] bn3 needs backward computation. | |
I1021 21:37:50.847774 3320 net.cpp:226] conv3 needs backward computation. | |
I1021 21:37:50.847775 3320 net.cpp:226] pool2 needs backward computation. | |
I1021 21:37:50.847777 3320 net.cpp:226] Sigmoid2 needs backward computation. | |
I1021 21:37:50.847780 3320 net.cpp:226] bn2 needs backward computation. | |
I1021 21:37:50.847782 3320 net.cpp:226] conv2 needs backward computation. | |
I1021 21:37:50.847784 3320 net.cpp:226] Sigmoid1 needs backward computation. | |
I1021 21:37:50.847785 3320 net.cpp:226] bn1 needs backward computation. | |
I1021 21:37:50.847787 3320 net.cpp:226] pool1 needs backward computation. | |
I1021 21:37:50.847790 3320 net.cpp:226] conv1 needs backward computation. | |
I1021 21:37:50.847791 3320 net.cpp:228] label_cifar_1_split does not need backward computation. | |
I1021 21:37:50.847795 3320 net.cpp:228] cifar does not need backward computation. | |
I1021 21:37:50.847795 3320 net.cpp:270] This network produces output accuracy | |
I1021 21:37:50.847798 3320 net.cpp:270] This network produces output loss | |
I1021 21:37:50.847807 3320 net.cpp:283] Network initialization done. | |
I1021 21:37:50.847872 3320 solver.cpp:59] Solver scaffolding done. | |
I1021 21:37:50.848254 3320 caffe.cpp:212] Starting Optimization | |
I1021 21:37:50.848260 3320 solver.cpp:287] Solving CIFAR10_full | |
I1021 21:37:50.848263 3320 solver.cpp:288] Learning Rate Policy: poly | |
I1021 21:37:50.848827 3320 solver.cpp:340] Iteration 0, Testing net (#0) | |
I1021 21:37:50.849015 3320 blocking_queue.cpp:50] Data layer prefetch queue empty | |
I1021 21:37:53.186163 3320 solver.cpp:408] Test net output #0: accuracy = 0.1 | |
I1021 21:37:53.186189 3320 solver.cpp:408] Test net output #1: loss = 87.3365 (* 1 = 87.3365 loss) | |
I1021 21:37:53.219158 3320 solver.cpp:236] Iteration 0, loss = 2.31878 | |
I1021 21:37:53.219208 3320 solver.cpp:252] Train net output #0: loss = 2.31878 (* 1 = 2.31878 loss) | |
I1021 21:37:53.219223 3320 sgd_solver.cpp:106] Iteration 0, lr = 0.001 | |
I1021 21:37:58.670799 3320 solver.cpp:236] Iteration 100, loss = 2.27583 | |
I1021 21:37:58.670835 3320 solver.cpp:252] Train net output #0: loss = 2.27583 (* 1 = 2.27583 loss) | |
I1021 21:37:58.670840 3320 sgd_solver.cpp:106] Iteration 100, lr = 0.00098995 | |
I1021 21:38:04.126946 3320 solver.cpp:236] Iteration 200, loss = 2.26202 | |
I1021 21:38:04.126981 3320 solver.cpp:252] Train net output #0: loss = 2.26202 (* 1 = 2.26202 loss) | |
I1021 21:38:04.126986 3320 sgd_solver.cpp:106] Iteration 200, lr = 0.000979796 | |
I1021 21:38:09.585199 3320 solver.cpp:236] Iteration 300, loss = 2.26618 | |
I1021 21:38:09.585225 3320 solver.cpp:252] Train net output #0: loss = 2.26618 (* 1 = 2.26618 loss) | |
I1021 21:38:09.585230 3320 sgd_solver.cpp:106] Iteration 300, lr = 0.000969536 | |
I1021 21:38:15.039438 3320 solver.cpp:236] Iteration 400, loss = 2.26757 | |
I1021 21:38:15.039464 3320 solver.cpp:252] Train net output #0: loss = 2.26757 (* 1 = 2.26757 loss) | |
I1021 21:38:15.039470 3320 sgd_solver.cpp:106] Iteration 400, lr = 0.000959166 | |
I1021 21:38:20.489140 3320 solver.cpp:236] Iteration 500, loss = 2.29395 | |
I1021 21:38:20.489164 3320 solver.cpp:252] Train net output #0: loss = 2.29395 (* 1 = 2.29395 loss) | |
I1021 21:38:20.489169 3320 sgd_solver.cpp:106] Iteration 500, lr = 0.000948683 | |
I1021 21:38:25.941782 3320 solver.cpp:236] Iteration 600, loss = 2.2599 | |
I1021 21:38:25.941851 3320 solver.cpp:252] Train net output #0: loss = 2.2599 (* 1 = 2.2599 loss) | |
I1021 21:38:25.941856 3320 sgd_solver.cpp:106] Iteration 600, lr = 0.000938083 | |
I1021 21:38:31.396996 3320 solver.cpp:236] Iteration 700, loss = 2.26647 | |
I1021 21:38:31.397022 3320 solver.cpp:252] Train net output #0: loss = 2.26647 (* 1 = 2.26647 loss) | |
I1021 21:38:31.397027 3320 sgd_solver.cpp:106] Iteration 700, lr = 0.000927362 | |
I1021 21:38:36.849063 3320 solver.cpp:236] Iteration 800, loss = 2.26143 | |
I1021 21:38:36.849087 3320 solver.cpp:252] Train net output #0: loss = 2.26143 (* 1 = 2.26143 loss) | |
I1021 21:38:36.849092 3320 sgd_solver.cpp:106] Iteration 800, lr = 0.000916515 | |
I1021 21:38:42.332900 3320 solver.cpp:236] Iteration 900, loss = 2.37864 | |
I1021 21:38:42.332926 3320 solver.cpp:252] Train net output #0: loss = 2.37864 (* 1 = 2.37864 loss) | |
I1021 21:38:42.332931 3320 sgd_solver.cpp:106] Iteration 900, lr = 0.000905539 | |
I1021 21:38:47.754860 3320 solver.cpp:340] Iteration 1000, Testing net (#0) | |
I1021 21:38:50.067314 3320 solver.cpp:408] Test net output #0: accuracy = 0.0915 | |
I1021 21:38:50.067338 3320 solver.cpp:408] Test net output #1: loss = 2.33731 (* 1 = 2.33731 loss) | |
I1021 21:38:50.099077 3320 solver.cpp:236] Iteration 1000, loss = 2.35446 | |
I1021 21:38:50.099093 3320 solver.cpp:252] Train net output #0: loss = 2.35446 (* 1 = 2.35446 loss) | |
I1021 21:38:50.099099 3320 sgd_solver.cpp:106] Iteration 1000, lr = 0.000894427 | |
I1021 21:38:55.554541 3320 solver.cpp:236] Iteration 1100, loss = 2.2909 | |
I1021 21:38:55.554566 3320 solver.cpp:252] Train net output #0: loss = 2.2909 (* 1 = 2.2909 loss) | |
I1021 21:38:55.554571 3320 sgd_solver.cpp:106] Iteration 1100, lr = 0.000883176 | |
I1021 21:39:01.009380 3320 solver.cpp:236] Iteration 1200, loss = 2.26277 | |
I1021 21:39:01.009454 3320 solver.cpp:252] Train net output #0: loss = 2.26277 (* 1 = 2.26277 loss) | |
I1021 21:39:01.009460 3320 sgd_solver.cpp:106] Iteration 1200, lr = 0.00087178 | |
I1021 21:39:06.462496 3320 solver.cpp:236] Iteration 1300, loss = 2.20165 | |
I1021 21:39:06.462529 3320 solver.cpp:252] Train net output #0: loss = 2.20165 (* 1 = 2.20165 loss) | |
I1021 21:39:06.462534 3320 sgd_solver.cpp:106] Iteration 1300, lr = 0.000860233 | |
I1021 21:39:11.915897 3320 solver.cpp:236] Iteration 1400, loss = 2.1902 | |
I1021 21:39:11.915930 3320 solver.cpp:252] Train net output #0: loss = 2.1902 (* 1 = 2.1902 loss) | |
I1021 21:39:11.915935 3320 sgd_solver.cpp:106] Iteration 1400, lr = 0.000848528 | |
I1021 21:39:17.370481 3320 solver.cpp:236] Iteration 1500, loss = 2.27365 | |
I1021 21:39:17.370507 3320 solver.cpp:252] Train net output #0: loss = 2.27365 (* 1 = 2.27365 loss) | |
I1021 21:39:17.370512 3320 sgd_solver.cpp:106] Iteration 1500, lr = 0.00083666 | |
I1021 21:39:22.822818 3320 solver.cpp:236] Iteration 1600, loss = 2.24745 | |
I1021 21:39:22.822851 3320 solver.cpp:252] Train net output #0: loss = 2.24745 (* 1 = 2.24745 loss) | |
I1021 21:39:22.822856 3320 sgd_solver.cpp:106] Iteration 1600, lr = 0.000824621 | |
I1021 21:39:28.276706 3320 solver.cpp:236] Iteration 1700, loss = 2.26644 | |
I1021 21:39:28.276731 3320 solver.cpp:252] Train net output #0: loss = 2.26644 (* 1 = 2.26644 loss) | |
I1021 21:39:28.276736 3320 sgd_solver.cpp:106] Iteration 1700, lr = 0.000812404 | |
I1021 21:39:35.975937 3320 solver.cpp:236] Iteration 1800, loss = 2.32557 | |
I1021 21:39:35.976040 3320 solver.cpp:252] Train net output #0: loss = 2.32557 (* 1 = 2.32557 loss) | |
I1021 21:39:35.976057 3320 sgd_solver.cpp:106] Iteration 1800, lr = 0.0008 | |
I1021 21:39:47.464804 3320 solver.cpp:236] Iteration 1900, loss = 2.36034 | |
I1021 21:39:47.464840 3320 solver.cpp:252] Train net output #0: loss = 2.36034 (* 1 = 2.36034 loss) | |
I1021 21:39:47.464846 3320 sgd_solver.cpp:106] Iteration 1900, lr = 0.000787401 | |
I1021 21:39:58.865144 3320 solver.cpp:340] Iteration 2000, Testing net (#0) | |
I1021 21:40:03.309270 3320 solver.cpp:408] Test net output #0: accuracy = 0.1 | |
I1021 21:40:03.309304 3320 solver.cpp:408] Test net output #1: loss = 2.31379 (* 1 = 2.31379 loss) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment