Example usage for org.deeplearning4j.nn.modelimport.keras KerasModel KerasModel

List of usage examples for org.deeplearning4j.nn.modelimport.keras KerasModel KerasModel

Introduction

In this page you can find the example usage for org.deeplearning4j.nn.modelimport.keras KerasModel KerasModel.

Prototype

public KerasModel() 

Source Link

Usage

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

License:Apache License

@Override
public void initialize(Map<String, Param> params) throws TikaConfigException {

    //STEP 1: resolve weights file, download if necessary
    modelWeightsPath = mayBeDownloadFile(modelWeightsPath);

    //STEP 2: Load labels map
    try (InputStream stream = retrieveResource(mayBeDownloadFile(labelFile))) {
        this.labelMap = loadClassIndex(stream);
    } catch (IOException | ParseException e) {
        LOG.error("Could not load labels map", e);
        return;//from  ww  w  . j  a v a  2 s.c o m
    }

    //STEP 3: initialize the graph
    try {
        this.imageLoader = new NativeImageLoader(imgHeight, imgWidth, imgChannels);
        LOG.info("Going to load Inception network...");
        long st = System.currentTimeMillis();

        KerasModelBuilder builder = new KerasModel().modelBuilder().modelHdf5Filename(modelWeightsPath)
                .enforceTrainingConfig(false);
        builder.inputShape(new int[] { imgHeight, imgWidth, 3 });
        KerasModel model = builder.buildModel();
        this.graph = model.getComputationGraph();

        long time = System.currentTimeMillis() - st;
        LOG.info("Loaded the Inception model. Time taken={}ms", time);
    } catch (IOException | InvalidKerasConfigurationException | UnsupportedKerasConfigurationException e) {
        throw new TikaConfigException(e.getMessage(), e);
    }
}