/** * Fit the unsupervised model * * @param data the examples to classify (one example in each row) */ @Override public void fit(INDArray data) { setInput(data); if (!layerWiseConfigurations.isPretrain()) throw new IllegalStateException( "Set pretrain to true in the configuration in order to pretrain the model."); update(TaskUtils.buildTask(data)); pretrain(data); }
/** * Perform layerwise pretraining on all pre-trainable layers in the network (VAEs, RBMs, Autoencoders, etc)<br> * Note that pretraining will be performed on one layer after the other, resetting the DataSetIterator between iterations.<br> * For multiple epochs per layer, appropriately wrap the iterator (for example, a MultipleEpochsIterator) or train * each layer manually using {@link #pretrainLayer(int, DataSetIterator)} * * @param iter Training data */ public void pretrain(DataSetIterator iter) { if (flattenedGradients == null) { initGradientsView(); } if (!layerWiseConfigurations.isPretrain()) return; for (int i = 0; i < getnLayers(); i++) { pretrainLayer(i, iter); } }
initGradientsView(); if (!layerWiseConfigurations.isPretrain()) return; if (layerIdx >= layers.length) {
if (layerWiseConfigurations.isPretrain()) { pretrain(iter); if (iter.resetSupported()) { } else if (layerWiseConfigurations.isPretrain()) { log.warn("Warning: finetune is not applied.");
private void initHelperMLN() { if (applyFrozen) { org.deeplearning4j.nn.api.Layer[] layers = origMLN.getLayers(); for (int i = frozenTill; i >= 0; i--) { //unchecked? layers[i] = new FrozenLayer(layers[i]); } origMLN.setLayers(layers); } for (int i = 0; i < origMLN.getnLayers(); i++) { if (origMLN.getLayer(i) instanceof FrozenLayer) { frozenInputLayer = i; } } List<NeuralNetConfiguration> allConfs = new ArrayList<>(); for (int i = frozenInputLayer + 1; i < origMLN.getnLayers(); i++) { allConfs.add(origMLN.getLayer(i).conf()); } MultiLayerConfiguration c = origMLN.getLayerWiseConfigurations(); unFrozenSubsetMLN = new MultiLayerNetwork(new MultiLayerConfiguration.Builder().backprop(c.isBackprop()) .inputPreProcessors(c.getInputPreProcessors()).pretrain(c.isPretrain()) .backpropType(c.getBackpropType()).tBPTTForwardLength(c.getTbpttFwdLength()) .tBPTTBackwardLength(c.getTbpttBackLength()).confs(allConfs).build()); unFrozenSubsetMLN.init(); //copy over params for (int i = frozenInputLayer + 1; i < origMLN.getnLayers(); i++) { unFrozenSubsetMLN.getLayer(i - frozenInputLayer - 1).setParams(origMLN.getLayer(i).params()); } //unFrozenSubsetMLN.setListeners(origMLN.getListeners()); }
if (!layerWiseConfigurations.isPretrain()) return; if (flattenedGradients == null) {
initGradientsView(); if (!layerWiseConfigurations.isPretrain()) return; if (layerIdx >= layers.length) {
ComputationGraph.workspaceCache); if (layerWiseConfigurations.isPretrain()) { try (MemoryWorkspace wsCache = cache.notifyScopeEntered()) { try (MemoryWorkspace ws = workspace.notifyScopeEntered()) {