Publishing R3
[platform/upstream/dldt.git] / inference-engine / tests / unit / cnn_network / cnn_net_reader_impl_test.cpp
1 // Copyright (C) 2018 Intel Corporation
2 //
3 // SPDX-License-Identifier: Apache-2.0
4 //
5
6 #include <gtest/gtest.h>
7 #include <inference_engine/parsers.h>
8 #include <inference_engine/ie_cnn_net_reader_impl.h>
9 #include <test_model_path.hpp>
10 #include <mock_icnn_network.hpp>
11 #include <gmock/gmock-more-actions.h>
12 #include "cnn_network_impl.hpp"
13 #include "mock_iformat_parser.hpp"
14
15 using namespace testing;
16 using namespace InferenceEngine;
17 using namespace InferenceEngine::details;
18 using namespace std;
19
20 class CNNNetReaderImplTest : public ::testing::Test {
21 public:
22     StatusCode sts = OK;
23     ResponseDesc resp;
24 };
25
26 struct MockFormatParserCreator : public FormatParserCreator {
27     MockFormatParserCreator() {
28         _parser = make_shared<MockIFormatParser>();
29     }
30     std::shared_ptr<IFormatParser> create(int version) override {
31         return _parser;
32     }
33
34     MockIFormatParser* getParser() {
35         return _parser.get();
36     }
37
38 private:
39     std::shared_ptr<MockIFormatParser> _parser;
40 };
41
42 TEST_F(CNNNetReaderImplTest, validateIsCalled) {
43     std::string model =
44             "<net name=\"PVANET\" version=\"2\" batch=\"1\">"
45             "    <layers>"
46             "        <layer name=\"data\" type=\"Input\" precision=\"FP32\" id=\"0\">"
47             "            <output>"
48             "                <port id=\"0\">"
49             "                    <dim>1</dim>"
50             "                    <dim>3</dim>"
51             "                    <dim>544</dim>"
52             "                    <dim>992</dim>"
53             "                </port>"
54             "            </output>"
55             "        </layer>"
56             "        <layer name=\"conv1_1_conv\" type=\"Convolution\" precision=\"FP32\" id=\"2\">"
57             "            <convolution_data stride-x=\"2\" stride-y=\"2\" pad-x=\"3\" pad-y=\"3\" kernel-x=\"7\" kernel-y=\"7\" output=\"16\" group=\"1\"/>"
58             "            <input>"
59             "                <port id=\"2\">"
60             "                    <dim>1</dim>"
61             "                    <dim>3</dim>"
62             "                    <dim>544</dim>"
63             "                    <dim>992</dim>"
64             "                </port>"
65             "            </input>"
66             "            <output>"
67             "                <port id=\"3\">"
68             "                    <dim>1</dim>"
69             "                    <dim>16</dim>"
70             "                    <dim>272</dim>"
71             "                    <dim>496</dim>"
72             "                </port>"
73             "            </output>"
74             "            <weights offset=\"0\" size=\"9408\"/>"
75             "            <biases offset=\"9408\" size=\"64\"/>"
76             "        </layer>"
77             "        <layer name=\"conv1_1_neg\" type=\"Power\" precision=\"FP32\" id=\"3\">"
78             "            <power_data power=\"1\" scale=\"-1\" shift=\"0\"/>"
79             "            <input>"
80             "                <port id=\"4\">"
81             "                    <dim>1</dim>"
82             "                    <dim>16</dim>"
83             "                    <dim>272</dim>"
84             "                    <dim>496</dim>"
85             "                </port>"
86             "            </input>"
87             "            <output>"
88             "                <port id=\"5\">"
89             "                    <dim>1</dim>"
90             "                    <dim>16</dim>"
91             "                    <dim>272</dim>"
92             "                    <dim>496</dim>"
93             "                </port>"
94             "            </output>"
95             "        </layer>"
96             "        <layer name=\"conv1_1_concat\" type=\"Concat\" precision=\"FP32\" id=\"4\">"
97             "            <concat_data axis=\"1\"/>"
98             "            <input>"
99             "                <port id=\"6\">"
100             "                    <dim>1</dim>"
101             "                    <dim>16</dim>"
102             "                    <dim>272</dim>"
103             "                    <dim>496</dim>"
104             "                </port>"
105             "                <port id=\"7\">"
106             "                    <dim>1</dim>"
107             "                    <dim>16</dim>"
108             "                    <dim>272</dim>"
109             "                    <dim>496</dim>"
110             "                </port>"
111             "            </input>"
112             "            <output>"
113             "                <port id=\"8\">"
114             "                    <dim>1</dim>"
115             "                    <dim>32</dim>"
116             "                    <dim>272</dim>"
117             "                    <dim>496</dim>"
118             "                </port>"
119             "            </output>"
120             "        </layer>"
121             "        <layer name=\"conv1_1_scale\" type=\"ScaleShift\" precision=\"FP32\" id=\"5\">"
122             "            <input>"
123             "                <port id=\"9\">"
124             "                    <dim>1</dim>"
125             "                    <dim>32</dim>"
126             "                    <dim>272</dim>"
127             "                    <dim>496</dim>"
128             "                </port>"
129             "            </input>"
130             "            <output>"
131             "                <port id=\"10\">"
132             "                    <dim>1</dim>"
133             "                    <dim>32</dim>"
134             "                    <dim>272</dim>"
135             "                    <dim>496</dim>"
136             "                </port>"
137             "            </output>"
138             "            <weights offset=\"9472\" size=\"128\"/>"
139             "            <biases offset=\"9600\" size=\"128\"/>"
140             "        </layer>"
141             "        <layer name=\"conv1_1_relu\" type=\"ReLU\" precision=\"FP32\" id=\"6\">"
142             "            <data negative_slope=\"0\" engine=\"caffe.ReLUParameter.DEFAULT\"/>"
143             "            <input>"
144             "                <port id=\"11\">"
145             "                    <dim>1</dim>"
146             "                    <dim>32</dim>"
147             "                    <dim>272</dim>"
148             "                    <dim>496</dim>"
149             "                </port>"
150             "            </input>"
151             "            <output>"
152             "                <port id=\"12\">"
153             "                    <dim>1</dim>"
154             "                    <dim>32</dim>"
155             "                    <dim>272</dim>"
156             "                    <dim>496</dim>"
157             "                </port>"
158             "            </output>"
159             "        </layer>"
160             "        <layer name=\"pool1\" type=\"Pooling\" precision=\"FP32\" id=\"7\">"
161             "            <pooling_data kernel-x=\"3\" kernel-y=\"3\" pad-x=\"0\" pad-y=\"0\" stride-x=\"2\" stride-y=\"2\" rounding-type=\"ceil\" pool-method=\"max\"/>"
162             "            <input>"
163             "                <port id=\"13\">"
164             "                    <dim>1</dim>"
165             "                    <dim>32</dim>"
166             "                    <dim>272</dim>"
167             "                    <dim>496</dim>"
168             "                </port>"
169             "            </input>"
170             "            <output>"
171             "                <port id=\"14\">"
172             "                    <dim>1</dim>"
173             "                    <dim>32</dim>"
174             "                    <dim>136</dim>"
175             "                    <dim>248</dim>"
176             "                </port>"
177             "            </output>"
178             "        </layer>"
179             "    </layers>"
180             "    <edges>"
181             "        <edge from-layer=\"0\" from-port=\"0\" to-layer=\"2\" to-port=\"2\"/>"
182             "        <edge from-layer=\"2\" from-port=\"3\" to-layer=\"3\" to-port=\"4\"/>"
183             "        <edge from-layer=\"2\" from-port=\"3\" to-layer=\"4\" to-port=\"6\"/>"
184             "        <edge from-layer=\"3\" from-port=\"5\" to-layer=\"4\" to-port=\"7\"/>"
185             "        <edge from-layer=\"4\" from-port=\"8\" to-layer=\"5\" to-port=\"9\"/>"
186             "        <edge from-layer=\"5\" from-port=\"10\" to-layer=\"6\" to-port=\"11\"/>"
187             "        <edge from-layer=\"6\" from-port=\"12\" to-layer=\"7\" to-port=\"13\"/>"
188             "    </edges>"
189             "</net>";
190     auto parserCreator = make_shared<MockFormatParserCreator>();
191     CNNNetReaderImpl reader(parserCreator);
192     auto network = make_shared<MockCNNNetworkImpl>();
193     auto name = std::string{"AlexNet"};
194
195     EXPECT_CALL(*parserCreator->getParser(), Parse(_)).Times(1).WillOnce(Return(network));
196     EXPECT_CALL(*network.get(), validate(_)).Times(1);
197     EXPECT_CALL(*network.get(), getName()).Times(1).WillOnce(ReturnRef(name));
198
199     ASSERT_NO_THROW(sts = reader.ReadNetwork(model.data(), model.length(), &resp));
200     ASSERT_EQ(OK, sts);
201 }
202
203 TEST_F(CNNNetReaderImplTest, cycleIsDetectedInReader) {
204     std::string model =
205             "<net batch=\"1\" name=\"model\" version=\"2\">"
206             "    <layers>"
207             "        <layer id=\"0\" name=\"data\" precision=\"FP32\" type=\"Input\">"
208             "            <output>"
209             "                <port id=\"0\">"
210             "                    <dim>1</dim>"
211             "                    <dim>3</dim>"
212             "                    <dim>227</dim>"
213             "                    <dim>227</dim>"
214             "                </port>"
215             "            </output>"
216             "        </layer>"
217             "        <layer id=\"1\" name=\"conv1\" precision=\"FP32\" type=\"Convolution\">"
218             "            <data dilation-x=\"1\" dilation-y=\"1\" group=\"1\" kernel-x=\"3\" kernel-y=\"3\" output=\"64\" pad-x=\"0\" pad-y=\"0\" stride=\"1,1,2,2\" stride-x=\"2\" stride-y=\"2\"/>"
219             "            <input>"
220             "                <port id=\"0\">"
221             "                    <dim>1</dim>"
222             "                    <dim>3</dim>"
223             "                    <dim>227</dim>"
224             "                    <dim>227</dim>"
225             "                </port>"
226             "            </input>"
227             "            <output>"
228             "                <port id=\"3\">"
229             "                    <dim>1</dim>"
230             "                    <dim>64</dim>"
231             "                    <dim>113</dim>"
232             "                    <dim>113</dim>"
233             "                </port>"
234             "            </output>"
235             "            <blobs>"
236             "                <weights offset=\"0\" size=\"6912\"/>"
237             "                <biases offset=\"6912\" size=\"256\"/>"
238             "            </blobs>"
239             "        </layer>"
240             "        <layer id=\"2\" name=\"relu_conv1\" precision=\"FP32\" type=\"ReLU\">"
241             "            <data engine=\"caffe.ReLUParameter.DEFAULT\" negative_slope=\"0.0\"/>"
242             "            <input>"
243             "                <port id=\"0\">"
244             "                    <dim>1</dim>"
245             "                    <dim>64</dim>"
246             "                    <dim>113</dim>"
247             "                    <dim>113</dim>"
248             "                </port>"
249             "            </input>"
250             "            <output>"
251             "                <port id=\"1\">"
252             "                    <dim>1</dim>"
253             "                    <dim>64</dim>"
254             "                    <dim>113</dim>"
255             "                    <dim>113</dim>"
256             "                </port>"
257             "            </output>"
258             "        </layer>"
259             "        <layer id=\"3\" name=\"pool1\" precision=\"FP32\" type=\"Pooling\">"
260             "            <data exclude-pad=\"false\" kernel-x=\"3\" kernel-y=\"3\" pad-x=\"0\" pad-y=\"0\" pool-method=\"max\" rounding_type=\"ceil\" stride=\"1,1,2,2\" stride-x=\"2\" stride-y=\"2\"/>"
261             "            <input>"
262             "                <port id=\"0\">"
263             "                    <dim>1</dim>"
264             "                    <dim>64</dim>"
265             "                    <dim>113</dim>"
266             "                    <dim>113</dim>"
267             "                </port>"
268             "            </input>"
269             "            <output>"
270             "                <port id=\"1\">"
271             "                    <dim>1</dim>"
272             "                    <dim>64</dim>"
273             "                    <dim>56</dim>"
274             "                    <dim>56</dim>"
275             "                </port>"
276             "            </output>"
277             "        </layer>"
278             "        <layer id=\"4\" name=\"fire2/squeeze1x1\" precision=\"FP32\" type=\"Convolution\">"
279             "            <data dilation-x=\"1\" dilation-y=\"1\" group=\"1\" kernel-x=\"1\" kernel-y=\"1\" output=\"16\" pad-x=\"0\" pad-y=\"0\" stride=\"1,1,1,1\" stride-x=\"1\" stride-y=\"1\"/>"
280             "            <input>"
281             "                <port id=\"0\">"
282             "                    <dim>1</dim>"
283             "                    <dim>64</dim>"
284             "                    <dim>56</dim>"
285             "                    <dim>56</dim>"
286             "                </port>"
287             "            </input>"
288             "            <output>"
289             "                <port id=\"3\">"
290             "                    <dim>1</dim>"
291             "                    <dim>16</dim>"
292             "                    <dim>56</dim>"
293             "                    <dim>56</dim>"
294             "                </port>"
295             "            </output>"
296             "            <blobs>"
297             "                <weights offset=\"7168\" size=\"4096\"/>"
298             "                <biases offset=\"11264\" size=\"64\"/>"
299             "            </blobs>"
300             "        </layer>"
301             "        <layer id=\"5\" name=\"fire2/relu_squeeze1x1\" precision=\"FP32\" type=\"ReLU\">"
302             "            <data engine=\"caffe.ReLUParameter.DEFAULT\" negative_slope=\"0.0\"/>"
303             "            <input>"
304             "                <port id=\"0\">"
305             "                    <dim>1</dim>"
306             "                    <dim>16</dim>"
307             "                    <dim>56</dim>"
308             "                    <dim>56</dim>"
309             "                </port>"
310             "            </input>"
311             "            <output>"
312             "                <port id=\"1\">"
313             "                    <dim>1</dim>"
314             "                    <dim>16</dim>"
315             "                    <dim>56</dim>"
316             "                    <dim>56</dim>"
317             "                </port>"
318             "            </output>"
319             "        </layer>"
320             "        <layer id=\"6\" name=\"fire2/expand1x1\" precision=\"FP32\" type=\"Convolution\">"
321             "            <data dilation-x=\"1\" dilation-y=\"1\" group=\"1\" kernel-x=\"1\" kernel-y=\"1\" output=\"64\" pad-x=\"0\" pad-y=\"0\" stride=\"1,1,1,1\" stride-x=\"1\" stride-y=\"1\"/>"
322             "            <input>"
323             "                <port id=\"0\">"
324             "                    <dim>1</dim>"
325             "                    <dim>16</dim>"
326             "                    <dim>56</dim>"
327             "                    <dim>56</dim>"
328             "                </port>"
329             "            </input>"
330             "            <output>"
331             "                <port id=\"3\">"
332             "                    <dim>1</dim>"
333             "                    <dim>64</dim>"
334             "                    <dim>56</dim>"
335             "                    <dim>56</dim>"
336             "                </port>"
337             "            </output>"
338             "            <blobs>"
339             "                <weights offset=\"11328\" size=\"4096\"/>"
340             "                <biases offset=\"15424\" size=\"256\"/>"
341             "            </blobs>"
342             "        </layer>"
343             "        <layer id=\"7\" name=\"fire2/relu_expand1x1\" precision=\"FP32\" type=\"ReLU\">"
344             "            <data engine=\"caffe.ReLUParameter.DEFAULT\" negative_slope=\"0.0\"/>"
345             "            <input>"
346             "                <port id=\"0\">"
347             "                    <dim>1</dim>"
348             "                    <dim>64</dim>"
349             "                    <dim>56</dim>"
350             "                    <dim>56</dim>"
351             "                </port>"
352             "            </input>"
353             "            <output>"
354             "                <port id=\"1\">"
355             "                    <dim>1</dim>"
356             "                    <dim>64</dim>"
357             "                    <dim>56</dim>"
358             "                    <dim>56</dim>"
359             "                </port>"
360             "            </output>"
361             "        </layer>"
362             "        <layer id=\"8\" name=\"fire2/expand3x3\" precision=\"FP32\" type=\"Convolution\">"
363             "            <data dilation-x=\"1\" dilation-y=\"1\" group=\"1\" kernel-x=\"3\" kernel-y=\"3\" output=\"64\" pad-x=\"1\" pad-y=\"1\" stride=\"1,1,1,1\" stride-x=\"1\" stride-y=\"1\"/>"
364             "            <input>"
365             "                <port id=\"0\">"
366             "                    <dim>1</dim>"
367             "                    <dim>16</dim>"
368             "                    <dim>56</dim>"
369             "                    <dim>56</dim>"
370             "                </port>"
371             "                <port id=\"1\">"
372             "                    <dim>1</dim>"
373             "                    <dim>16</dim>"
374             "                    <dim>56</dim>"
375             "                    <dim>56</dim>"
376             "                </port>"
377             "            </input>"
378             "            <output>"
379             "                <port id=\"3\">"
380             "                    <dim>1</dim>"
381             "                    <dim>64</dim>"
382             "                    <dim>56</dim>"
383             "                    <dim>56</dim>"
384             "                </port>"
385             "            </output>"
386             "            <blobs>"
387             "                <weights offset=\"15680\" size=\"36864\"/>"
388             "                <biases offset=\"52544\" size=\"256\"/>"
389             "            </blobs>"
390             "        </layer>"
391             "        <layer id=\"9\" name=\"fire2/relu_expand3x3\" precision=\"FP32\" type=\"ReLU\">"
392             "            <data engine=\"caffe.ReLUParameter.DEFAULT\" negative_slope=\"0.0\"/>"
393             "            <input>"
394             "                <port id=\"0\">"
395             "                    <dim>1</dim>"
396             "                    <dim>64</dim>"
397             "                    <dim>56</dim>"
398             "                    <dim>56</dim>"
399             "                </port>"
400             "            </input>"
401             "            <output>"
402             "                <port id=\"1\">"
403             "                    <dim>1</dim>"
404             "                    <dim>64</dim>"
405             "                    <dim>56</dim>"
406             "                    <dim>56</dim>"
407             "                </port>"
408             "            </output>"
409             "        </layer>"
410             "        <layer id=\"10\" name=\"fire2/concat\" precision=\"FP32\" type=\"Concat\">"
411             "            <data axis=\"1\"/>"
412             "            <input>"
413             "                <port id=\"0\">"
414             "                    <dim>1</dim>"
415             "                    <dim>64</dim>"
416             "                    <dim>56</dim>"
417             "                    <dim>56</dim>"
418             "                </port>"
419             "                <port id=\"1\">"
420             "                    <dim>1</dim>"
421             "                    <dim>64</dim>"
422             "                    <dim>56</dim>"
423             "                    <dim>56</dim>"
424             "                </port>"
425             "            </input>"
426             "            <output>"
427             "                <port id=\"2\">"
428             "                    <dim>1</dim>"
429             "                    <dim>128</dim>"
430             "                    <dim>56</dim>"
431             "                    <dim>56</dim>"
432             "                </port>"
433             "            </output>"
434             "        </layer>"
435             "        <layer id=\"11\" name=\"fire3/squeeze1x1\" precision=\"FP32\" type=\"Convolution\">"
436             "            <data dilation-x=\"1\" dilation-y=\"1\" group=\"1\" kernel-x=\"1\" kernel-y=\"1\" output=\"16\" pad-x=\"0\" pad-y=\"0\" stride=\"1,1,1,1\" stride-x=\"1\" stride-y=\"1\"/>"
437             "            <input>"
438             "                <port id=\"0\">"
439             "                    <dim>1</dim>"
440             "                    <dim>128</dim>"
441             "                    <dim>56</dim>"
442             "                    <dim>56</dim>"
443             "                </port>"
444             "            </input>"
445             "            <output>"
446             "                <port id=\"3\">"
447             "                    <dim>1</dim>"
448             "                    <dim>16</dim>"
449             "                    <dim>56</dim>"
450             "                    <dim>56</dim>"
451             "                </port>"
452             "                <port id=\"4\">"
453             "                    <dim>1</dim>"
454             "                    <dim>16</dim>"
455             "                    <dim>56</dim>"
456             "                    <dim>56</dim>"
457             "                </port>"
458             "            </output>"
459             "            <blobs>"
460             "                <weights offset=\"52800\" size=\"8192\"/>"
461             "                <biases offset=\"60992\" size=\"64\"/>"
462             "            </blobs>"
463             "        </layer>"
464             "        <layer id=\"12\" name=\"fire3/relu_squeeze1x1\" precision=\"FP32\" type=\"ReLU\">"
465             "            <data engine=\"caffe.ReLUParameter.DEFAULT\" negative_slope=\"0.0\"/>"
466             "            <input>"
467             "                <port id=\"0\">"
468             "                    <dim>1</dim>"
469             "                    <dim>16</dim>"
470             "                    <dim>56</dim>"
471             "                    <dim>56</dim>"
472             "                </port>"
473             "            </input>"
474             "            <output>"
475             "                <port id=\"1\">"
476             "                    <dim>1</dim>"
477             "                    <dim>16</dim>"
478             "                    <dim>56</dim>"
479             "                    <dim>56</dim>"
480             "                </port>"
481             "            </output>"
482             "        </layer>"
483             "        <layer id=\"13\" name=\"fire3/expand1x1\" precision=\"FP32\" type=\"Convolution\">"
484             "            <data dilation-x=\"1\" dilation-y=\"1\" group=\"1\" kernel-x=\"1\" kernel-y=\"1\" output=\"64\" pad-x=\"0\" pad-y=\"0\" stride=\"1,1,1,1\" stride-x=\"1\" stride-y=\"1\"/>"
485             "            <input>"
486             "                <port id=\"0\">"
487             "                    <dim>1</dim>"
488             "                    <dim>16</dim>"
489             "                    <dim>56</dim>"
490             "                    <dim>56</dim>"
491             "                </port>"
492             "            </input>"
493             "            <output>"
494             "                <port id=\"3\">"
495             "                    <dim>1</dim>"
496             "                    <dim>64</dim>"
497             "                    <dim>56</dim>"
498             "                    <dim>56</dim>"
499             "                </port>"
500             "            </output>"
501             "            <blobs>"
502             "                <weights offset=\"61056\" size=\"4096\"/>"
503             "                <biases offset=\"65152\" size=\"256\"/>"
504             "            </blobs>"
505             "        </layer>"
506             "        <layer id=\"14\" name=\"fire3/relu_expand1x1\" precision=\"FP32\" type=\"ReLU\">"
507             "            <data engine=\"caffe.ReLUParameter.DEFAULT\" negative_slope=\"0.0\"/>"
508             "            <input>"
509             "                <port id=\"0\">"
510             "                    <dim>1</dim>"
511             "                    <dim>64</dim>"
512             "                    <dim>56</dim>"
513             "                    <dim>56</dim>"
514             "                </port>"
515             "            </input>"
516             "            <output>"
517             "                <port id=\"1\">"
518             "                    <dim>1</dim>"
519             "                    <dim>64</dim>"
520             "                    <dim>56</dim>"
521             "                    <dim>56</dim>"
522             "                </port>"
523             "            </output>"
524             "        </layer>"
525             "        <layer id=\"15\" name=\"fire3/expand3x3\" precision=\"FP32\" type=\"Convolution\">"
526             "            <data dilation-x=\"1\" dilation-y=\"1\" group=\"1\" kernel-x=\"3\" kernel-y=\"3\" output=\"64\" pad-x=\"1\" pad-y=\"1\" stride=\"1,1,1,1\" stride-x=\"1\" stride-y=\"1\"/>"
527             "            <input>"
528             "                <port id=\"0\">"
529             "                    <dim>1</dim>"
530             "                    <dim>16</dim>"
531             "                    <dim>56</dim>"
532             "                    <dim>56</dim>"
533             "                </port>"
534             "            </input>"
535             "            <output>"
536             "                <port id=\"3\">"
537             "                    <dim>1</dim>"
538             "                    <dim>64</dim>"
539             "                    <dim>56</dim>"
540             "                    <dim>56</dim>"
541             "                </port>"
542             "            </output>"
543             "            <blobs>"
544             "                <weights offset=\"65408\" size=\"36864\"/>"
545             "                <biases offset=\"102272\" size=\"256\"/>"
546             "            </blobs>"
547             "        </layer>"
548             "        <layer id=\"16\" name=\"fire3/relu_expand3x3\" precision=\"FP32\" type=\"ReLU\">"
549             "            <data engine=\"caffe.ReLUParameter.DEFAULT\" negative_slope=\"0.0\"/>"
550             "            <input>"
551             "                <port id=\"0\">"
552             "                    <dim>1</dim>"
553             "                    <dim>64</dim>"
554             "                    <dim>56</dim>"
555             "                    <dim>56</dim>"
556             "                </port>"
557             "            </input>"
558             "            <output>"
559             "                <port id=\"1\">"
560             "                    <dim>1</dim>"
561             "                    <dim>64</dim>"
562             "                    <dim>56</dim>"
563             "                    <dim>56</dim>"
564             "                </port>"
565             "            </output>"
566             "        </layer>"
567             "        <layer id=\"17\" name=\"fire3/concat\" precision=\"FP32\" type=\"Concat\">"
568             "            <data axis=\"1\"/>"
569             "            <input>"
570             "                <port id=\"0\">"
571             "                    <dim>1</dim>"
572             "                    <dim>64</dim>"
573             "                    <dim>56</dim>"
574             "                    <dim>56</dim>"
575             "                </port>"
576             "                <port id=\"1\">"
577             "                    <dim>1</dim>"
578             "                    <dim>64</dim>"
579             "                    <dim>56</dim>"
580             "                    <dim>56</dim>"
581             "                </port>"
582             "            </input>"
583             "            <output>"
584             "                <port id=\"2\">"
585             "                    <dim>1</dim>"
586             "                    <dim>128</dim>"
587             "                    <dim>56</dim>"
588             "                    <dim>56</dim>"
589             "                </port>"
590             "            </output>"
591             "        </layer>"
592             "        <layer id=\"18\" name=\"pool3\" precision=\"FP32\" type=\"Pooling\">"
593             "            <data exclude-pad=\"false\" kernel-x=\"3\" kernel-y=\"3\" pad-x=\"0\" pad-y=\"0\" pool-method=\"max\" rounding_type=\"ceil\" stride=\"1,1,2,2\" stride-x=\"2\" stride-y=\"2\"/>"
594             "            <input>"
595             "                <port id=\"0\">"
596             "                    <dim>1</dim>"
597             "                    <dim>128</dim>"
598             "                    <dim>56</dim>"
599             "                    <dim>56</dim>"
600             "                </port>"
601             "            </input>"
602             "            <output>"
603             "                <port id=\"1\">"
604             "                    <dim>1</dim>"
605             "                    <dim>128</dim>"
606             "                    <dim>28</dim>"
607             "                    <dim>28</dim>"
608             "                </port>"
609             "            </output>"
610             "        </layer>"
611             "        <layer id=\"19\" name=\"fire4/squeeze1x1\" precision=\"FP32\" type=\"Convolution\">"
612             "            <data dilation-x=\"1\" dilation-y=\"1\" group=\"1\" kernel-x=\"1\" kernel-y=\"1\" output=\"32\" pad-x=\"0\" pad-y=\"0\" stride=\"1,1,1,1\" stride-x=\"1\" stride-y=\"1\"/>"
613             "            <input>"
614             "                <port id=\"0\">"
615             "                    <dim>1</dim>"
616             "                    <dim>128</dim>"
617             "                    <dim>28</dim>"
618             "                    <dim>28</dim>"
619             "                </port>"
620             "            </input>"
621             "            <output>"
622             "                <port id=\"3\">"
623             "                    <dim>1</dim>"
624             "                    <dim>32</dim>"
625             "                    <dim>28</dim>"
626             "                    <dim>28</dim>"
627             "                </port>"
628             "            </output>"
629             "            <blobs>"
630             "                <weights offset=\"102528\" size=\"16384\"/>"
631             "                <biases offset=\"118912\" size=\"128\"/>"
632             "            </blobs>"
633             "        </layer>"
634             "        <layer id=\"20\" name=\"fire4/relu_squeeze1x1\" precision=\"FP32\" type=\"ReLU\">"
635             "            <data engine=\"caffe.ReLUParameter.DEFAULT\" negative_slope=\"0.0\"/>"
636             "            <input>"
637             "                <port id=\"0\">"
638             "                    <dim>1</dim>"
639             "                    <dim>32</dim>"
640             "                    <dim>28</dim>"
641             "                    <dim>28</dim>"
642             "                </port>"
643             "            </input>"
644             "            <output>"
645             "                <port id=\"1\">"
646             "                    <dim>1</dim>"
647             "                    <dim>32</dim>"
648             "                    <dim>28</dim>"
649             "                    <dim>28</dim>"
650             "                </port>"
651             "            </output>"
652             "        </layer>"
653             "        <layer id=\"21\" name=\"fire4/expand1x1\" precision=\"FP32\" type=\"Convolution\">"
654             "            <data dilation-x=\"1\" dilation-y=\"1\" group=\"1\" kernel-x=\"1\" kernel-y=\"1\" output=\"128\" pad-x=\"0\" pad-y=\"0\" stride=\"1,1,1,1\" stride-x=\"1\" stride-y=\"1\"/>"
655             "            <input>"
656             "                <port id=\"0\">"
657             "                    <dim>1</dim>"
658             "                    <dim>32</dim>"
659             "                    <dim>28</dim>"
660             "                    <dim>28</dim>"
661             "                </port>"
662             "            </input>"
663             "            <output>"
664             "                <port id=\"3\">"
665             "                    <dim>1</dim>"
666             "                    <dim>128</dim>"
667             "                    <dim>28</dim>"
668             "                    <dim>28</dim>"
669             "                </port>"
670             "            </output>"
671             "            <blobs>"
672             "                <weights offset=\"119040\" size=\"16384\"/>"
673             "                <biases offset=\"135424\" size=\"512\"/>"
674             "            </blobs>"
675             "        </layer>"
676             "        <layer id=\"22\" name=\"fire4/relu_expand1x1\" precision=\"FP32\" type=\"ReLU\">"
677             "            <data engine=\"caffe.ReLUParameter.DEFAULT\" negative_slope=\"0.0\"/>"
678             "            <input>"
679             "                <port id=\"0\">"
680             "                    <dim>1</dim>"
681             "                    <dim>128</dim>"
682             "                    <dim>28</dim>"
683             "                    <dim>28</dim>"
684             "                </port>"
685             "            </input>"
686             "            <output>"
687             "                <port id=\"1\">"
688             "                    <dim>1</dim>"
689             "                    <dim>128</dim>"
690             "                    <dim>28</dim>"
691             "                    <dim>28</dim>"
692             "                </port>"
693             "            </output>"
694             "        </layer>"
695             "        <layer id=\"23\" name=\"fire4/expand3x3\" precision=\"FP32\" type=\"Convolution\">"
696             "            <data dilation-x=\"1\" dilation-y=\"1\" group=\"1\" kernel-x=\"3\" kernel-y=\"3\" output=\"128\" pad-x=\"1\" pad-y=\"1\" stride=\"1,1,1,1\" stride-x=\"1\" stride-y=\"1\"/>"
697             "            <input>"
698             "                <port id=\"0\">"
699             "                    <dim>1</dim>"
700             "                    <dim>32</dim>"
701             "                    <dim>28</dim>"
702             "                    <dim>28</dim>"
703             "                </port>"
704             "            </input>"
705             "            <output>"
706             "                <port id=\"3\">"
707             "                    <dim>1</dim>"
708             "                    <dim>128</dim>"
709             "                    <dim>28</dim>"
710             "                    <dim>28</dim>"
711             "                </port>"
712             "            </output>"
713             "            <blobs>"
714             "                <weights offset=\"135936\" size=\"147456\"/>"
715             "                <biases offset=\"283392\" size=\"512\"/>"
716             "            </blobs>"
717             "        </layer>"
718             "        <layer id=\"24\" name=\"fire4/relu_expand3x3\" precision=\"FP32\" type=\"ReLU\">"
719             "            <data engine=\"caffe.ReLUParameter.DEFAULT\" negative_slope=\"0.0\"/>"
720             "            <input>"
721             "                <port id=\"0\">"
722             "                    <dim>1</dim>"
723             "                    <dim>128</dim>"
724             "                    <dim>28</dim>"
725             "                    <dim>28</dim>"
726             "                </port>"
727             "            </input>"
728             "            <output>"
729             "                <port id=\"1\">"
730             "                    <dim>1</dim>"
731             "                    <dim>128</dim>"
732             "                    <dim>28</dim>"
733             "                    <dim>28</dim>"
734             "                </port>"
735             "            </output>"
736             "        </layer>"
737             "        <layer id=\"25\" name=\"fire4/concat\" precision=\"FP32\" type=\"Concat\">"
738             "            <data axis=\"1\"/>"
739             "            <input>"
740             "                <port id=\"0\">"
741             "                    <dim>1</dim>"
742             "                    <dim>128</dim>"
743             "                    <dim>28</dim>"
744             "                    <dim>28</dim>"
745             "                </port>"
746             "                <port id=\"1\">"
747             "                    <dim>1</dim>"
748             "                    <dim>128</dim>"
749             "                    <dim>28</dim>"
750             "                    <dim>28</dim>"
751             "                </port>"
752             "            </input>"
753             "            <output>"
754             "                <port id=\"2\">"
755             "                    <dim>1</dim>"
756             "                    <dim>256</dim>"
757             "                    <dim>28</dim>"
758             "                    <dim>28</dim>"
759             "                </port>"
760             "            </output>"
761             "        </layer>"
762             "        <layer id=\"26\" name=\"fire5/squeeze1x1\" precision=\"FP32\" type=\"Convolution\">"
763             "            <data dilation-x=\"1\" dilation-y=\"1\" group=\"1\" kernel-x=\"1\" kernel-y=\"1\" output=\"32\" pad-x=\"0\" pad-y=\"0\" stride=\"1,1,1,1\" stride-x=\"1\" stride-y=\"1\"/>"
764             "            <input>"
765             "                <port id=\"0\">"
766             "                    <dim>1</dim>"
767             "                    <dim>256</dim>"
768             "                    <dim>28</dim>"
769             "                    <dim>28</dim>"
770             "                </port>"
771             "            </input>"
772             "            <output>"
773             "                <port id=\"3\">"
774             "                    <dim>1</dim>"
775             "                    <dim>32</dim>"
776             "                    <dim>28</dim>"
777             "                    <dim>28</dim>"
778             "                </port>"
779             "            </output>"
780             "            <blobs>"
781             "                <weights offset=\"283904\" size=\"32768\"/>"
782             "                <biases offset=\"316672\" size=\"128\"/>"
783             "            </blobs>"
784             "        </layer>"
785             "        <layer id=\"27\" name=\"fire5/relu_squeeze1x1\" precision=\"FP32\" type=\"ReLU\">"
786             "            <data engine=\"caffe.ReLUParameter.DEFAULT\" negative_slope=\"0.0\"/>"
787             "            <input>"
788             "                <port id=\"0\">"
789             "                    <dim>1</dim>"
790             "                    <dim>32</dim>"
791             "                    <dim>28</dim>"
792             "                    <dim>28</dim>"
793             "                </port>"
794             "            </input>"
795             "            <output>"
796             "                <port id=\"1\">"
797             "                    <dim>1</dim>"
798             "                    <dim>32</dim>"
799             "                    <dim>28</dim>"
800             "                    <dim>28</dim>"
801             "                </port>"
802             "            </output>"
803             "        </layer>"
804             "        <layer id=\"28\" name=\"fire5/expand1x1\" precision=\"FP32\" type=\"Convolution\">"
805             "            <data dilation-x=\"1\" dilation-y=\"1\" group=\"1\" kernel-x=\"1\" kernel-y=\"1\" output=\"128\" pad-x=\"0\" pad-y=\"0\" stride=\"1,1,1,1\" stride-x=\"1\" stride-y=\"1\"/>"
806             "            <input>"
807             "                <port id=\"0\">"
808             "                    <dim>1</dim>"
809             "                    <dim>32</dim>"
810             "                    <dim>28</dim>"
811             "                    <dim>28</dim>"
812             "                </port>"
813             "            </input>"
814             "            <output>"
815             "                <port id=\"3\">"
816             "                    <dim>1</dim>"
817             "                    <dim>128</dim>"
818             "                    <dim>28</dim>"
819             "                    <dim>28</dim>"
820             "                </port>"
821             "            </output>"
822             "            <blobs>"
823             "                <weights offset=\"316800\" size=\"16384\"/>"
824             "                <biases offset=\"333184\" size=\"512\"/>"
825             "            </blobs>"
826             "        </layer>"
827             "        <layer id=\"29\" name=\"fire5/relu_expand1x1\" precision=\"FP32\" type=\"ReLU\">"
828             "            <data engine=\"caffe.ReLUParameter.DEFAULT\" negative_slope=\"0.0\"/>"
829             "            <input>"
830             "                <port id=\"0\">"
831             "                    <dim>1</dim>"
832             "                    <dim>128</dim>"
833             "                    <dim>28</dim>"
834             "                    <dim>28</dim>"
835             "                </port>"
836             "            </input>"
837             "            <output>"
838             "                <port id=\"1\">"
839             "                    <dim>1</dim>"
840             "                    <dim>128</dim>"
841             "                    <dim>28</dim>"
842             "                    <dim>28</dim>"
843             "                </port>"
844             "            </output>"
845             "        </layer>"
846             "        <layer id=\"30\" name=\"fire5/expand3x3\" precision=\"FP32\" type=\"Convolution\">"
847             "            <data dilation-x=\"1\" dilation-y=\"1\" group=\"1\" kernel-x=\"3\" kernel-y=\"3\" output=\"128\" pad-x=\"1\" pad-y=\"1\" stride=\"1,1,1,1\" stride-x=\"1\" stride-y=\"1\"/>"
848             "            <input>"
849             "                <port id=\"0\">"
850             "                    <dim>1</dim>"
851             "                    <dim>32</dim>"
852             "                    <dim>28</dim>"
853             "                    <dim>28</dim>"
854             "                </port>"
855             "            </input>"
856             "            <output>"
857             "                <port id=\"3\">"
858             "                    <dim>1</dim>"
859             "                    <dim>128</dim>"
860             "                    <dim>28</dim>"
861             "                    <dim>28</dim>"
862             "                </port>"
863             "            </output>"
864             "            <blobs>"
865             "                <weights offset=\"333696\" size=\"147456\"/>"
866             "                <biases offset=\"481152\" size=\"512\"/>"
867             "            </blobs>"
868             "        </layer>"
869             "        <layer id=\"31\" name=\"fire5/relu_expand3x3\" precision=\"FP32\" type=\"ReLU\">"
870             "            <data engine=\"caffe.ReLUParameter.DEFAULT\" negative_slope=\"0.0\"/>"
871             "            <input>"
872             "                <port id=\"0\">"
873             "                    <dim>1</dim>"
874             "                    <dim>128</dim>"
875             "                    <dim>28</dim>"
876             "                    <dim>28</dim>"
877             "                </port>"
878             "            </input>"
879             "            <output>"
880             "                <port id=\"1\">"
881             "                    <dim>1</dim>"
882             "                    <dim>128</dim>"
883             "                    <dim>28</dim>"
884             "                    <dim>28</dim>"
885             "                </port>"
886             "            </output>"
887             "        </layer>"
888             "        <layer id=\"32\" name=\"fire5/concat\" precision=\"FP32\" type=\"Concat\">"
889             "            <data axis=\"1\"/>"
890             "            <input>"
891             "                <port id=\"0\">"
892             "                    <dim>1</dim>"
893             "                    <dim>128</dim>"
894             "                    <dim>28</dim>"
895             "                    <dim>28</dim>"
896             "                </port>"
897             "                <port id=\"1\">"
898             "                    <dim>1</dim>"
899             "                    <dim>128</dim>"
900             "                    <dim>28</dim>"
901             "                    <dim>28</dim>"
902             "                </port>"
903             "            </input>"
904             "            <output>"
905             "                <port id=\"2\">"
906             "                    <dim>1</dim>"
907             "                    <dim>256</dim>"
908             "                    <dim>28</dim>"
909             "                    <dim>28</dim>"
910             "                </port>"
911             "            </output>"
912             "        </layer>"
913             "        <layer id=\"33\" name=\"pool5\" precision=\"FP32\" type=\"Pooling\">"
914             "            <data exclude-pad=\"false\" kernel-x=\"3\" kernel-y=\"3\" pad-x=\"0\" pad-y=\"0\" pool-method=\"max\" rounding_type=\"ceil\" stride=\"1,1,2,2\" stride-x=\"2\" stride-y=\"2\"/>"
915             "            <input>"
916             "                <port id=\"0\">"
917             "                    <dim>1</dim>"
918             "                    <dim>256</dim>"
919             "                    <dim>28</dim>"
920             "                    <dim>28</dim>"
921             "                </port>"
922             "            </input>"
923             "            <output>"
924             "                <port id=\"1\">"
925             "                    <dim>1</dim>"
926             "                    <dim>256</dim>"
927             "                    <dim>14</dim>"
928             "                    <dim>14</dim>"
929             "                </port>"
930             "            </output>"
931             "        </layer>"
932             "        <layer id=\"34\" name=\"fire6/squeeze1x1\" precision=\"FP32\" type=\"Convolution\">"
933             "            <data dilation-x=\"1\" dilation-y=\"1\" group=\"1\" kernel-x=\"1\" kernel-y=\"1\" output=\"48\" pad-x=\"0\" pad-y=\"0\" stride=\"1,1,1,1\" stride-x=\"1\" stride-y=\"1\"/>"
934             "            <input>"
935             "                <port id=\"0\">"
936             "                    <dim>1</dim>"
937             "                    <dim>256</dim>"
938             "                    <dim>14</dim>"
939             "                    <dim>14</dim>"
940             "                </port>"
941             "            </input>"
942             "            <output>"
943             "                <port id=\"3\">"
944             "                    <dim>1</dim>"
945             "                    <dim>48</dim>"
946             "                    <dim>14</dim>"
947             "                    <dim>14</dim>"
948             "                </port>"
949             "            </output>"
950             "            <blobs>"
951             "                <weights offset=\"481664\" size=\"49152\"/>"
952             "                <biases offset=\"530816\" size=\"192\"/>"
953             "            </blobs>"
954             "        </layer>"
955             "        <layer id=\"35\" name=\"fire6/relu_squeeze1x1\" precision=\"FP32\" type=\"ReLU\">"
956             "            <data engine=\"caffe.ReLUParameter.DEFAULT\" negative_slope=\"0.0\"/>"
957             "            <input>"
958             "                <port id=\"0\">"
959             "                    <dim>1</dim>"
960             "                    <dim>48</dim>"
961             "                    <dim>14</dim>"
962             "                    <dim>14</dim>"
963             "                </port>"
964             "            </input>"
965             "            <output>"
966             "                <port id=\"1\">"
967             "                    <dim>1</dim>"
968             "                    <dim>48</dim>"
969             "                    <dim>14</dim>"
970             "                    <dim>14</dim>"
971             "                </port>"
972             "            </output>"
973             "        </layer>"
974             "        <layer id=\"36\" name=\"fire6/expand1x1\" precision=\"FP32\" type=\"Convolution\">"
975             "            <data dilation-x=\"1\" dilation-y=\"1\" group=\"1\" kernel-x=\"1\" kernel-y=\"1\" output=\"192\" pad-x=\"0\" pad-y=\"0\" stride=\"1,1,1,1\" stride-x=\"1\" stride-y=\"1\"/>"
976             "            <input>"
977             "                <port id=\"0\">"
978             "                    <dim>1</dim>"
979             "                    <dim>48</dim>"
980             "                    <dim>14</dim>"
981             "                    <dim>14</dim>"
982             "                </port>"
983             "            </input>"
984             "            <output>"
985             "                <port id=\"3\">"
986             "                    <dim>1</dim>"
987             "                    <dim>192</dim>"
988             "                    <dim>14</dim>"
989             "                    <dim>14</dim>"
990             "                </port>"
991             "            </output>"
992             "            <blobs>"
993             "                <weights offset=\"531008\" size=\"36864\"/>"
994             "                <biases offset=\"567872\" size=\"768\"/>"
995             "            </blobs>"
996             "        </layer>"
997             "        <layer id=\"37\" name=\"fire6/relu_expand1x1\" precision=\"FP32\" type=\"ReLU\">"
998             "            <data engine=\"caffe.ReLUParameter.DEFAULT\" negative_slope=\"0.0\"/>"
999             "            <input>"
1000             "                <port id=\"0\">"
1001             "                    <dim>1</dim>"
1002             "                    <dim>192</dim>"
1003             "                    <dim>14</dim>"
1004             "                    <dim>14</dim>"
1005             "                </port>"
1006             "            </input>"
1007             "            <output>"
1008             "                <port id=\"1\">"
1009             "                    <dim>1</dim>"
1010             "                    <dim>192</dim>"
1011             "                    <dim>14</dim>"
1012             "                    <dim>14</dim>"
1013             "                </port>"
1014             "            </output>"
1015             "        </layer>"
1016             "        <layer id=\"38\" name=\"fire6/expand3x3\" precision=\"FP32\" type=\"Convolution\">"
1017             "            <data dilation-x=\"1\" dilation-y=\"1\" group=\"1\" kernel-x=\"3\" kernel-y=\"3\" output=\"192\" pad-x=\"1\" pad-y=\"1\" stride=\"1,1,1,1\" stride-x=\"1\" stride-y=\"1\"/>"
1018             "            <input>"
1019             "                <port id=\"0\">"
1020             "                    <dim>1</dim>"
1021             "                    <dim>48</dim>"
1022             "                    <dim>14</dim>"
1023             "                    <dim>14</dim>"
1024             "                </port>"
1025             "            </input>"
1026             "            <output>"
1027             "                <port id=\"3\">"
1028             "                    <dim>1</dim>"
1029             "                    <dim>192</dim>"
1030             "                    <dim>14</dim>"
1031             "                    <dim>14</dim>"
1032             "                </port>"
1033             "            </output>"
1034             "            <blobs>"
1035             "                <weights offset=\"568640\" size=\"331776\"/>"
1036             "                <biases offset=\"900416\" size=\"768\"/>"
1037             "            </blobs>"
1038             "        </layer>"
1039             "        <layer id=\"39\" name=\"fire6/relu_expand3x3\" precision=\"FP32\" type=\"ReLU\">"
1040             "            <data engine=\"caffe.ReLUParameter.DEFAULT\" negative_slope=\"0.0\"/>"
1041             "            <input>"
1042             "                <port id=\"0\">"
1043             "                    <dim>1</dim>"
1044             "                    <dim>192</dim>"
1045             "                    <dim>14</dim>"
1046             "                    <dim>14</dim>"
1047             "                </port>"
1048             "            </input>"
1049             "            <output>"
1050             "                <port id=\"1\">"
1051             "                    <dim>1</dim>"
1052             "                    <dim>192</dim>"
1053             "                    <dim>14</dim>"
1054             "                    <dim>14</dim>"
1055             "                </port>"
1056             "            </output>"
1057             "        </layer>"
1058             "        <layer id=\"40\" name=\"fire6/concat\" precision=\"FP32\" type=\"Concat\">"
1059             "            <data axis=\"1\"/>"
1060             "            <input>"
1061             "                <port id=\"0\">"
1062             "                    <dim>1</dim>"
1063             "                    <dim>192</dim>"
1064             "                    <dim>14</dim>"
1065             "                    <dim>14</dim>"
1066             "                </port>"
1067             "                <port id=\"1\">"
1068             "                    <dim>1</dim>"
1069             "                    <dim>192</dim>"
1070             "                    <dim>14</dim>"
1071             "                    <dim>14</dim>"
1072             "                </port>"
1073             "            </input>"
1074             "            <output>"
1075             "                <port id=\"2\">"
1076             "                    <dim>1</dim>"
1077             "                    <dim>384</dim>"
1078             "                    <dim>14</dim>"
1079             "                    <dim>14</dim>"
1080             "                </port>"
1081             "            </output>"
1082             "        </layer>"
1083             "        <layer id=\"41\" name=\"fire7/squeeze1x1\" precision=\"FP32\" type=\"Convolution\">"
1084             "            <data dilation-x=\"1\" dilation-y=\"1\" group=\"1\" kernel-x=\"1\" kernel-y=\"1\" output=\"48\" pad-x=\"0\" pad-y=\"0\" stride=\"1,1,1,1\" stride-x=\"1\" stride-y=\"1\"/>"
1085             "            <input>"
1086             "                <port id=\"0\">"
1087             "                    <dim>1</dim>"
1088             "                    <dim>384</dim>"
1089             "                    <dim>14</dim>"
1090             "                    <dim>14</dim>"
1091             "                </port>"
1092             "            </input>"
1093             "            <output>"
1094             "                <port id=\"3\">"
1095             "                    <dim>1</dim>"
1096             "                    <dim>48</dim>"
1097             "                    <dim>14</dim>"
1098             "                    <dim>14</dim>"
1099             "                </port>"
1100             "            </output>"
1101             "            <blobs>"
1102             "                <weights offset=\"901184\" size=\"73728\"/>"
1103             "                <biases offset=\"974912\" size=\"192\"/>"
1104             "            </blobs>"
1105             "        </layer>"
1106             "        <layer id=\"42\" name=\"fire7/relu_squeeze1x1\" precision=\"FP32\" type=\"ReLU\">"
1107             "            <data engine=\"caffe.ReLUParameter.DEFAULT\" negative_slope=\"0.0\"/>"
1108             "            <input>"
1109             "                <port id=\"0\">"
1110             "                    <dim>1</dim>"
1111             "                    <dim>48</dim>"
1112             "                    <dim>14</dim>"
1113             "                    <dim>14</dim>"
1114             "                </port>"
1115             "            </input>"
1116             "            <output>"
1117             "                <port id=\"1\">"
1118             "                    <dim>1</dim>"
1119             "                    <dim>48</dim>"
1120             "                    <dim>14</dim>"
1121             "                    <dim>14</dim>"
1122             "                </port>"
1123             "            </output>"
1124             "        </layer>"
1125             "        <layer id=\"43\" name=\"fire7/expand1x1\" precision=\"FP32\" type=\"Convolution\">"
1126             "            <data dilation-x=\"1\" dilation-y=\"1\" group=\"1\" kernel-x=\"1\" kernel-y=\"1\" output=\"192\" pad-x=\"0\" pad-y=\"0\" stride=\"1,1,1,1\" stride-x=\"1\" stride-y=\"1\"/>"
1127             "            <input>"
1128             "                <port id=\"0\">"
1129             "                    <dim>1</dim>"
1130             "                    <dim>48</dim>"
1131             "                    <dim>14</dim>"
1132             "                    <dim>14</dim>"
1133             "                </port>"
1134             "            </input>"
1135             "            <output>"
1136             "                <port id=\"3\">"
1137             "                    <dim>1</dim>"
1138             "                    <dim>192</dim>"
1139             "                    <dim>14</dim>"
1140             "                    <dim>14</dim>"
1141             "                </port>"
1142             "            </output>"
1143             "            <blobs>"
1144             "                <weights offset=\"975104\" size=\"36864\"/>"
1145             "                <biases offset=\"1011968\" size=\"768\"/>"
1146             "            </blobs>"
1147             "        </layer>"
1148             "        <layer id=\"44\" name=\"fire7/relu_expand1x1\" precision=\"FP32\" type=\"ReLU\">"
1149             "            <data engine=\"caffe.ReLUParameter.DEFAULT\" negative_slope=\"0.0\"/>"
1150             "            <input>"
1151             "                <port id=\"0\">"
1152             "                    <dim>1</dim>"
1153             "                    <dim>192</dim>"
1154             "                    <dim>14</dim>"
1155             "                    <dim>14</dim>"
1156             "                </port>"
1157             "            </input>"
1158             "            <output>"
1159             "                <port id=\"1\">"
1160             "                    <dim>1</dim>"
1161             "                    <dim>192</dim>"
1162             "                    <dim>14</dim>"
1163             "                    <dim>14</dim>"
1164             "                </port>"
1165             "            </output>"
1166             "        </layer>"
1167             "        <layer id=\"45\" name=\"fire7/expand3x3\" precision=\"FP32\" type=\"Convolution\">"
1168             "            <data dilation-x=\"1\" dilation-y=\"1\" group=\"1\" kernel-x=\"3\" kernel-y=\"3\" output=\"192\" pad-x=\"1\" pad-y=\"1\" stride=\"1,1,1,1\" stride-x=\"1\" stride-y=\"1\"/>"
1169             "            <input>"
1170             "                <port id=\"0\">"
1171             "                    <dim>1</dim>"
1172             "                    <dim>48</dim>"
1173             "                    <dim>14</dim>"
1174             "                    <dim>14</dim>"
1175             "                </port>"
1176             "            </input>"
1177             "            <output>"
1178             "                <port id=\"3\">"
1179             "                    <dim>1</dim>"
1180             "                    <dim>192</dim>"
1181             "                    <dim>14</dim>"
1182             "                    <dim>14</dim>"
1183             "                </port>"
1184             "            </output>"
1185             "            <blobs>"
1186             "                <weights offset=\"1012736\" size=\"331776\"/>"
1187             "                <biases offset=\"1344512\" size=\"768\"/>"
1188             "            </blobs>"
1189             "        </layer>"
1190             "        <layer id=\"46\" name=\"fire7/relu_expand3x3\" precision=\"FP32\" type=\"ReLU\">"
1191             "            <data engine=\"caffe.ReLUParameter.DEFAULT\" negative_slope=\"0.0\"/>"
1192             "            <input>"
1193             "                <port id=\"0\">"
1194             "                    <dim>1</dim>"
1195             "                    <dim>192</dim>"
1196             "                    <dim>14</dim>"
1197             "                    <dim>14</dim>"
1198             "                </port>"
1199             "            </input>"
1200             "            <output>"
1201             "                <port id=\"1\">"
1202             "                    <dim>1</dim>"
1203             "                    <dim>192</dim>"
1204             "                    <dim>14</dim>"
1205             "                    <dim>14</dim>"
1206             "                </port>"
1207             "            </output>"
1208             "        </layer>"
1209             "        <layer id=\"47\" name=\"fire7/concat\" precision=\"FP32\" type=\"Concat\">"
1210             "            <data axis=\"1\"/>"
1211             "            <input>"
1212             "                <port id=\"0\">"
1213             "                    <dim>1</dim>"
1214             "                    <dim>192</dim>"
1215             "                    <dim>14</dim>"
1216             "                    <dim>14</dim>"
1217             "                </port>"
1218             "                <port id=\"1\">"
1219             "                    <dim>1</dim>"
1220             "                    <dim>192</dim>"
1221             "                    <dim>14</dim>"
1222             "                    <dim>14</dim>"
1223             "                </port>"
1224             "            </input>"
1225             "            <output>"
1226             "                <port id=\"2\">"
1227             "                    <dim>1</dim>"
1228             "                    <dim>384</dim>"
1229             "                    <dim>14</dim>"
1230             "                    <dim>14</dim>"
1231             "                </port>"
1232             "            </output>"
1233             "        </layer>"
1234             "        <layer id=\"48\" name=\"fire8/squeeze1x1\" precision=\"FP32\" type=\"Convolution\">"
1235             "            <data dilation-x=\"1\" dilation-y=\"1\" group=\"1\" kernel-x=\"1\" kernel-y=\"1\" output=\"64\" pad-x=\"0\" pad-y=\"0\" stride=\"1,1,1,1\" stride-x=\"1\" stride-y=\"1\"/>"
1236             "            <input>"
1237             "                <port id=\"0\">"
1238             "                    <dim>1</dim>"
1239             "                    <dim>384</dim>"
1240             "                    <dim>14</dim>"
1241             "                    <dim>14</dim>"
1242             "                </port>"
1243             "            </input>"
1244             "            <output>"
1245             "                <port id=\"3\">"
1246             "                    <dim>1</dim>"
1247             "                    <dim>64</dim>"
1248             "                    <dim>14</dim>"
1249             "                    <dim>14</dim>"
1250             "                </port>"
1251             "            </output>"
1252             "            <blobs>"
1253             "                <weights offset=\"1345280\" size=\"98304\"/>"
1254             "                <biases offset=\"1443584\" size=\"256\"/>"
1255             "            </blobs>"
1256             "        </layer>"
1257             "        <layer id=\"49\" name=\"fire8/relu_squeeze1x1\" precision=\"FP32\" type=\"ReLU\">"
1258             "            <data engine=\"caffe.ReLUParameter.DEFAULT\" negative_slope=\"0.0\"/>"
1259             "            <input>"
1260             "                <port id=\"0\">"
1261             "                    <dim>1</dim>"
1262             "                    <dim>64</dim>"
1263             "                    <dim>14</dim>"
1264             "                    <dim>14</dim>"
1265             "                </port>"
1266             "            </input>"
1267             "            <output>"
1268             "                <port id=\"1\">"
1269             "                    <dim>1</dim>"
1270             "                    <dim>64</dim>"
1271             "                    <dim>14</dim>"
1272             "                    <dim>14</dim>"
1273             "                </port>"
1274             "            </output>"
1275             "        </layer>"
1276             "        <layer id=\"50\" name=\"fire8/expand1x1\" precision=\"FP32\" type=\"Convolution\">"
1277             "            <data dilation-x=\"1\" dilation-y=\"1\" group=\"1\" kernel-x=\"1\" kernel-y=\"1\" output=\"256\" pad-x=\"0\" pad-y=\"0\" stride=\"1,1,1,1\" stride-x=\"1\" stride-y=\"1\"/>"
1278             "            <input>"
1279             "                <port id=\"0\">"
1280             "                    <dim>1</dim>"
1281             "                    <dim>64</dim>"
1282             "                    <dim>14</dim>"
1283             "                    <dim>14</dim>"
1284             "                </port>"
1285             "            </input>"
1286             "            <output>"
1287             "                <port id=\"3\">"
1288             "                    <dim>1</dim>"
1289             "                    <dim>256</dim>"
1290             "                    <dim>14</dim>"
1291             "                    <dim>14</dim>"
1292             "                </port>"
1293             "            </output>"
1294             "            <blobs>"
1295             "                <weights offset=\"1443840\" size=\"65536\"/>"
1296             "                <biases offset=\"1509376\" size=\"1024\"/>"
1297             "            </blobs>"
1298             "        </layer>"
1299             "        <layer id=\"51\" name=\"fire8/relu_expand1x1\" precision=\"FP32\" type=\"ReLU\">"
1300             "            <data engine=\"caffe.ReLUParameter.DEFAULT\" negative_slope=\"0.0\"/>"
1301             "            <input>"
1302             "                <port id=\"0\">"
1303             "                    <dim>1</dim>"
1304             "                    <dim>256</dim>"
1305             "                    <dim>14</dim>"
1306             "                    <dim>14</dim>"
1307             "                </port>"
1308             "            </input>"
1309             "            <output>"
1310             "                <port id=\"1\">"
1311             "                    <dim>1</dim>"
1312             "                    <dim>256</dim>"
1313             "                    <dim>14</dim>"
1314             "                    <dim>14</dim>"
1315             "                </port>"
1316             "            </output>"
1317             "        </layer>"
1318             "        <layer id=\"52\" name=\"fire8/expand3x3\" precision=\"FP32\" type=\"Convolution\">"
1319             "            <data dilation-x=\"1\" dilation-y=\"1\" group=\"1\" kernel-x=\"3\" kernel-y=\"3\" output=\"256\" pad-x=\"1\" pad-y=\"1\" stride=\"1,1,1,1\" stride-x=\"1\" stride-y=\"1\"/>"
1320             "            <input>"
1321             "                <port id=\"0\">"
1322             "                    <dim>1</dim>"
1323             "                    <dim>64</dim>"
1324             "                    <dim>14</dim>"
1325             "                    <dim>14</dim>"
1326             "                </port>"
1327             "            </input>"
1328             "            <output>"
1329             "                <port id=\"3\">"
1330             "                    <dim>1</dim>"
1331             "                    <dim>256</dim>"
1332             "                    <dim>14</dim>"
1333             "                    <dim>14</dim>"
1334             "                </port>"
1335             "            </output>"
1336             "            <blobs>"
1337             "                <weights offset=\"1510400\" size=\"589824\"/>"
1338             "                <biases offset=\"2100224\" size=\"1024\"/>"
1339             "            </blobs>"
1340             "        </layer>"
1341             "        <layer id=\"53\" name=\"fire8/relu_expand3x3\" precision=\"FP32\" type=\"ReLU\">"
1342             "            <data engine=\"caffe.ReLUParameter.DEFAULT\" negative_slope=\"0.0\"/>"
1343             "            <input>"
1344             "                <port id=\"0\">"
1345             "                    <dim>1</dim>"
1346             "                    <dim>256</dim>"
1347             "                    <dim>14</dim>"
1348             "                    <dim>14</dim>"
1349             "                </port>"
1350             "            </input>"
1351             "            <output>"
1352             "                <port id=\"1\">"
1353             "                    <dim>1</dim>"
1354             "                    <dim>256</dim>"
1355             "                    <dim>14</dim>"
1356             "                    <dim>14</dim>"
1357             "                </port>"
1358             "            </output>"
1359             "        </layer>"
1360             "        <layer id=\"54\" name=\"fire8/concat\" precision=\"FP32\" type=\"Concat\">"
1361             "            <data axis=\"1\"/>"
1362             "            <input>"
1363             "                <port id=\"0\">"
1364             "                    <dim>1</dim>"
1365             "                    <dim>256</dim>"
1366             "                    <dim>14</dim>"
1367             "                    <dim>14</dim>"
1368             "                </port>"
1369             "                <port id=\"1\">"
1370             "                    <dim>1</dim>"
1371             "                    <dim>256</dim>"
1372             "                    <dim>14</dim>"
1373             "                    <dim>14</dim>"
1374             "                </port>"
1375             "            </input>"
1376             "            <output>"
1377             "                <port id=\"2\">"
1378             "                    <dim>1</dim>"
1379             "                    <dim>512</dim>"
1380             "                    <dim>14</dim>"
1381             "                    <dim>14</dim>"
1382             "                </port>"
1383             "            </output>"
1384             "        </layer>"
1385             "        <layer id=\"55\" name=\"fire9/squeeze1x1\" precision=\"FP32\" type=\"Convolution\">"
1386             "            <data dilation-x=\"1\" dilation-y=\"1\" group=\"1\" kernel-x=\"1\" kernel-y=\"1\" output=\"64\" pad-x=\"0\" pad-y=\"0\" stride=\"1,1,1,1\" stride-x=\"1\" stride-y=\"1\"/>"
1387             "            <input>"
1388             "                <port id=\"0\">"
1389             "                    <dim>1</dim>"
1390             "                    <dim>512</dim>"
1391             "                    <dim>14</dim>"
1392             "                    <dim>14</dim>"
1393             "                </port>"
1394             "            </input>"
1395             "            <output>"
1396             "                <port id=\"3\">"
1397             "                    <dim>1</dim>"
1398             "                    <dim>64</dim>"
1399             "                    <dim>14</dim>"
1400             "                    <dim>14</dim>"
1401             "                </port>"
1402             "            </output>"
1403             "            <blobs>"
1404             "                <weights offset=\"2101248\" size=\"131072\"/>"
1405             "                <biases offset=\"2232320\" size=\"256\"/>"
1406             "            </blobs>"
1407             "        </layer>"
1408             "        <layer id=\"56\" name=\"fire9/relu_squeeze1x1\" precision=\"FP32\" type=\"ReLU\">"
1409             "            <data engine=\"caffe.ReLUParameter.DEFAULT\" negative_slope=\"0.0\"/>"
1410             "            <input>"
1411             "                <port id=\"0\">"
1412             "                    <dim>1</dim>"
1413             "                    <dim>64</dim>"
1414             "                    <dim>14</dim>"
1415             "                    <dim>14</dim>"
1416             "                </port>"
1417             "            </input>"
1418             "            <output>"
1419             "                <port id=\"1\">"
1420             "                    <dim>1</dim>"
1421             "                    <dim>64</dim>"
1422             "                    <dim>14</dim>"
1423             "                    <dim>14</dim>"
1424             "                </port>"
1425             "            </output>"
1426             "        </layer>"
1427             "        <layer id=\"57\" name=\"fire9/expand1x1\" precision=\"FP32\" type=\"Convolution\">"
1428             "            <data dilation-x=\"1\" dilation-y=\"1\" group=\"1\" kernel-x=\"1\" kernel-y=\"1\" output=\"256\" pad-x=\"0\" pad-y=\"0\" stride=\"1,1,1,1\" stride-x=\"1\" stride-y=\"1\"/>"
1429             "            <input>"
1430             "                <port id=\"0\">"
1431             "                    <dim>1</dim>"
1432             "                    <dim>64</dim>"
1433             "                    <dim>14</dim>"
1434             "                    <dim>14</dim>"
1435             "                </port>"
1436             "            </input>"
1437             "            <output>"
1438             "                <port id=\"3\">"
1439             "                    <dim>1</dim>"
1440             "                    <dim>256</dim>"
1441             "                    <dim>14</dim>"
1442             "                    <dim>14</dim>"
1443             "                </port>"
1444             "            </output>"
1445             "            <blobs>"
1446             "                <weights offset=\"2232576\" size=\"65536\"/>"
1447             "                <biases offset=\"2298112\" size=\"1024\"/>"
1448             "            </blobs>"
1449             "        </layer>"
1450             "        <layer id=\"58\" name=\"fire9/relu_expand1x1\" precision=\"FP32\" type=\"ReLU\">"
1451             "            <data engine=\"caffe.ReLUParameter.DEFAULT\" negative_slope=\"0.0\"/>"
1452             "            <input>"
1453             "                <port id=\"0\">"
1454             "                    <dim>1</dim>"
1455             "                    <dim>256</dim>"
1456             "                    <dim>14</dim>"
1457             "                    <dim>14</dim>"
1458             "                </port>"
1459             "            </input>"
1460             "            <output>"
1461             "                <port id=\"1\">"
1462             "                    <dim>1</dim>"
1463             "                    <dim>256</dim>"
1464             "                    <dim>14</dim>"
1465             "                    <dim>14</dim>"
1466             "                </port>"
1467             "            </output>"
1468             "        </layer>"
1469             "        <layer id=\"59\" name=\"fire9/expand3x3\" precision=\"FP32\" type=\"Convolution\">"
1470             "            <data dilation-x=\"1\" dilation-y=\"1\" group=\"1\" kernel-x=\"3\" kernel-y=\"3\" output=\"256\" pad-x=\"1\" pad-y=\"1\" stride=\"1,1,1,1\" stride-x=\"1\" stride-y=\"1\"/>"
1471             "            <input>"
1472             "                <port id=\"0\">"
1473             "                    <dim>1</dim>"
1474             "                    <dim>64</dim>"
1475             "                    <dim>14</dim>"
1476             "                    <dim>14</dim>"
1477             "                </port>"
1478             "            </input>"
1479             "            <output>"
1480             "                <port id=\"3\">"
1481             "                    <dim>1</dim>"
1482             "                    <dim>256</dim>"
1483             "                    <dim>14</dim>"
1484             "                    <dim>14</dim>"
1485             "                </port>"
1486             "            </output>"
1487             "            <blobs>"
1488             "                <weights offset=\"2299136\" size=\"589824\"/>"
1489             "                <biases offset=\"2888960\" size=\"1024\"/>"
1490             "            </blobs>"
1491             "        </layer>"
1492             "        <layer id=\"60\" name=\"fire9/relu_expand3x3\" precision=\"FP32\" type=\"ReLU\">"
1493             "            <data engine=\"caffe.ReLUParameter.DEFAULT\" negative_slope=\"0.0\"/>"
1494             "            <input>"
1495             "                <port id=\"0\">"
1496             "                    <dim>1</dim>"
1497             "                    <dim>256</dim>"
1498             "                    <dim>14</dim>"
1499             "                    <dim>14</dim>"
1500             "                </port>"
1501             "            </input>"
1502             "            <output>"
1503             "                <port id=\"1\">"
1504             "                    <dim>1</dim>"
1505             "                    <dim>256</dim>"
1506             "                    <dim>14</dim>"
1507             "                    <dim>14</dim>"
1508             "                </port>"
1509             "            </output>"
1510             "        </layer>"
1511             "        <layer id=\"61\" name=\"fire9/concat\" precision=\"FP32\" type=\"Concat\">"
1512             "            <data axis=\"1\"/>"
1513             "            <input>"
1514             "                <port id=\"0\">"
1515             "                    <dim>1</dim>"
1516             "                    <dim>256</dim>"
1517             "                    <dim>14</dim>"
1518             "                    <dim>14</dim>"
1519             "                </port>"
1520             "                <port id=\"1\">"
1521             "                    <dim>1</dim>"
1522             "                    <dim>256</dim>"
1523             "                    <dim>14</dim>"
1524             "                    <dim>14</dim>"
1525             "                </port>"
1526             "            </input>"
1527             "            <output>"
1528             "                <port id=\"2\">"
1529             "                    <dim>1</dim>"
1530             "                    <dim>512</dim>"
1531             "                    <dim>14</dim>"
1532             "                    <dim>14</dim>"
1533             "                </port>"
1534             "            </output>"
1535             "        </layer>"
1536             "        <layer id=\"62\" name=\"conv10\" precision=\"FP32\" type=\"Convolution\">"
1537             "            <data dilation-x=\"1\" dilation-y=\"1\" group=\"1\" kernel-x=\"1\" kernel-y=\"1\" output=\"1000\" pad-x=\"0\" pad-y=\"0\" stride=\"1,1,1,1\" stride-x=\"1\" stride-y=\"1\"/>"
1538             "            <input>"
1539             "                <port id=\"0\">"
1540             "                    <dim>1</dim>"
1541             "                    <dim>512</dim>"
1542             "                    <dim>14</dim>"
1543             "                    <dim>14</dim>"
1544             "                </port>"
1545             "            </input>"
1546             "            <output>"
1547             "                <port id=\"3\">"
1548             "                    <dim>1</dim>"
1549             "                    <dim>1000</dim>"
1550             "                    <dim>14</dim>"
1551             "                    <dim>14</dim>"
1552             "                </port>"
1553             "            </output>"
1554             "            <blobs>"
1555             "                <weights offset=\"2889984\" size=\"2048000\"/>"
1556             "                <biases offset=\"4937984\" size=\"4000\"/>"
1557             "            </blobs>"
1558             "        </layer>"
1559             "        <layer id=\"63\" name=\"relu_conv10\" precision=\"FP32\" type=\"ReLU\">"
1560             "            <data engine=\"caffe.ReLUParameter.DEFAULT\" negative_slope=\"0.0\"/>"
1561             "            <input>"
1562             "                <port id=\"0\">"
1563             "                    <dim>1</dim>"
1564             "                    <dim>1000</dim>"
1565             "                    <dim>14</dim>"
1566             "                    <dim>14</dim>"
1567             "                </port>"
1568             "            </input>"
1569             "            <output>"
1570             "                <port id=\"1\">"
1571             "                    <dim>1</dim>"
1572             "                    <dim>1000</dim>"
1573             "                    <dim>14</dim>"
1574             "                    <dim>14</dim>"
1575             "                </port>"
1576             "            </output>"
1577             "        </layer>"
1578             "        <layer id=\"64\" name=\"pool10\" precision=\"FP32\" type=\"Pooling\">"
1579             "            <data exclude-pad=\"false\" kernel-x=\"14\" kernel-y=\"14\" pad-x=\"0\" pad-y=\"0\" pool-method=\"avg\" rounding_type=\"ceil\" stride=\"1,1,1,1\" stride-x=\"1\" stride-y=\"1\"/>"
1580             "            <input>"
1581             "                <port id=\"0\">"
1582             "                    <dim>1</dim>"
1583             "                    <dim>1000</dim>"
1584             "                    <dim>14</dim>"
1585             "                    <dim>14</dim>"
1586             "                </port>"
1587             "            </input>"
1588             "            <output>"
1589             "                <port id=\"1\">"
1590             "                    <dim>1</dim>"
1591             "                    <dim>1000</dim>"
1592             "                    <dim>1</dim>"
1593             "                    <dim>1</dim>"
1594             "                </port>"
1595             "            </output>"
1596             "        </layer>"
1597             "        <layer id=\"65\" name=\"prob\" precision=\"FP32\" type=\"SoftMax\">"
1598             "            <data axis=\"1\"/>"
1599             "            <input>"
1600             "                <port id=\"0\">"
1601             "                    <dim>1</dim>"
1602             "                    <dim>1000</dim>"
1603             "                    <dim>1</dim>"
1604             "                    <dim>1</dim>"
1605             "                </port>"
1606             "            </input>"
1607             "            <output>"
1608             "                <port id=\"1\">"
1609             "                    <dim>1</dim>"
1610             "                    <dim>1000</dim>"
1611             "                    <dim>1</dim>"
1612             "                    <dim>1</dim>"
1613             "                </port>"
1614             "            </output>"
1615             "        </layer>"
1616             "    </layers>"
1617             "    <edges>"
1618             "        <edge from-layer=\"0\" from-port=\"0\" to-layer=\"1\" to-port=\"0\"/>"
1619             "        <edge from-layer=\"1\" from-port=\"3\" to-layer=\"2\" to-port=\"0\"/>"
1620             "        <edge from-layer=\"2\" from-port=\"1\" to-layer=\"3\" to-port=\"0\"/>"
1621             "        <edge from-layer=\"3\" from-port=\"1\" to-layer=\"4\" to-port=\"0\"/>"
1622             "        <edge from-layer=\"4\" from-port=\"3\" to-layer=\"5\" to-port=\"0\"/>"
1623             "        <edge from-layer=\"5\" from-port=\"1\" to-layer=\"6\" to-port=\"0\"/>"
1624             "        <edge from-layer=\"6\" from-port=\"3\" to-layer=\"7\" to-port=\"0\"/>"
1625             "        <edge from-layer=\"5\" from-port=\"1\" to-layer=\"8\" to-port=\"0\"/>"
1626             "        <edge from-layer=\"8\" from-port=\"3\" to-layer=\"9\" to-port=\"0\"/>"
1627             "        <edge from-layer=\"7\" from-port=\"1\" to-layer=\"10\" to-port=\"0\"/>"
1628             "        <edge from-layer=\"9\" from-port=\"1\" to-layer=\"10\" to-port=\"1\"/>"
1629             "        <edge from-layer=\"10\" from-port=\"2\" to-layer=\"11\" to-port=\"0\"/>"
1630             "        <edge from-layer=\"11\" from-port=\"3\" to-layer=\"12\" to-port=\"0\"/>"
1631             "        <edge from-layer=\"11\" from-port=\"4\" to-layer=\"8\" to-port=\"1\"/>"
1632             "        <edge from-layer=\"12\" from-port=\"1\" to-layer=\"13\" to-port=\"0\"/>"
1633             "        <edge from-layer=\"13\" from-port=\"3\" to-layer=\"14\" to-port=\"0\"/>"
1634             "        <edge from-layer=\"12\" from-port=\"1\" to-layer=\"15\" to-port=\"0\"/>"
1635             "        <edge from-layer=\"15\" from-port=\"3\" to-layer=\"16\" to-port=\"0\"/>"
1636             "        <edge from-layer=\"14\" from-port=\"1\" to-layer=\"17\" to-port=\"0\"/>"
1637             "        <edge from-layer=\"16\" from-port=\"1\" to-layer=\"17\" to-port=\"1\"/>"
1638             "        <edge from-layer=\"17\" from-port=\"2\" to-layer=\"18\" to-port=\"0\"/>"
1639             "        <edge from-layer=\"18\" from-port=\"1\" to-layer=\"19\" to-port=\"0\"/>"
1640             "        <edge from-layer=\"19\" from-port=\"3\" to-layer=\"20\" to-port=\"0\"/>"
1641             "        <edge from-layer=\"20\" from-port=\"1\" to-layer=\"21\" to-port=\"0\"/>"
1642             "        <edge from-layer=\"21\" from-port=\"3\" to-layer=\"22\" to-port=\"0\"/>"
1643             "        <edge from-layer=\"20\" from-port=\"1\" to-layer=\"23\" to-port=\"0\"/>"
1644             "        <edge from-layer=\"23\" from-port=\"3\" to-layer=\"24\" to-port=\"0\"/>"
1645             "        <edge from-layer=\"22\" from-port=\"1\" to-layer=\"25\" to-port=\"0\"/>"
1646             "        <edge from-layer=\"24\" from-port=\"1\" to-layer=\"25\" to-port=\"1\"/>"
1647             "        <edge from-layer=\"25\" from-port=\"2\" to-layer=\"26\" to-port=\"0\"/>"
1648             "        <edge from-layer=\"26\" from-port=\"3\" to-layer=\"27\" to-port=\"0\"/>"
1649             "        <edge from-layer=\"27\" from-port=\"1\" to-layer=\"28\" to-port=\"0\"/>"
1650             "        <edge from-layer=\"28\" from-port=\"3\" to-layer=\"29\" to-port=\"0\"/>"
1651             "        <edge from-layer=\"27\" from-port=\"1\" to-layer=\"30\" to-port=\"0\"/>"
1652             "        <edge from-layer=\"30\" from-port=\"3\" to-layer=\"31\" to-port=\"0\"/>"
1653             "        <edge from-layer=\"29\" from-port=\"1\" to-layer=\"32\" to-port=\"0\"/>"
1654             "        <edge from-layer=\"31\" from-port=\"1\" to-layer=\"32\" to-port=\"1\"/>"
1655             "        <edge from-layer=\"32\" from-port=\"2\" to-layer=\"33\" to-port=\"0\"/>"
1656             "        <edge from-layer=\"33\" from-port=\"1\" to-layer=\"34\" to-port=\"0\"/>"
1657             "        <edge from-layer=\"34\" from-port=\"3\" to-layer=\"35\" to-port=\"0\"/>"
1658             "        <edge from-layer=\"35\" from-port=\"1\" to-layer=\"36\" to-port=\"0\"/>"
1659             "        <edge from-layer=\"36\" from-port=\"3\" to-layer=\"37\" to-port=\"0\"/>"
1660             "        <edge from-layer=\"35\" from-port=\"1\" to-layer=\"38\" to-port=\"0\"/>"
1661             "        <edge from-layer=\"38\" from-port=\"3\" to-layer=\"39\" to-port=\"0\"/>"
1662             "        <edge from-layer=\"37\" from-port=\"1\" to-layer=\"40\" to-port=\"0\"/>"
1663             "        <edge from-layer=\"39\" from-port=\"1\" to-layer=\"40\" to-port=\"1\"/>"
1664             "        <edge from-layer=\"40\" from-port=\"2\" to-layer=\"41\" to-port=\"0\"/>"
1665             "        <edge from-layer=\"41\" from-port=\"3\" to-layer=\"42\" to-port=\"0\"/>"
1666             "        <edge from-layer=\"42\" from-port=\"1\" to-layer=\"43\" to-port=\"0\"/>"
1667             "        <edge from-layer=\"43\" from-port=\"3\" to-layer=\"44\" to-port=\"0\"/>"
1668             "        <edge from-layer=\"42\" from-port=\"1\" to-layer=\"45\" to-port=\"0\"/>"
1669             "        <edge from-layer=\"45\" from-port=\"3\" to-layer=\"46\" to-port=\"0\"/>"
1670             "        <edge from-layer=\"44\" from-port=\"1\" to-layer=\"47\" to-port=\"0\"/>"
1671             "        <edge from-layer=\"46\" from-port=\"1\" to-layer=\"47\" to-port=\"1\"/>"
1672             "        <edge from-layer=\"47\" from-port=\"2\" to-layer=\"48\" to-port=\"0\"/>"
1673             "        <edge from-layer=\"48\" from-port=\"3\" to-layer=\"49\" to-port=\"0\"/>"
1674             "        <edge from-layer=\"49\" from-port=\"1\" to-layer=\"50\" to-port=\"0\"/>"
1675             "        <edge from-layer=\"50\" from-port=\"3\" to-layer=\"51\" to-port=\"0\"/>"
1676             "        <edge from-layer=\"49\" from-port=\"1\" to-layer=\"52\" to-port=\"0\"/>"
1677             "        <edge from-layer=\"52\" from-port=\"3\" to-layer=\"53\" to-port=\"0\"/>"
1678             "        <edge from-layer=\"51\" from-port=\"1\" to-layer=\"54\" to-port=\"0\"/>"
1679             "        <edge from-layer=\"53\" from-port=\"1\" to-layer=\"54\" to-port=\"1\"/>"
1680             "        <edge from-layer=\"54\" from-port=\"2\" to-layer=\"55\" to-port=\"0\"/>"
1681             "        <edge from-layer=\"55\" from-port=\"3\" to-layer=\"56\" to-port=\"0\"/>"
1682             "        <edge from-layer=\"56\" from-port=\"1\" to-layer=\"57\" to-port=\"0\"/>"
1683             "        <edge from-layer=\"57\" from-port=\"3\" to-layer=\"58\" to-port=\"0\"/>"
1684             "        <edge from-layer=\"56\" from-port=\"1\" to-layer=\"59\" to-port=\"0\"/>"
1685             "        <edge from-layer=\"59\" from-port=\"3\" to-layer=\"60\" to-port=\"0\"/>"
1686             "        <edge from-layer=\"58\" from-port=\"1\" to-layer=\"61\" to-port=\"0\"/>"
1687             "        <edge from-layer=\"60\" from-port=\"1\" to-layer=\"61\" to-port=\"1\"/>"
1688             "        <edge from-layer=\"61\" from-port=\"2\" to-layer=\"62\" to-port=\"0\"/>"
1689             "        <edge from-layer=\"62\" from-port=\"3\" to-layer=\"63\" to-port=\"0\"/>"
1690             "        <edge from-layer=\"63\" from-port=\"1\" to-layer=\"64\" to-port=\"0\"/>"
1691             "        <edge from-layer=\"64\" from-port=\"1\" to-layer=\"65\" to-port=\"0\"/>"
1692             "    </edges>"
1693             "</net>";
1694     CNNNetReaderImpl reader(make_shared<V2FormatParserCreator>());
1695
1696     ASSERT_EQ(GENERAL_ERROR, reader.ReadNetwork(model.data(), model.length(), &resp));
1697 }