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?

  • $\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$ Nov 24, 2017 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, 2017 at 8:26

1 Answer 1


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.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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