Putting it all together

Let's put all the code together and have it available for future chapters:

using Images, MXNetconst MODEL_NAME = "weights/mobilenet-v2/mobilenet_v2"const MODEL_CLASS_NAMES = "weights/mobilenet-v2/synset.txt"nnet = mx.load_checkpoint(MODEL_NAME, 0, mx.FeedForward);synset = readlines(MODEL_CLASS_NAMES);layers = mx.get_internals(nnet.arch);layers_flatten = nothinglayers_to_remove = Symbol[]for i = 1:2000    layer = layers[i];    layer_name = mx.get_name(layer)        if layers_flatten == nothing && layer_name == :pool6        layers_flatten = layer    elseif layers_flatten != nothing        push!(layers_to_remove, layer_name)        if layer_name in [:softmax, :label, :prob] break end    endendnnet.arch = @mx.chain layers_flatten => Flatten()map(x -> delete!(nnet.arg_params, ...

Get Hands-On Computer Vision with Julia now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.