| 135 | } |
| 136 | |
| 137 | FeedForwardNet CreateNet() { |
| 138 | FeedForwardNet net; |
| 139 | Shape s{3, 227, 227}; |
| 140 | |
| 141 | net.Add(GenConvConf("conv1", 96, 11, 4, 0, 0.01), &s); |
| 142 | net.Add(GenReLUConf("relu1")); |
| 143 | net.Add(GenPoolingConf("pool1", true, 3, 2, 0)); |
| 144 | net.Add(GenLRNConf("lrn1")); |
| 145 | net.Add(GenConvConf("conv2", 256, 5, 1, 2, 0.01, 1.0)); |
| 146 | net.Add(GenReLUConf("relu2")); |
| 147 | net.Add(GenPoolingConf("pool2", true, 3, 2, 0)); |
| 148 | net.Add(GenLRNConf("lrn2")); |
| 149 | net.Add(GenConvConf("conv3", 384, 3, 1, 1, 0.01)); |
| 150 | net.Add(GenReLUConf("relu3")); |
| 151 | net.Add(GenConvConf("conv4", 384, 3, 1, 1, 0.01, 1.0)); |
| 152 | net.Add(GenReLUConf("relu4")); |
| 153 | net.Add(GenConvConf("conv5", 256, 3, 1, 1, 0.01, 1.0)); |
| 154 | net.Add(GenReLUConf("relu5")); |
| 155 | net.Add(GenPoolingConf("pool5", true, 3, 2, 0)); |
| 156 | net.Add(GenFlattenConf("flat")); |
| 157 | net.Add(GenDenseConf("ip6", 4096, 0.005, 1, 1.0)); |
| 158 | net.Add(GenReLUConf("relu6")); |
| 159 | net.Add(GenDropoutConf("drop6", 0.5)); |
| 160 | net.Add(GenDenseConf("ip7", 4096, 0.005, 1, 1.0)); |
| 161 | net.Add(GenReLUConf("relu7")); |
| 162 | net.Add(GenDropoutConf("drop7", 0.5)); |
| 163 | net.Add(GenDenseConf("ip8", 1000, 0.01, 1)); |
| 164 | |
| 165 | return net; |
| 166 | } |
| 167 | |
| 168 | void TrainOneEpoch(FeedForwardNet &net, ILSVRC &data, |
| 169 | std::shared_ptr<Device> device, int epoch, string bin_folder, |
no test coverage detected