Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Originally pointed out by @ilblackdragon in this pull request:
shape[axis] should = num_units instead of = -1.
The original implementation causes some trouble. For example, if I am to maxout a tensor x = (?, 32, 32, 256) and reduce it into a tensor of shape (?, 32, 32, 128), by using
x = tf.contrib.layers.maxout(x, 128)
, I get a tensor of shape (?, 32, 32, ?) instead of (?, 32, 32, 128).The shape of the tensor after the maxout can be inferred with num_units, so there is no need to use -1 here. This also causes inconvenience and raises errors when using a dense layer afterwards (or any layer that needs the value of the last dimension).
In addition, the original documentation is problematic in saying that "num_units should be a multiple of 'axis'", and this PR fixes the description.