| 565 | } |
| 566 | |
| 567 | virtual void InitReshapableNet() { |
| 568 | const string& proto = |
| 569 | "name: 'ReshapableNetwork' " |
| 570 | "layer { " |
| 571 | " name: 'data' " |
| 572 | " type: 'Input' " |
| 573 | " top: 'data' " |
| 574 | " input_param { " |
| 575 | " shape: { dim: 1 dim: 3 dim: 100 dim: 100 } " |
| 576 | " } " |
| 577 | "} " |
| 578 | "layer { " |
| 579 | " name: 'conv1' " |
| 580 | " type: 'Convolution' " |
| 581 | " bottom: 'data' " |
| 582 | " top: 'conv1' " |
| 583 | " convolution_param { " |
| 584 | " num_output: 5 " |
| 585 | " kernel_size: 3 " |
| 586 | " stride: 2 " |
| 587 | " weight_filler { " |
| 588 | " type: 'gaussian' " |
| 589 | " std: 0.01 " |
| 590 | " } " |
| 591 | " bias_filler { " |
| 592 | " type: 'constant' " |
| 593 | " value: 0.2 " |
| 594 | " } " |
| 595 | " } " |
| 596 | "} " |
| 597 | "layer { " |
| 598 | " name: 'relu1' " |
| 599 | " type: 'ReLU' " |
| 600 | " bottom: 'conv1' " |
| 601 | " top: 'conv1' " |
| 602 | "} " |
| 603 | "layer { " |
| 604 | " name: 'pool1' " |
| 605 | " type: 'Pooling' " |
| 606 | " bottom: 'conv1' " |
| 607 | " top: 'pool1' " |
| 608 | " pooling_param { " |
| 609 | " pool: MAX " |
| 610 | " kernel_size: 2 " |
| 611 | " stride: 2 " |
| 612 | " } " |
| 613 | "} " |
| 614 | "layer { " |
| 615 | " name: 'norm1' " |
| 616 | " type: 'LRN' " |
| 617 | " bottom: 'pool1' " |
| 618 | " top: 'norm1' " |
| 619 | " lrn_param { " |
| 620 | " local_size: 3 " |
| 621 | " } " |
| 622 | "} " |
| 623 | "layer { " |
| 624 | " name: 'softmax' " |