1
$\begingroup$

I am currently building a (simple sequential) fully convolutional network for an object recognition task.

Designing the architecture essentially amounts to choosing kernel size, stride and unit number for each layer. While doing this, I have to keep track of several properties of my layers:

  • parameter count
  • field of view of each kernel, wrt to the input/data
  • a margin in the last layer that I need to account for when creating the label images

I've written a small script that computes these quantities for different CNN configurations. It's not very complicated, but…

I'm under the impression that everyone using CNNs has to do this, so there should be a (graphical) tool for this. It could also be used to draw the fancy architecture diagrams. Because it works on the same input data.

Is there such a tool? How do you compute these quantities for your models?

$\endgroup$
  • $\begingroup$ Most of the big name libraries have some functions built in to explore the models. For instance TensorFlow has TensorBoard. "How do you draft your CNN architectures?" is a tricky question for a Stack Exchange site, because all answers are equally good (so question may get closed for being opinion based). Perhaps focus on a problem that you find hard to solve with your current script, and ask how that part is done . . . $\endgroup$ – Neil Slater Nov 24 '17 at 8:25
  • $\begingroup$ @NeilSlater I'll rephrase the question. It sounds broader than it's meant to. And now that you mention it, Keras also has .summary() which prints some statistics. Though it might not include everything I need. $\endgroup$ – ziggystar Nov 24 '17 at 8:26
1
$\begingroup$

Given the number of parameters and the number of options for each parameter, a graphical tool (aka, graphical user interface or GUI) is not very practical for CNNs. Most practitioners store and manipulate parameters in text form.

There are two graphical projects for TensorFlow. Playground which is an in-browser network that can be modified and run on sample datasets. TensorBoard which visualizes the computational graph and helps with debugging models.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.