grenade-0.1.0: Practical Deep Learning in Haskell

Copyright(c) Huw Campbell 2016-2017
LicenseBSD2
Stabilityexperimental
Safe HaskellNone
LanguageHaskell98

Grenade.Layers.Inception

Description

Export an Inception style type, which can be used to build up complex multiconvolution size networks.

Synopsis

Documentation

type Inception rows cols channels chx chy chz = Network '[Concat (D3 rows cols (chx + chy)) (InceptionMini rows cols channels chx chy) (D3 rows cols chz) (Inception7x7 rows cols channels chz)] '[D3 rows cols channels, D3 rows cols ((chx + chy) + chz)] Source #

Type of an inception layer.

It looks like a bit of a handful, but is actually pretty easy to use.

The first three type parameters are the size of the (3D) data the inception layer will take. It will emit 3D data with the number of channels being the sum of chx, chy, chz, which are the number of convolution filters in the 3x3, 5x5, and 7x7 convolutions Layers respectively.

The network get padded effectively before each convolution filters such that the output dimension is the same x and y as the input.

type InceptionMini rows cols channels chx chy = Network '[Concat (D3 rows cols chx) (Inception3x3 rows cols channels chx) (D3 rows cols chy) (Inception5x5 rows cols channels chy)] '[D3 rows cols channels, D3 rows cols (chx + chy)] Source #

type Resnet branch = Merge Trivial branch Source #