/** * Constructor from parsed Keras layer configuration dictionary. * * @param layerConfig dictionary containing Keras layer configuration * @param enforceTrainingConfig whether to enforce training-related configuration options * @throws InvalidKerasConfigurationException * @throws UnsupportedKerasConfigurationException */ public KerasGlobalPooling(Map<String, Object> layerConfig, boolean enforceTrainingConfig) throws InvalidKerasConfigurationException, UnsupportedKerasConfigurationException { super(layerConfig, enforceTrainingConfig); this.dimensions = mapPoolingDimensions(this.className); GlobalPoolingLayer.Builder builder = new GlobalPoolingLayer.Builder(mapPoolingType(this.className)).poolingDimensions(dimensions) .collapseDimensions(true).name(this.layerName).dropOut(this.dropout); this.layer = builder.build(); this.vertex = null; }
@Override public GlobalPoolingLayer getValue(double[] parameterValues) { GlobalPoolingLayer.Builder builder = new GlobalPoolingLayer.Builder(); super.setLayerOptionsBuilder(builder, parameterValues); if (poolingDimensions != null) builder.poolingDimensions(poolingDimensions.getValue(parameterValues)); if (collapseDimensions != null) builder.collapseDimensions(collapseDimensions.getValue(parameterValues)); if (poolingType != null) builder.poolingType(poolingType.getValue(parameterValues)); if (pNorm != null) builder.pnorm(pNorm.getValue(parameterValues)); return builder.build(); }