Skip to content

Instantly share code, notes, and snippets.

@sepfy
Created September 9, 2019 09:03
Show Gist options
  • Save sepfy/b4a9ee11240e0d75944e42ac296f3730 to your computer and use it in GitHub Desktop.
Save sepfy/b4a9ee11240e0d75944e42ac296f3730 to your computer and use it in GitHub Desktop.
def mobilenet(inputs):
mobilenet_conv_defs = [
{"kernel": [3, 3], "stride": 1, "depth": 64},
{"kernel": [3, 3], "stride": 2, "depth": 128},
{"kernel": [3, 3], "stride": 1, "depth": 128},
{"kernel": [3, 3], "stride": 2, "depth": 256},
{"kernel": [3, 3], "stride": 1, "depth": 256},
{"kernel": [3, 3], "stride": 2, "depth": 512},
{"kernel": [3, 3], "stride": 1, "depth": 512},
{"kernel": [3, 3], "stride": 1, "depth": 512},
{"kernel": [3, 3], "stride": 1, "depth": 512},
{"kernel": [3, 3], "stride": 1, "depth": 512},
{"kernel": [3, 3], "stride": 1, "depth": 512},
{"kernel": [3, 3], "stride": 2, "depth": 1024},
{"kernel": [3, 3], "stride": 1, "depth": 1024}
]
net = slim.conv2d(inputs, 32, [3, 3], stride=2, scope="conv2d_0")
for idx, conv_def in enumerate(mobilenet_conv_defs):
kernel = conv_def["kernel"]
stride = conv_def["stride"]
depth = conv_def["depth"]
scope = "conv2d_depthwise_" + str(idx)
net = slim.separable_conv2d(net, None, kernel, depth_multiplier=1, stride=stride, scope=scope)
scope = "conv2d_pointwise_" + str(idx)
net = slim.conv2d(net, depth, [1, 1], stride=1, scope=scope)
net = slim.avg_pool2d(net, [7, 7], stride=1, scope="avg_pool2d_0")
net = slim.flatten(net, scope="flattern0")
net = slim.fully_connected(net, 3, scope='fc0')
return net
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment