Skip to content

Commit ad0876e

Browse files
committed
ENH add easy access to googlenet layer names
layers -> layer_names
1 parent c232409 commit ad0876e

File tree

2 files changed

+177
-0
lines changed

2 files changed

+177
-0
lines changed

sklearn_theano/feature_extraction/caffe/googlenet.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import os
1010
from ...utils import check_tensor
1111
from googlenet_class_labels import get_googlenet_class_label
12+
from googlenet_layer_names import get_googlenet_layer_names
1213
from sklearn.base import BaseEstimator, TransformerMixin
1314
import theano
1415
import numpy as np
@@ -117,6 +118,8 @@ class GoogLeNetTransformer(BaseEstimator, TransformerMixin):
117118
force_reshape currently only supports len(output_layers) == 1!
118119
"""
119120

121+
layer_names = get_googlenet_layer_names()
122+
120123
def __init__(self, output_layers=('loss3/classifier',),
121124
force_reshape=True, transpose_order=(0, 3, 1, 2)):
122125
self.output_layers = output_layers
@@ -183,6 +186,7 @@ class GoogLeNetClassifier(BaseEstimator):
183186
184187
"""
185188
min_size = (224, 224)
189+
layer_names = get_googlenet_layer_names()
186190

187191
def __init__(self, top_n=5, large_network=False, output_strings=True,
188192
transpose_order=(0, 3, 1, 2)):
Lines changed: 173 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,173 @@
1+
_layer_names = [u'data',
2+
u'label_data_1_split',
3+
u'conv1/7x7_s2',
4+
u'conv1/relu_7x7',
5+
u'pool1/3x3_s2',
6+
u'pool1/norm1',
7+
u'conv2/3x3_reduce',
8+
u'conv2/relu_3x3_reduce',
9+
u'conv2/3x3',
10+
u'conv2/relu_3x3',
11+
u'conv2/norm2',
12+
u'pool2/3x3_s2',
13+
u'pool2/3x3_s2_pool2/3x3_s2_0_split',
14+
u'inception_3a/1x1',
15+
u'inception_3a/relu_1x1',
16+
u'inception_3a/3x3_reduce',
17+
u'inception_3a/relu_3x3_reduce',
18+
u'inception_3a/3x3',
19+
u'inception_3a/relu_3x3',
20+
u'inception_3a/5x5_reduce',
21+
u'inception_3a/relu_5x5_reduce',
22+
u'inception_3a/5x5',
23+
u'inception_3a/relu_5x5',
24+
u'inception_3a/pool',
25+
u'inception_3a/pool_proj',
26+
u'inception_3a/relu_pool_proj',
27+
u'inception_3a/output',
28+
u'inception_3a/output_inception_3a/output_0_split',
29+
u'inception_3b/1x1',
30+
u'inception_3b/relu_1x1',
31+
u'inception_3b/3x3_reduce',
32+
u'inception_3b/relu_3x3_reduce',
33+
u'inception_3b/3x3',
34+
u'inception_3b/relu_3x3',
35+
u'inception_3b/5x5_reduce',
36+
u'inception_3b/relu_5x5_reduce',
37+
u'inception_3b/5x5',
38+
u'inception_3b/relu_5x5',
39+
u'inception_3b/pool',
40+
u'inception_3b/pool_proj',
41+
u'inception_3b/relu_pool_proj',
42+
u'inception_3b/output',
43+
u'pool3/3x3_s2',
44+
u'pool3/3x3_s2_pool3/3x3_s2_0_split',
45+
u'inception_4a/1x1',
46+
u'inception_4a/relu_1x1',
47+
u'inception_4a/3x3_reduce',
48+
u'inception_4a/relu_3x3_reduce',
49+
u'inception_4a/3x3',
50+
u'inception_4a/relu_3x3',
51+
u'inception_4a/5x5_reduce',
52+
u'inception_4a/relu_5x5_reduce',
53+
u'inception_4a/5x5',
54+
u'inception_4a/relu_5x5',
55+
u'inception_4a/pool',
56+
u'inception_4a/pool_proj',
57+
u'inception_4a/relu_pool_proj',
58+
u'inception_4a/output',
59+
u'inception_4a/output_inception_4a/output_0_split',
60+
u'loss1/ave_pool',
61+
u'loss1/conv',
62+
u'loss1/relu_conv',
63+
u'loss1/fc',
64+
u'loss1/relu_fc',
65+
u'loss1/drop_fc',
66+
u'loss1/classifier',
67+
u'loss1/loss',
68+
u'inception_4b/1x1',
69+
u'inception_4b/relu_1x1',
70+
u'inception_4b/3x3_reduce',
71+
u'inception_4b/relu_3x3_reduce',
72+
u'inception_4b/3x3',
73+
u'inception_4b/relu_3x3',
74+
u'inception_4b/5x5_reduce',
75+
u'inception_4b/relu_5x5_reduce',
76+
u'inception_4b/5x5',
77+
u'inception_4b/relu_5x5',
78+
u'inception_4b/pool',
79+
u'inception_4b/pool_proj',
80+
u'inception_4b/relu_pool_proj',
81+
u'inception_4b/output',
82+
u'inception_4b/output_inception_4b/output_0_split',
83+
u'inception_4c/1x1',
84+
u'inception_4c/relu_1x1',
85+
u'inception_4c/3x3_reduce',
86+
u'inception_4c/relu_3x3_reduce',
87+
u'inception_4c/3x3',
88+
u'inception_4c/relu_3x3',
89+
u'inception_4c/5x5_reduce',
90+
u'inception_4c/relu_5x5_reduce',
91+
u'inception_4c/5x5',
92+
u'inception_4c/relu_5x5',
93+
u'inception_4c/pool',
94+
u'inception_4c/pool_proj',
95+
u'inception_4c/relu_pool_proj',
96+
u'inception_4c/output',
97+
u'inception_4c/output_inception_4c/output_0_split',
98+
u'inception_4d/1x1',
99+
u'inception_4d/relu_1x1',
100+
u'inception_4d/3x3_reduce',
101+
u'inception_4d/relu_3x3_reduce',
102+
u'inception_4d/3x3',
103+
u'inception_4d/relu_3x3',
104+
u'inception_4d/5x5_reduce',
105+
u'inception_4d/relu_5x5_reduce',
106+
u'inception_4d/5x5',
107+
u'inception_4d/relu_5x5',
108+
u'inception_4d/pool',
109+
u'inception_4d/pool_proj',
110+
u'inception_4d/relu_pool_proj',
111+
u'inception_4d/output',
112+
u'inception_4d/output_inception_4d/output_0_split',
113+
u'loss2/ave_pool',
114+
u'loss2/conv',
115+
u'loss2/relu_conv',
116+
u'loss2/fc',
117+
u'loss2/relu_fc',
118+
u'loss2/drop_fc',
119+
u'loss2/classifier',
120+
u'loss2/loss',
121+
u'inception_4e/1x1',
122+
u'inception_4e/relu_1x1',
123+
u'inception_4e/3x3_reduce',
124+
u'inception_4e/relu_3x3_reduce',
125+
u'inception_4e/3x3',
126+
u'inception_4e/relu_3x3',
127+
u'inception_4e/5x5_reduce',
128+
u'inception_4e/relu_5x5_reduce',
129+
u'inception_4e/5x5',
130+
u'inception_4e/relu_5x5',
131+
u'inception_4e/pool',
132+
u'inception_4e/pool_proj',
133+
u'inception_4e/relu_pool_proj',
134+
u'inception_4e/output',
135+
u'pool4/3x3_s2',
136+
u'pool4/3x3_s2_pool4/3x3_s2_0_split',
137+
u'inception_5a/1x1',
138+
u'inception_5a/relu_1x1',
139+
u'inception_5a/3x3_reduce',
140+
u'inception_5a/relu_3x3_reduce',
141+
u'inception_5a/3x3',
142+
u'inception_5a/relu_3x3',
143+
u'inception_5a/5x5_reduce',
144+
u'inception_5a/relu_5x5_reduce',
145+
u'inception_5a/5x5',
146+
u'inception_5a/relu_5x5',
147+
u'inception_5a/pool',
148+
u'inception_5a/pool_proj',
149+
u'inception_5a/relu_pool_proj',
150+
u'inception_5a/output',
151+
u'inception_5a/output_inception_5a/output_0_split',
152+
u'inception_5b/1x1',
153+
u'inception_5b/relu_1x1',
154+
u'inception_5b/3x3_reduce',
155+
u'inception_5b/relu_3x3_reduce',
156+
u'inception_5b/3x3',
157+
u'inception_5b/relu_3x3',
158+
u'inception_5b/5x5_reduce',
159+
u'inception_5b/relu_5x5_reduce',
160+
u'inception_5b/5x5',
161+
u'inception_5b/relu_5x5',
162+
u'inception_5b/pool',
163+
u'inception_5b/pool_proj',
164+
u'inception_5b/relu_pool_proj',
165+
u'inception_5b/output',
166+
u'pool5/7x7_s1',
167+
u'pool5/drop_7x7_s1',
168+
u'loss3/classifier',
169+
u'loss3/loss3']
170+
171+
def get_googlenet_layer_names():
172+
return _layer_names
173+

0 commit comments

Comments
 (0)