MCPcopy
hub / github.com/tensorlayer/TensorLayer / make_layers

Function make_layers

tensorlayer/models/vgg.py:112–154  ·  view source on GitHub ↗
(config, batch_norm=False, end_with='outputs')

Source from the content-addressed store, hash-verified

110
111
112def make_layers(config, batch_norm=False, end_with='outputs'):
113 layer_list = []
114 is_end = False
115 for layer_group_idx, layer_group in enumerate(config):
116 if isinstance(layer_group, list):
117 for idx, layer in enumerate(layer_group):
118 layer_name = layer_names[layer_group_idx][idx]
119 n_filter = layer
120 if idx == 0:
121 if layer_group_idx > 0:
122 in_channels = config[layer_group_idx - 2][-1]
123 else:
124 in_channels = 3
125 else:
126 in_channels = layer_group[idx - 1]
127 layer_list.append(
128 Conv2d(
129 n_filter=n_filter, filter_size=(3, 3), strides=(1, 1), act=tf.nn.relu, padding='SAME',
130 in_channels=in_channels, name=layer_name
131 )
132 )
133 if batch_norm:
134 layer_list.append(BatchNorm())
135 if layer_name == end_with:
136 is_end = True
137 break
138 else:
139 layer_name = layer_names[layer_group_idx]
140 if layer_group == 'M':
141 layer_list.append(MaxPool2d(filter_size=(2, 2), strides=(2, 2), padding='SAME', name=layer_name))
142 elif layer_group == 'O':
143 layer_list.append(Dense(n_units=1000, in_channels=4096, name=layer_name))
144 elif layer_group == 'F':
145 layer_list.append(Flatten(name='flatten'))
146 elif layer_group == 'fc1':
147 layer_list.append(Dense(n_units=4096, act=tf.nn.relu, in_channels=512 * 7 * 7, name=layer_name))
148 elif layer_group == 'fc2':
149 layer_list.append(Dense(n_units=4096, act=tf.nn.relu, in_channels=4096, name=layer_name))
150 if layer_name == end_with:
151 is_end = True
152 if is_end:
153 break
154 return LayerList(layer_list)
155
156
157def restore_model(model, layer_type):

Callers 2

__init__Method · 0.85
VGG_staticFunction · 0.85

Calls 6

Conv2dClass · 0.90
BatchNormClass · 0.90
MaxPool2dClass · 0.90
DenseClass · 0.90
FlattenClass · 0.90
LayerListClass · 0.90

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…