Example usage for org.deeplearning4j.zoo ZooModel initPretrained

List of usage examples for org.deeplearning4j.zoo ZooModel initPretrained

Introduction

In this page you can find the example usage for org.deeplearning4j.zoo ZooModel initPretrained.

Prototype

public <M extends Model> M initPretrained(PretrainedType pretrainedType) throws IOException 

Source Link

Document

Returns a pretrained model for the given dataset, if available.

Usage

From source file:org.apache.tika.dl.imagerec.DL4JVGG16Net.java

License:Apache License

@Override
public void initialize(Map<String, Param> params) throws TikaConfigException {
    try {/*from w w w.j  ava  2  s  .co  m*/
        if (serialize) {
            if (cacheDir.exists()) {
                model = ModelSerializer.restoreComputationGraph(cacheDir);
                LOG.info("Preprocessed Model Loaded from {}", cacheDir);
            } else {
                LOG.warn("Preprocessed Model doesn't exist at {}", cacheDir);
                cacheDir.getParentFile().mkdirs();
                ZooModel zooModel = VGG16.builder().build();
                model = (ComputationGraph) zooModel.initPretrained(PretrainedType.IMAGENET);
                LOG.info(
                        "Saving the Loaded model for future use. Saved models are more optimised to consume less resources.");
                ModelSerializer.writeModel(model, cacheDir, true);
            }
        } else {
            LOG.info("Weight graph model loaded via dl4j Helper functions");
            ZooModel zooModel = VGG16.builder().build();
            model = (ComputationGraph) zooModel.initPretrained(PretrainedType.IMAGENET);
        }
        imageNetLabels = new ImageNetLabels();
        available = true;
    } catch (Exception e) {
        available = false;
        LOG.warn(e.getMessage(), e);
        throw new TikaConfigException(e.getMessage(), e);
    }
}