Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Documentation required: explain all the numbers #5758
I'm relatively new to Keras - have had some simple Dense() networks working previously but on using it to explore CNNs I find the documentation intractable.
Please can we have one webpage that lists the meaning of all the parameters:
and in particular, the relationships of requirements between them all with examples of how one should reshape a 2D numpy array to make it suitable?
I have managed to create a 1-layer CNN that does something but a) I can't be confident what it does and b) having fudged the nb_filter parameter to make it work as the first layer, attempts to daisy-chain a second layer give shape mismatch errors. To debug this, I need a simple page that explains the terms Keras uses.
Hi, let me try and help
Hope it helps
P.S Keras-2 contains some major API changes, which means many of the terms above will be deprecated. Keep yourself updated. Cheers !
Thanks. That is a start. Here's my background.
Essentially I'm trying to teach myself CNNs by reimplementing Google's RAISR. In my mind the idea is to create two versions of an image, one as-is and one that's been down to half-size and upscaled back again so the CNN learns how to remove the artifacts of upscaling (replace Lanczos's errors with pixels from an existing image model). This all happens in greyscale only.
I'm splitting an image into windows nominally 64x64 px (subject to change) and choosing the ones with greatest standard deviation, in order to bias learning toward edge/sharpness/features rather than smooth areas. Because of the fixed size I can stack them vertically into something 64 px wide by however many long I like (multiple of 64). This way I can train off multiple images if I want, too - it just becomes an even longer column of boxes.
So far I've got all this happening with opencv and numpy and am happy.
It's just the Keras bits that are confusing me somewhat. What is a "sample" in this context? Should I reshape my input to match Keras's expectations and if so, how?
The plan is to use multiple Convolution2D layers, perhaps with pooling (or maybe not): atm I can only get at most one layer to work if I set nb_filter=1 at the moment; attempts to add further layers, for which I thought Keras was meant to work out tensor shapes for itself, doesn't seem to work. Obviously my fault somewhere, but... see why I would really appreciate a page documenting these terms so I can learn-through-docs-and-doing? :)