| 441 | } |
| 442 | |
| 443 | virtual void InitDiffDataUnsharedWeightsNet() { |
| 444 | const string& proto = |
| 445 | "name: 'DiffDataUnsharedWeightsNetwork' " |
| 446 | "layer { " |
| 447 | " name: 'data' " |
| 448 | " type: 'DummyData' " |
| 449 | " dummy_data_param { " |
| 450 | " num: 10 " |
| 451 | " channels: 10 " |
| 452 | " height: 1 " |
| 453 | " width: 1 " |
| 454 | " num: 10 " |
| 455 | " channels: 10 " |
| 456 | " height: 1 " |
| 457 | " width: 1 " |
| 458 | " data_filler { " |
| 459 | " type: 'gaussian' " |
| 460 | " std: 10 " |
| 461 | " } " |
| 462 | " } " |
| 463 | " top: 'data1' " |
| 464 | " top: 'data2' " |
| 465 | "} " |
| 466 | "layer { " |
| 467 | " name: 'innerproduct1' " |
| 468 | " type: 'InnerProduct' " |
| 469 | " inner_product_param { " |
| 470 | " num_output: 10 " |
| 471 | " bias_term: false " |
| 472 | " weight_filler { " |
| 473 | " type: 'constant' " |
| 474 | " value: 0.5 " |
| 475 | " } " |
| 476 | " } " |
| 477 | " param { name: 'unsharedweights1' } " |
| 478 | " bottom: 'data1' " |
| 479 | " top: 'innerproduct1' " |
| 480 | "} " |
| 481 | "layer { " |
| 482 | " name: 'innerproduct2' " |
| 483 | " type: 'InnerProduct' " |
| 484 | " inner_product_param { " |
| 485 | " num_output: 10 " |
| 486 | " bias_term: false " |
| 487 | " weight_filler { " |
| 488 | " type: 'constant' " |
| 489 | " value: 0.5 " |
| 490 | " } " |
| 491 | " } " |
| 492 | " param { name: 'unsharedweights2' } " |
| 493 | " bottom: 'innerproduct1' " |
| 494 | " top: 'innerproduct2' " |
| 495 | "} " |
| 496 | "layer { " |
| 497 | " name: 'loss' " |
| 498 | " type: 'EuclideanLoss' " |
| 499 | " bottom: 'data2' " |
| 500 | " bottom: 'innerproduct2' " |