@@ -43,43 +43,52 @@ void build_graph(Tensor input, Tensor output) {
43
43
Tensor tmp_values = tensor;
44
44
Tensor tmp_bias = make_tensor (tensor.get_bias ());
45
45
46
-
47
- layers.push_back (
48
- std::make_shared<ConvolutionalLayer>(1 , 0 , 0 , tmp_values, tmp_bias));
46
+ auto conv_layer =
47
+ std::make_shared<ConvolutionalLayer>(1 , 0 , 0 , tmp_values, tmp_bias);
48
+ conv_layer->setName (kConvolution );
49
+ layers.push_back (conv_layer);
49
50
std::cout << " ConvLayer added to layers." << std::endl;
50
51
}
51
52
52
53
if (layer_type.find (" Dense" ) != std::string::npos) {
53
54
Tensor tmp_values = tensor;
54
55
Tensor tmp_bias = make_tensor (tensor.get_bias ());
55
56
56
- layers.push_back (std::make_shared<FCLayer>(tmp_values, tmp_bias));
57
+ auto fc_layer = std::make_shared<FCLayer>(tmp_values, tmp_bias);
58
+ fc_layer->setName (kFullyConnected );
59
+ layers.push_back (fc_layer);
57
60
std::cout << " DenseLayer added to layers." << std::endl;
58
61
}
59
62
60
63
if (layer_type.find (" Pool" ) != std::string::npos) {
61
64
Shape shape = {2 , 2 };
62
65
std::cout << " PoolingLayer shape: " << shape[0 ] << " x" << shape[1 ]
63
66
<< std::endl;
64
-
65
- layers.push_back (std::make_shared<PoolingLayer>(shape));
67
+ auto pool_layer = std::make_shared<PoolingLayer>(shape);
68
+ pool_layer->setName (kPooling );
69
+ layers.push_back (pool_layer);
66
70
std::cout << " PoolingLayer added to layers." << std::endl;
67
71
}
68
72
69
73
if (layer_type.find (" Flatten" ) != std::string::npos) {
70
- layers.emplace_back (std::make_shared<FlattenLayer>());
74
+ auto flatten_layer = std::make_shared<FlattenLayer>();
75
+ flatten_layer->setName (kFlatten );
76
+ layers.push_back (flatten_layer);
71
77
std::cout << " FlattenLayer added to layers." << std::endl;
72
78
}
73
79
74
80
if (layer_type.find (" Dropout" ) != std::string::npos) {
75
- layers.emplace_back (std::make_shared<DropOutLayer>(0.5 ));
81
+ auto dropout_layer = std::make_shared<DropOutLayer>(0.5 );
82
+ dropout_layer->setName (kDropout );
83
+ layers.push_back (dropout_layer);
76
84
std::cout << " DropOutLayer added to layers with probability 0.5."
77
85
<< std::endl;
78
86
}
79
87
}
80
-
88
+ std::cout << " number of layers - " << layers. size () + 1 << std::endl;
81
89
Graph graph (static_cast <int >(layers.size ()));
82
90
InputLayer a1 (kNhwc , kNchw , 1 , 2 );
91
+
83
92
std::cout << " InputLayer created." << std::endl;
84
93
85
94
graph.setInput (a1, input);
@@ -91,10 +100,15 @@ void build_graph(Tensor input, Tensor output) {
91
100
92
101
for (size_t i = 0 ; i < layers.size () - 1 ; ++i) {
93
102
graph.makeConnection (*layers[i], *layers[i + 1 ]);
94
- std::cout << " Connection made between layer " << i << " and layer " << i + 1
103
+ std::cout << " Connection made between layer " << i << " ("
104
+ << layerTypeToString (layers[i]->getName ()) << " )"
105
+ << " and layer " << i + 1 << " ("
106
+ << layerTypeToString (layers[i + 1 ]->getName ()) << " )"
95
107
<< std::endl;
96
108
}
97
109
110
+
111
+
98
112
graph.setOutput (*layers.back (), output);
99
113
std::cout << " Output set in graph." << std::endl;
100
114
0 commit comments