[jira] [Commented] (TIKA-2672) Upgrade dl4j to 1.0.0-beta

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[jira] [Commented] (TIKA-2672) Upgrade dl4j to 1.0.0-beta

JIRA jira@apache.org

    [ https://issues.apache.org/jira/browse/TIKA-2672?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16537298#comment-16537298 ]

ASF GitHub Bot commented on TIKA-2672:
--------------------------------------

chrismattmann closed pull request #241: Fix for TIKA-2672
URL: https://github.com/apache/tika/pull/241
 
 
   

This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:

As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):

diff --git a/tika-dl/pom.xml b/tika-dl/pom.xml
index 5cfc3e7ce..d566ae8d2 100644
--- a/tika-dl/pom.xml
+++ b/tika-dl/pom.xml
@@ -36,8 +36,7 @@
 
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    <dl4j.version>1.0.0-beta</dl4j.version>
-    <dl4j.model.version>0.9.1</dl4j.model.version>
+    <dl4j.version>1.0.0-SNAPSHOT</dl4j.version>
   </properties>
 
   <dependencies>
@@ -91,65 +90,6 @@
           <groupId>com.google.guava</groupId>
           <artifactId>guava</artifactId>
         </exclusion>
-
-      </exclusions>
-    </dependency>
-    <dependency>
-      <groupId>org.deeplearning4j</groupId>
-      <artifactId>deeplearning4j-keras</artifactId>
-      <version>${dl4j.model.version}</version>
-      <!-- exclude this because of non-ASF friendly "do no evil" license.
-        Because this relies on tika-parsers, that should have ted-dunning's drop-in
-      -->
-      <exclusions>
-        <exclusion>
-          <groupId>org.json</groupId>
-          <artifactId>json</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>org.projectlombok</groupId>
-          <artifactId>lombok</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>com.google.guava</groupId>
-          <artifactId>guava</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>org.deeplearning4j</groupId>
-          <artifactId>deeplearning4j-modelimport</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>org.apache.commons</groupId>
-          <artifactId>commons-compress</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>org.apache.commons</groupId>
-          <artifactId>commons-math3</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>commons-io</groupId>
-          <artifactId>commons-io</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>org.deeplearning4j</groupId>
-          <artifactId>deeplearning4j-nn</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>org.nd4j</groupId>
-          <artifactId>nd4j-api</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>org.nd4j</groupId>
-          <artifactId>jackson</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>org.datavec</groupId>
-          <artifactId>datavec-api</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>org.datavec</groupId>
-          <artifactId>datavec-data-image</artifactId>
-        </exclusion>
       </exclusions>
     </dependency>
     <dependency>
@@ -277,7 +217,8 @@
         <exclusion>
           <groupId>com.google.guava</groupId>
           <artifactId>guava</artifactId>
-        </exclusion>      </exclusions>
+        </exclusion>
+      </exclusions>
     </dependency>
     <dependency>
       <groupId>org.nd4j</groupId>
@@ -305,11 +246,6 @@
         </exclusion>
       </exclusions>
     </dependency>
-    <dependency>
-      <groupId>org.bytedeco</groupId>
-      <artifactId>javacpp</artifactId>
-      <version>1.4.1</version>
-    </dependency>
     <dependency>
         <groupId>org.apache.commons</groupId>
         <artifactId>commons-compress</artifactId>
@@ -368,9 +304,6 @@
         <groupId>org.apache.rat</groupId>
         <artifactId>apache-rat-plugin</artifactId>
         <configuration>
-          <excludes>
-            <exclude>src/main/resources/org/apache/tika/dl/imagerec/*.json</exclude>
-          </excludes>
         </configuration>
       </plugin>
 
diff --git a/tika-dl/src/main/java/org/apache/tika/dl/imagerec/DL4JInceptionV3Net.java b/tika-dl/src/main/java/org/apache/tika/dl/imagerec/DL4JInceptionV3Net.java
index 26c30a640..63ccad805 100644
--- a/tika-dl/src/main/java/org/apache/tika/dl/imagerec/DL4JInceptionV3Net.java
+++ b/tika-dl/src/main/java/org/apache/tika/dl/imagerec/DL4JInceptionV3Net.java
@@ -46,9 +46,10 @@
 import org.apache.tika.parser.recognition.RecognisedObject;
 import org.datavec.image.loader.NativeImageLoader;
 import org.deeplearning4j.nn.graph.ComputationGraph;
-import org.deeplearning4j.nn.modelimport.keras.KerasModelImport;
 import org.deeplearning4j.nn.modelimport.keras.exceptions.InvalidKerasConfigurationException;
 import org.deeplearning4j.nn.modelimport.keras.exceptions.UnsupportedKerasConfigurationException;
+import org.deeplearning4j.nn.modelimport.keras.KerasModel;
+import org.deeplearning4j.nn.modelimport.keras.utils.KerasModelBuilder;
 import org.json.simple.JSONArray;
 import org.json.simple.JSONObject;
 import org.json.simple.parser.JSONParser;
@@ -69,7 +70,6 @@
  * for advances users who are interested in tweaking the settings, the following fields are configurable:
  * <ul>
  * <li>{@link #modelWeightsPath}</li>
- * <li>{@link #modelJsonPath}</li>
  * <li>{@link #labelFile}</li>
  * <li>{@link #labelLang}</li>
  * <li>{@link #cacheDir}</li>
@@ -91,16 +91,18 @@
     private static final Set<MediaType> MEDIA_TYPES
             = Collections.singleton(MediaType.image("jpeg"));
     private static final Logger LOG = LoggerFactory.getLogger(DL4JInceptionV3Net.class);
-    private static final String DEF_WEIGHTS_URL = "https://raw.githubusercontent.com/USCDataScience/dl4j-kerasimport-examples/98ec48b56a5b8fb7d54a2994ce9cb23bfefac821/dl4j-import-example/data/inception-model-weights.h5";
-    public static final String DEF_MODEL_JSON = "org/apache/tika/dl/imagerec/inceptionv3-model.json";
-    public static final String DEF_LABEL_MAPPING = "org/apache/tika/dl/imagerec/imagenet_incpetionv3_class_index.json";
+    private static final String DEF_WEIGHTS_URL = "https://github.com/USCDataScience/tika-dockers/releases/download/v0.2/inception_v3_keras_2.h5";
+    private static final String DEF_LABEL_MAPPING_URL = "https://github.com/USCDataScience/tika-dockers/releases/download/v0.2/imagenet_class_index.json";
+    private static final String BASE_DIR = System.getProperty("user.home") + File.separator + ".tika-dl" +
+            File.separator + "models" + File.separator + "keras";
+    private static final String MODEL_DIR = BASE_DIR + File.separator + "inception-v3";
 
     /**
      * Cache dir to be used for downloading the weights file.
      * This is used to download the model.
      */
     @Field
-    private File cacheDir = new File(".tmp-inception");
+    private File cacheDir = new File(MODEL_DIR);
 
     /**
      * Path to a HDF5 file that contains weights of the Keras network
@@ -112,21 +114,13 @@
     @Field
     private String modelWeightsPath = DEF_WEIGHTS_URL;
 
-    /**
-     * Path to a JSON file that contains network (graph) structure exported from Keras.
-     * <p>
-     * <br/>
-     * Default is retrieved from {@value DEF_MODEL_JSON}
-     */
-    @Field
-    private String modelJsonPath = DEF_MODEL_JSON;
     /***
      * Path to file that tells how to map node index to human readable label names
      * <br/>
-     * The default is retrieved from {@value DEF_LABEL_MAPPING}
+     * The default is retrieved from {@value DEF_LABEL_MAPPING_URL}
      */
     @Field
-    private String labelFile = DEF_LABEL_MAPPING;
+    private String labelFile = DEF_LABEL_MAPPING_URL;
 
     /**
      * Language name of the labels.
@@ -138,8 +132,10 @@
 
     @Field
     private int imgHeight = 299;
+
     @Field
     private int imgWidth = 299;
+
     @Field
     private int imgChannels = 3;
     /***
@@ -169,10 +165,10 @@ private File retrieveFile(String path) {
                     " Asking the classloader", path);
             URL url = getClass().getClassLoader().getResource(path);
             if (url == null) {
-                LOG.debug("Classloader does not knows the file {}", path);
+                LOG.debug("Classloader does not know the file {}", path);
                 file = null;
             } else {
-                LOG.debug("Class loader knows the file {}", path);
+                LOG.debug("Classloader knows the file {}", path);
                 try {
                     file = cachedDownload(cacheDir, url.toURI());
                 } catch (URISyntaxException | IOException e) {
@@ -192,7 +188,7 @@ private InputStream retrieveResource(String path) throws FileNotFoundException {
         return getClass().getClassLoader().getResourceAsStream(path);
     }
 
-    public static synchronized File cachedDownload(File cacheDir, URI uri)
+    private static synchronized File cachedDownload(File cacheDir, URI uri)
             throws IOException {
 
         if ("file".equals(uri.getScheme()) || uri.getScheme() == null) {
@@ -222,49 +218,52 @@ public static synchronized File cachedDownload(File cacheDir, URI uri)
         return cacheFile;
     }
 
-    @Override
-    public void initialize(Map<String, Param> params)
-            throws TikaConfigException {
-        //STEP 1: resolve weights file, download if necessary
-        if (modelWeightsPath.startsWith("http://") || modelWeightsPath.startsWith("https://")) {
-            LOG.debug("Config instructed to download the weights file, doing so.");
+    private String mayBeDownloadFile(String path) throws TikaConfigException{
+        String resolvedFilePath;
+        if (path.startsWith("http://") || path.startsWith("https://")) {
+            LOG.debug("Config instructed to download the file, doing so.");
             try {
-                modelWeightsPath = cachedDownload(cacheDir, URI.create(modelWeightsPath)).getAbsolutePath();
+                resolvedFilePath = cachedDownload(cacheDir, URI.create(path)).getAbsolutePath();
             } catch (IOException e) {
                 throw new TikaConfigException(e.getMessage(), e);
             }
         } else {
-            File modelFile = retrieveFile(modelWeightsPath);
-            if (!modelFile.exists()) {
-                LOG.error("modelWeights does not exist at :: {}", modelWeightsPath);
-                return;
+            File file = retrieveFile(path);
+            if (!file.exists()) {
+                LOG.error("File does not exist at :: {}", path);
             }
-            modelWeightsPath = modelFile.getAbsolutePath();
+            resolvedFilePath = file.getAbsolutePath();
         }
+        return resolvedFilePath;
+    }
 
-        //STEP 2: resolve model JSON
-        File modelJsonFile = retrieveFile(modelJsonPath);
-        if (modelJsonFile == null || !modelJsonFile.exists()) {
-            LOG.error("Could not locate file {}", modelJsonPath);
-            return;
-        }
-        modelJsonPath = modelJsonFile.getAbsolutePath();
+    @Override
+    public void initialize(Map<String, Param> params)
+            throws TikaConfigException {
+
+        //STEP 1: resolve weights file, download if necessary
+        modelWeightsPath = mayBeDownloadFile(modelWeightsPath);
 
-        //STEP 3: Load labels map
-        try (InputStream stream = retrieveResource(labelFile)) {
+        //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;
         }
 
-        //STEP 4: initialize the graph
+        //STEP 3: initialize the graph
         try {
             this.imageLoader = new NativeImageLoader(imgHeight, imgWidth, imgChannels);
             LOG.info("Going to load Inception network...");
             long st = System.currentTimeMillis();
-            this.graph = KerasModelImport.importKerasModelAndWeights(modelJsonPath,
-                    modelWeightsPath, false);
+
+            KerasModelBuilder builder = new KerasModel().modelBuilder().modelHdf5Filename(modelWeightsPath)
+                    .enforceTrainingConfig(false);
+            builder.inputShape(new int[]{299, 299, 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
diff --git a/tika-dl/src/main/java/org/apache/tika/dl/imagerec/DL4JVGG16Net.java b/tika-dl/src/main/java/org/apache/tika/dl/imagerec/DL4JVGG16Net.java
index 8643ca0f1..ac1fd70e5 100644
--- a/tika-dl/src/main/java/org/apache/tika/dl/imagerec/DL4JVGG16Net.java
+++ b/tika-dl/src/main/java/org/apache/tika/dl/imagerec/DL4JVGG16Net.java
@@ -28,9 +28,7 @@
 import org.apache.tika.parser.recognition.ObjectRecogniser;
 import org.apache.tika.parser.recognition.RecognisedObject;
 import org.datavec.image.loader.NativeImageLoader;
-import org.deeplearning4j.nn.api.Model;
 import org.deeplearning4j.nn.graph.ComputationGraph;
-import org.deeplearning4j.nn.modelimport.keras.KerasModelImport;
 import org.deeplearning4j.util.ModelSerializer;
 import org.deeplearning4j.zoo.PretrainedType;
 import org.deeplearning4j.zoo.ZooModel;
@@ -57,22 +55,19 @@
 
     private static final Logger LOG = LoggerFactory.getLogger(DL4JVGG16Net.class);
     public static final Set<MediaType> SUPPORTED_MIMES = Collections.singleton(MediaType.image("jpeg"));
-    private static final String HOME_DIR = System.getProperty("user.home");
-    private static final String BASE_DIR = ".dl4j" + File.separator + "trainedmodels";
-    private static String MODEL_DIR = HOME_DIR + File.separator + BASE_DIR;
-    private static String MODEL_DIR_PREPROCESSED = MODEL_DIR + File.separator + "tikaPreprocessed" + File.separator;
+    private static final String BASE_DIR = System.getProperty("user.home") + File.separator + ".tika-dl" +
+            File.separator + "models" + File.separator + "dl4j";
+    private static final String MODEL_DIR = BASE_DIR + File.separator + "vgg-16";
 
     @Field
-    private File modelFile = new File(MODEL_DIR_PREPROCESSED + File.separator + "vgg16.zip");
-
-    @Field
-    private File locationToSave = new File(MODEL_DIR + File.separator
-            + "tikaPreprocessed" + File.separator + "vgg16.zip");
+    private File cacheDir = new File(MODEL_DIR + File.separator + "vgg16.zip");
 
     @Field
     private boolean serialize = true;
+
     @Field
     private int topN;
+
     private NativeImageLoader imageLoader = new NativeImageLoader(224, 224, 3);
     private DataNormalization preProcessor = new VGG16ImagePreProcessor();
     private boolean available = false;
@@ -89,23 +84,23 @@ public boolean isAvailable() {
 
     @Override
  public void checkInitialization(InitializableProblemHandler problemHandler) throws TikaConfigException {
- //TODO: what do we want to check here?                                                                                                                                                                                                              
+    //TODO: what do we want to check here?
     }
 
     @Override
     public void initialize(Map<String, Param> params) throws TikaConfigException {
         try {
             if (serialize) {
-                if (locationToSave.exists()) {
-                    model = ModelSerializer.restoreComputationGraph(locationToSave);
-                    LOG.info("Preprocessed Model Loaded from {}", locationToSave);
+                if (cacheDir.exists()) {
+                    model = ModelSerializer.restoreComputationGraph(cacheDir);
+                    LOG.info("Preprocessed Model Loaded from {}", cacheDir);
                 } else {
-                    LOG.warn("Preprocessed Model doesn't exist at {}", locationToSave);
-                    locationToSave.getParentFile().mkdirs();
+                    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, locationToSave, true);
+                    ModelSerializer.writeModel(model, cacheDir, true);
                 }
             } else {
                 LOG.info("Weight graph model loaded via dl4j Helper functions");
diff --git a/tika-dl/src/main/resources/org/apache/tika/dl/imagerec/imagenet_incpetionv3_class_index.json b/tika-dl/src/main/resources/org/apache/tika/dl/imagerec/imagenet_incpetionv3_class_index.json
deleted file mode 100644
index c286b5871..000000000
--- a/tika-dl/src/main/resources/org/apache/tika/dl/imagerec/imagenet_incpetionv3_class_index.json
+++ /dev/null
@@ -1 +0,0 @@
-{"0":["n01440764","tench"],"1":["n01443537","goldfish"],"2":["n01484850","great_white_shark"],"3":["n01491361","tiger_shark"],"4":["n01494475","hammerhead"],"5":["n01496331","electric_ray"],"6":["n01498041","stingray"],"7":["n01514668","cock"],"8":["n01514859","hen"],"9":["n01518878","ostrich"],"10":["n01530575","brambling"],"11":["n01531178","goldfinch"],"12":["n01532829","house_finch"],"13":["n01534433","junco"],"14":["n01537544","indigo_bunting"],"15":["n01558993","robin"],"16":["n01560419","bulbul"],"17":["n01580077","jay"],"18":["n01582220","magpie"],"19":["n01592084","chickadee"],"20":["n01601694","water_ouzel"],"21":["n01608432","kite"],"22":["n01614925","bald_eagle"],"23":["n01616318","vulture"],"24":["n01622779","great_grey_owl"],"25":["n01629819","European_fire_salamander"],"26":["n01630670","common_newt"],"27":["n01631663","eft"],"28":["n01632458","spotted_salamander"],"29":["n01632777","axolotl"],"30":["n01641577","bullfrog"],"31":["n01644373","tree_frog"],"32":["n01644900","tailed_frog"],"33":["n01664065","loggerhead"],"34":["n01665541","leatherback_turtle"],"35":["n01667114","mud_turtle"],"36":["n01667778","terrapin"],"37":["n01669191","box_turtle"],"38":["n01675722","banded_gecko"],"39":["n01677366","common_iguana"],"40":["n01682714","American_chameleon"],"41":["n01685808","whiptail"],"42":["n01687978","agama"],"43":["n01688243","frilled_lizard"],"44":["n01689811","alligator_lizard"],"45":["n01692333","Gila_monster"],"46":["n01693334","green_lizard"],"47":["n01694178","African_chameleon"],"48":["n01695060","Komodo_dragon"],"49":["n01697457","African_crocodile"],"50":["n01698640","American_alligator"],"51":["n01704323","triceratops"],"52":["n01728572","thunder_snake"],"53":["n01728920","ringneck_snake"],"54":["n01729322","hognose_snake"],"55":["n01729977","green_snake"],"56":["n01734418","king_snake"],"57":["n01735189","garter_snake"],"58":["n01737021","water_snake"],"59":["n01739381","vine_snake"],"60":["n01740131","night_snake"],"61":["n01742172","boa_constrictor"],"62":["n01744401","rock_python"],"63":["n01748264","Indian_cobra"],"64":["n01749939","green_mamba"],"65":["n01751748","sea_snake"],"66":["n01753488","horned_viper"],"67":["n01755581","diamondback"],"68":["n01756291","sidewinder"],"69":["n01768244","trilobite"],"70":["n01770081","harvestman"],"71":["n01770393","scorpion"],"72":["n01773157","black_and_gold_garden_spider"],"73":["n01773549","barn_spider"],"74":["n01773797","garden_spider"],"75":["n01774384","black_widow"],"76":["n01774750","tarantula"],"77":["n01775062","wolf_spider"],"78":["n01776313","tick"],"79":["n01784675","centipede"],"80":["n01795545","black_grouse"],"81":["n01796340","ptarmigan"],"82":["n01797886","ruffed_grouse"],"83":["n01798484","prairie_chicken"],"84":["n01806143","peacock"],"85":["n01806567","quail"],"86":["n01807496","partridge"],"87":["n01817953","African_grey"],"88":["n01818515","macaw"],"89":["n01819313","sulphur-crested_cockatoo"],"90":["n01820546","lorikeet"],"91":["n01824575","coucal"],"92":["n01828970","bee_eater"],"93":["n01829413","hornbill"],"94":["n01833805","hummingbird"],"95":["n01843065","jacamar"],"96":["n01843383","toucan"],"97":["n01847000","drake"],"98":["n01855032","red-breasted_merganser"],"99":["n01855672","goose"],"100":["n01860187","black_swan"],"101":["n01871265","tusker"],"102":["n01872401","echidna"],"103":["n01873310","platypus"],"104":["n01877812","wallaby"],"105":["n01882714","koala"],"106":["n01883070","wombat"],"107":["n01910747","jellyfish"],"108":["n01914609","sea_anemone"],"109":["n01917289","brain_coral"],"110":["n01924916","flatworm"],"111":["n01930112","nematode"],"112":["n01943899","conch"],"113":["n01944390","snail"],"114":["n01945685","slug"],"115":["n01950731","sea_slug"],"116":["n01955084","chiton"],"117":["n01968897","chambered_nautilus"],"118":["n01978287","Dungeness_crab"],"119":["n01978455","rock_crab"],"120":["n01980166","fiddler_crab"],"121":["n01981276","king_crab"],"122":["n01983481","American_lobster"],"123":["n01984695","spiny_lobster"],"124":["n01985128","crayfish"],"125":["n01986214","hermit_crab"],"126":["n01990800","isopod"],"127":["n02002556","white_stork"],"128":["n02002724","black_stork"],"129":["n02006656","spoonbill"],"130":["n02007558","flamingo"],"131":["n02009229","little_blue_heron"],"132":["n02009912","American_egret"],"133":["n02011460","bittern"],"134":["n02012849","crane"],"135":["n02013706","limpkin"],"136":["n02017213","European_gallinule"],"137":["n02018207","American_coot"],"138":["n02018795","bustard"],"139":["n02025239","ruddy_turnstone"],"140":["n02027492","red-backed_sandpiper"],"141":["n02028035","redshank"],"142":["n02033041","dowitcher"],"143":["n02037110","oystercatcher"],"144":["n02051845","pelican"],"145":["n02056570","king_penguin"],"146":["n02058221","albatross"],"147":["n02066245","grey_whale"],"148":["n02071294","killer_whale"],"149":["n02074367","dugong"],"150":["n02077923","sea_lion"],"151":["n02085620","Chihuahua"],"152":["n02085782","Japanese_spaniel"],"153":["n02085936","Maltese_dog"],"154":["n02086079","Pekinese"],"155":["n02086240","Shih-Tzu"],"156":["n02086646","Blenheim_spaniel"],"157":["n02086910","papillon"],"158":["n02087046","toy_terrier"],"159":["n02087394","Rhodesian_ridgeback"],"160":["n02088094","Afghan_hound"],"161":["n02088238","basset"],"162":["n02088364","beagle"],"163":["n02088466","bloodhound"],"164":["n02088632","bluetick"],"165":["n02089078","black-and-tan_coonhound"],"166":["n02089867","Walker_hound"],"167":["n02089973","English_foxhound"],"168":["n02090379","redbone"],"169":["n02090622","borzoi"],"170":["n02090721","Irish_wolfhound"],"171":["n02091032","Italian_greyhound"],"172":["n02091134","whippet"],"173":["n02091244","Ibizan_hound"],"174":["n02091467","Norwegian_elkhound"],"175":["n02091635","otterhound"],"176":["n02091831","Saluki"],"177":["n02092002","Scottish_deerhound"],"178":["n02092339","Weimaraner"],"179":["n02093256","Staffordshire_bullterrier"],"180":["n02093428","American_Staffordshire_terrier"],"181":["n02093647","Bedlington_terrier"],"182":["n02093754","Border_terrier"],"183":["n02093859","Kerry_blue_terrier"],"184":["n02093991","Irish_terrier"],"185":["n02094114","Norfolk_terrier"],"186":["n02094258","Norwich_terrier"],"187":["n02094433","Yorkshire_terrier"],"188":["n02095314","wire-haired_fox_terrier"],"189":["n02095570","Lakeland_terrier"],"190":["n02095889","Sealyham_terrier"],"191":["n02096051","Airedale"],"192":["n02096177","cairn"],"193":["n02096294","Australian_terrier"],"194":["n02096437","Dandie_Dinmont"],"195":["n02096585","Boston_bull"],"196":["n02097047","miniature_schnauzer"],"197":["n02097130","giant_schnauzer"],"198":["n02097209","standard_schnauzer"],"199":["n02097298","Scotch_terrier"],"200":["n02097474","Tibetan_terrier"],"201":["n02097658","silky_terrier"],"202":["n02098105","soft-coated_wheaten_terrier"],"203":["n02098286","West_Highland_white_terrier"],"204":["n02098413","Lhasa"],"205":["n02099267","flat-coated_retriever"],"206":["n02099429","curly-coated_retriever"],"207":["n02099601","golden_retriever"],"208":["n02099712","Labrador_retriever"],"209":["n02099849","Chesapeake_Bay_retriever"],"210":["n02100236","German_short-haired_pointer"],"211":["n02100583","vizsla"],"212":["n02100735","English_setter"],"213":["n02100877","Irish_setter"],"214":["n02101006","Gordon_setter"],"215":["n02101388","Brittany_spaniel"],"216":["n02101556","clumber"],"217":["n02102040","English_springer"],"218":["n02102177","Welsh_springer_spaniel"],"219":["n02102318","cocker_spaniel"],"220":["n02102480","Sussex_spaniel"],"221":["n02102973","Irish_water_spaniel"],"222":["n02104029","kuvasz"],"223":["n02104365","schipperke"],"224":["n02105056","groenendael"],"225":["n02105162","malinois"],"226":["n02105251","briard"],"227":["n02105412","kelpie"],"228":["n02105505","komondor"],"229":["n02105641","Old_English_sheepdog"],"230":["n02105855","Shetland_sheepdog"],"231":["n02106030","collie"],"232":["n02106166","Border_collie"],"233":["n02106382","Bouvier_des_Flandres"],"234":["n02106550","Rottweiler"],"235":["n02106662","German_shepherd"],"236":["n02107142","Doberman"],"237":["n02107312","miniature_pinscher"],"238":["n02107574","Greater_Swiss_Mountain_dog"],"239":["n02107683","Bernese_mountain_dog"],"240":["n02107908","Appenzeller"],"241":["n02108000","EntleBucher"],"242":["n02108089","boxer"],"243":["n02108422","bull_mastiff"],"244":["n02108551","Tibetan_mastiff"],"245":["n02108915","French_bulldog"],"246":["n02109047","Great_Dane"],"247":["n02109525","Saint_Bernard"],"248":["n02109961","Eskimo_dog"],"249":["n02110063","malamute"],"250":["n02110185","Siberian_husky"],"251":["n02110341","dalmatian"],"252":["n02110627","affenpinscher"],"253":["n02110806","basenji"],"254":["n02110958","pug"],"255":["n02111129","Leonberg"],"256":["n02111277","Newfoundland"],"257":["n02111500","Great_Pyrenees"],"258":["n02111889","Samoyed"],"259":["n02112018","Pomeranian"],"260":["n02112137","chow"],"261":["n02112350","keeshond"],"262":["n02112706","Brabancon_griffon"],"263":["n02113023","Pembroke"],"264":["n02113186","Cardigan"],"265":["n02113624","toy_poodle"],"266":["n02113712","miniature_poodle"],"267":["n02113799","standard_poodle"],"268":["n02113978","Mexican_hairless"],"269":["n02114367","timber_wolf"],"270":["n02114548","white_wolf"],"271":["n02114712","red_wolf"],"272":["n02114855","coyote"],"273":["n02115641","dingo"],"274":["n02115913","dhole"],"275":["n02116738","African_hunting_dog"],"276":["n02117135","hyena"],"277":["n02119022","red_fox"],"278":["n02119789","kit_fox"],"279":["n02120079","Arctic_fox"],"280":["n02120505","grey_fox"],"281":["n02123045","tabby"],"282":["n02123159","tiger_cat"],"283":["n02123394","Persian_cat"],"284":["n02123597","Siamese_cat"],"285":["n02124075","Egyptian_cat"],"286":["n02125311","cougar"],"287":["n02127052","lynx"],"288":["n02128385","leopard"],"289":["n02128757","snow_leopard"],"290":["n02128925","jaguar"],"291":["n02129165","lion"],"292":["n02129604","tiger"],"293":["n02130308","cheetah"],"294":["n02132136","brown_bear"],"295":["n02133161","American_black_bear"],"296":["n02134084","ice_bear"],"297":["n02134418","sloth_bear"],"298":["n02137549","mongoose"],"299":["n02138441","meerkat"],"300":["n02165105","tiger_beetle"],"301":["n02165456","ladybug"],"302":["n02167151","ground_beetle"],"303":["n02168699","long-horned_beetle"],"304":["n02169497","leaf_beetle"],"305":["n02172182","dung_beetle"],"306":["n02174001","rhinoceros_beetle"],"307":["n02177972","weevil"],"308":["n02190166","fly"],"309":["n02206856","bee"],"310":["n02219486","ant"],"311":["n02226429","grasshopper"],"312":["n02229544","cricket"],"313":["n02231487","walking_stick"],"314":["n02233338","cockroach"],"315":["n02236044","mantis"],"316":["n02256656","cicada"],"317":["n02259212","leafhopper"],"318":["n02264363","lacewing"],"319":["n02268443","dragonfly"],"320":["n02268853","damselfly"],"321":["n02276258","admiral"],"322":["n02277742","ringlet"],"323":["n02279972","monarch"],"324":["n02280649","cabbage_butterfly"],"325":["n02281406","sulphur_butterfly"],"326":["n02281787","lycaenid"],"327":["n02317335","starfish"],"328":["n02319095","sea_urchin"],"329":["n02321529","sea_cucumber"],"330":["n02325366","wood_rabbit"],"331":["n02326432","hare"],"332":["n02328150","Angora"],"333":["n02342885","hamster"],"334":["n02346627","porcupine"],"335":["n02356798","fox_squirrel"],"336":["n02361337","marmot"],"337":["n02363005","beaver"],"338":["n02364673","guinea_pig"],"339":["n02389026","sorrel"],"340":["n02391049","zebra"],"341":["n02395406","hog"],"342":["n02396427","wild_boar"],"343":["n02397096","warthog"],"344":["n02398521","hippopotamus"],"345":["n02403003","ox"],"346":["n02408429","water_buffalo"],"347":["n02410509","bison"],"348":["n02412080","ram"],"349":["n02415577","bighorn"],"350":["n02417914","ibex"],"351":["n02422106","hartebeest"],"352":["n02422699","impala"],"353":["n02423022","gazelle"],"354":["n02437312","Arabian_camel"],"355":["n02437616","llama"],"356":["n02441942","weasel"],"357":["n02442845","mink"],"358":["n02443114","polecat"],"359":["n02443484","black-footed_ferret"],"360":["n02444819","otter"],"361":["n02445715","skunk"],"362":["n02447366","badger"],"363":["n02454379","armadillo"],"364":["n02457408","three-toed_sloth"],"365":["n02480495","orangutan"],"366":["n02480855","gorilla"],"367":["n02481823","chimpanzee"],"368":["n02483362","gibbon"],"369":["n02483708","siamang"],"370":["n02484975","guenon"],"371":["n02486261","patas"],"372":["n02486410","baboon"],"373":["n02487347","macaque"],"374":["n02488291","langur"],"375":["n02488702","colobus"],"376":["n02489166","proboscis_monkey"],"377":["n02490219","marmoset"],"378":["n02492035","capuchin"],"379":["n02492660","howler_monkey"],"380":["n02493509","titi"],"381":["n02493793","spider_monkey"],"382":["n02494079","squirrel_monkey"],"383":["n02497673","Madagascar_cat"],"384":["n02500267","indri"],"385":["n02504013","Indian_elephant"],"386":["n02504458","African_elephant"],"387":["n02509815","lesser_panda"],"388":["n02510455","giant_panda"],"389":["n02514041","barracouta"],"390":["n02526121","eel"],"391":["n02536864","coho"],"392":["n02606052","rock_beauty"],"393":["n02607072","anemone_fish"],"394":["n02640242","sturgeon"],"395":["n02641379","gar"],"396":["n02643566","lionfish"],"397":["n02655020","puffer"],"398":["n02666196","abacus"],"399":["n02667093","abaya"],"400":["n02669723","academic_gown"],"401":["n02672831","accordion"],"402":["n02676566","acoustic_guitar"],"403":["n02687172","aircraft_carrier"],"404":["n02690373","airliner"],"405":["n02692877","airship"],"406":["n02699494","altar"],"407":["n02701002","ambulance"],"408":["n02704792","amphibian"],"409":["n02708093","analog_clock"],"410":["n02727426","apiary"],"411":["n02730930","apron"],"412":["n02747177","ashcan"],"413":["n02749479","assault_rifle"],"414":["n02769748","backpack"],"415":["n02776631","bakery"],"416":["n02777292","balance_beam"],"417":["n02782093","balloon"],"418":["n02783161","ballpoint"],"419":["n02786058","Band_Aid"],"420":["n02787622","banjo"],"421":["n02788148","bannister"],"422":["n02790996","barbell"],"423":["n02791124","barber_chair"],"424":["n02791270","barbershop"],"425":["n02793495","barn"],"426":["n02794156","barometer"],"427":["n02795169","barrel"],"428":["n02797295","barrow"],"429":["n02799071","baseball"],"430":["n02802426","basketball"],"431":["n02804414","bassinet"],"432":["n02804610","bassoon"],"433":["n02807133","bathing_cap"],"434":["n02808304","bath_towel"],"435":["n02808440","bathtub"],"436":["n02814533","beach_wagon"],"437":["n02814860","beacon"],"438":["n02815834","beaker"],"439":["n02817516","bearskin"],"440":["n02823428","beer_bottle"],"441":["n02823750","beer_glass"],"442":["n02825657","bell_cote"],"443":["n02834397","bib"],"444":["n02835271","bicycle-built-for-two"],"445":["n02837789","bikini"],"446":["n02840245","binder"],"447":["n02841315","binoculars"],"448":["n02843684","birdhouse"],"449":["n02859443","boathouse"],"450":["n02860847","bobsled"],"451":["n02865351","bolo_tie"],"452":["n02869837","bonnet"],"453":["n02870880","bookcase"],"454":["n02871525","bookshop"],"455":["n02877765","bottlecap"],"456":["n02879718","bow"],"457":["n02883205","bow_tie"],"458":["n02892201","brass"],"459":["n02892767","brassiere"],"460":["n02894605","breakwater"],"461":["n02895154","breastplate"],"462":["n02906734","broom"],"463":["n02909870","bucket"],"464":["n02910353","buckle"],"465":["n02916936","bulletproof_vest"],"466":["n02917067","bullet_train"],"467":["n02927161","butcher_shop"],"468":["n02930766","cab"],"469":["n02939185","caldron"],"470":["n02948072","candle"],"471":["n02950826","cannon"],"472":["n02951358","canoe"],"473":["n02951585","can_opener"],"474":["n02963159","cardigan"],"475":["n02965783","car_mirror"],"476":["n02966193","carousel"],"477":["n02966687","carpenter's_kit"],"478":["n02971356","carton"],"479":["n02974003","car_wheel"],"480":["n02977058","cash_machine"],"481":["n02978881","cassette"],"482":["n02979186","cassette_player"],"483":["n02980441","castle"],"484":["n02981792","catamaran"],"485":["n02988304","CD_player"],"486":["n02992211","cello"],"487":["n02992529","cellular_telephone"],"488":["n02999410","chain"],"489":["n03000134","chainlink_fence"],"490":["n03000247","chain_mail"],"491":["n03000684","chain_saw"],"492":["n03014705","chest"],"493":["n03016953","chiffonier"],"494":["n03017168","chime"],"495":["n03018349","china_cabinet"],"496":["n03026506","Christmas_stocking"],"497":["n03028079","church"],"498":["n03032252","cinema"],"499":["n03041632","cleaver"],"500":["n03042490","cliff_dwelling"],"501":["n03045698","cloak"],"502":["n03047690","clog"],"503":["n03062245","cocktail_shaker"],"504":["n03063599","coffee_mug"],"505":["n03063689","coffeepot"],"506":["n03065424","coil"],"507":["n03075370","combination_lock"],"508":["n03085013","computer_keyboard"],"509":["n03089624","confectionery"],"510":["n03095699","container_ship"],"511":["n03100240","convertible"],"512":["n03109150","corkscrew"],"513":["n03110669","cornet"],"514":["n03124043","cowboy_boot"],"515":["n03124170","cowboy_hat"],"516":["n03125729","cradle"],"517":["n03126707","crane"],"518":["n03127747","crash_helmet"],"519":["n03127925","crate"],"520":["n03131574","crib"],"521":["n03133878","Crock_Pot"],"522":["n03134739","croquet_ball"],"523":["n03141823","crutch"],"524":["n03146219","cuirass"],"525":["n03160309","dam"],"526":["n03179701","desk"],"527":["n03180011","desktop_computer"],"528":["n03187595","dial_telephone"],"529":["n03188531","diaper"],"530":["n03196217","digital_clock"],"531":["n03197337","digital_watch"],"532":["n03201208","dining_table"],"533":["n03207743","dishrag"],"534":["n03207941","dishwasher"],"535":["n03208938","disk_brake"],"536":["n03216828","dock"],"537":["n03218198","dogsled"],"538":["n03220513","dome"],"539":["n03223299","doormat"],"540":["n03240683","drilling_platform"],"541":["n03249569","drum"],"542":["n03250847","drumstick"],"543":["n03255030","dumbbell"],"544":["n03259280","Dutch_oven"],"545":["n03271574","electric_fan"],"546":["n03272010","electric_guitar"],"547":["n03272562","electric_locomotive"],"548":["n03290653","entertainment_center"],"549":["n03291819","envelope"],"550":["n03297495","espresso_maker"],"551":["n03314780","face_powder"],"552":["n03325584","feather_boa"],"553":["n03337140","file"],"554":["n03344393","fireboat"],"555":["n03345487","fire_engine"],"556":["n03347037","fire_screen"],"557":["n03355925","flagpole"],"558":["n03372029","flute"],"559":["n03376595","folding_chair"],"560":["n03379051","football_helmet"],"561":["n03384352","forklift"],"562":["n03388043","fountain"],"563":["n03388183","fountain_pen"],"564":["n03388549","four-poster"],"565":["n03393912","freight_car"],"566":["n03394916","French_horn"],"567":["n03400231","frying_pan"],"568":["n03404251","fur_coat"],"569":["n03417042","garbage_truck"],"570":["n03424325","gasmask"],"571":["n03425413","gas_pump"],"572":["n03443371","goblet"],"573":["n03444034","go-kart"],"574":["n03445777","golf_ball"],"575":["n03445924","golfcart"],"576":["n03447447","gondola"],"577":["n03447721","gong"],"578":["n03450230","gown"],"579":["n03452741","grand_piano"],"580":["n03457902","greenhouse"],"581":["n03459775","grille"],"582":["n03461385","grocery_store"],"583":["n03467068","guillotine"],"584":["n03476684","hair_slide"],"585":["n03476991","hair_spray"],"586":["n03478589","half_track"],"587":["n03481172","hammer"],"588":["n03482405","hamper"],"589":["n03483316","hand_blower"],"590":["n03485407","hand-held_computer"],"591":["n03485794","handkerchief"],"592":["n03492542","hard_disc"],"593":["n03494278","harmonica"],"594":["n03495258","harp"],"595":["n03496892","harvester"],"596":["n03498962","hatchet"],"597":["n03527444","holster"],"598":["n03529860","home_theater"],"599":["n03530642","honeycomb"],"600":["n03532672","hook"],"601":["n03534580","hoopskirt"],"602":["n03535780","horizontal_bar"],"603":["n03538406","horse_cart"],"604":["n03544143","hourglass"],"605":["n03584254","iPod"],"606":["n03584829","iron"],"607":["n03590841","jack-o'-lantern"],"608":["n03594734","jean"],"609":["n03594945","jeep"],"610":["n03595614","jersey"],"611":["n03598930","jigsaw_puzzle"],"612":["n03599486","jinrikisha"],"613":["n03602883","joystick"],"614":["n03617480","kimono"],"615":["n03623198","knee_pad"],"616":["n03627232","knot"],"617":["n03630383","lab_coat"],"618":["n03633091","ladle"],"619":["n03637318","lampshade"],"620":["n03642806","laptop"],"621":["n03649909","lawn_mower"],"622":["n03657121","lens_cap"],"623":["n03658185","letter_opener"],"624":["n03661043","library"],"625":["n03662601","lifeboat"],"626":["n03666591","lighter"],"627":["n03670208","limousine"],"628":["n03673027","liner"],"629":["n03676483","lipstick"],"630":["n03680355","Loafer"],"631":["n03690938","lotion"],"632":["n03691459","loudspeaker"],"633":["n03692522","loupe"],"634":["n03697007","lumbermill"],"635":["n03706229","magnetic_compass"],"636":["n03709823","mailbag"],"637":["n03710193","mailbox"],"638":["n03710637","maillot"],"639":["n03710721","maillot"],"640":["n03717622","manhole_cover"],"641":["n03720891","maraca"],"642":["n03721384","marimba"],"643":["n03724870","mask"],"644":["n03729826","matchstick"],"645":["n03733131","maypole"],"646":["n03733281","maze"],"647":["n03733805","measuring_cup"],"648":["n03742115","medicine_chest"],"649":["n03743016","megalith"],"650":["n03759954","microphone"],"651":["n03761084","microwave"],"652":["n03763968","military_uniform"],"653":["n03764736","milk_can"],"654":["n03769881","minibus"],"655":["n03770439","miniskirt"],"656":["n03770679","minivan"],"657":["n03773504","missile"],"658":["n03775071","mitten"],"659":["n03775546","mixing_bowl"],"660":["n03776460","mobile_home"],"661":["n03777568","Model_T"],"662":["n03777754","modem"],"663":["n03781244","monastery"],"664":["n03782006","monitor"],"665":["n03785016","moped"],"666":["n03786901","mortar"],"667":["n03787032","mortarboard"],"668":["n03788195","mosque"],"669":["n03788365","mosquito_net"],"670":["n03791053","motor_scooter"],"671":["n03792782","mountain_bike"],"672":["n03792972","mountain_tent"],"673":["n03793489","mouse"],"674":["n03794056","mousetrap"],"675":["n03796401","moving_van"],"676":["n03803284","muzzle"],"677":["n03804744","nail"],"678":["n03814639","neck_brace"],"679":["n03814906","necklace"],"680":["n03825788","nipple"],"681":["n03832673","notebook"],"682":["n03837869","obelisk"],"683":["n03838899","oboe"],"684":["n03840681","ocarina"],"685":["n03841143","odometer"],"686":["n03843555","oil_filter"],"687":["n03854065","organ"],"688":["n03857828","oscilloscope"],"689":["n03866082","overskirt"],"690":["n03868242","oxcart"],"691":["n03868863","oxygen_mask"],"692":["n03871628","packet"],"693":["n03873416","paddle"],"694":["n03874293","paddlewheel"],"695":["n03874599","padlock"],"696":["n03876231","paintbrush"],"697":["n03877472","pajama"],"698":["n03877845","palace"],"699":["n03884397","panpipe"],"700":["n03887697","paper_towel"],"701":["n03888257","parachute"],"702":["n03888605","parallel_bars"],"703":["n03891251","park_bench"],"704":["n03891332","parking_meter"],"705":["n03895866","passenger_car"],"706":["n03899768","patio"],"707":["n03902125","pay-phone"],"708":["n03903868","pedestal"],"709":["n03908618","pencil_box"],"710":["n03908714","pencil_sharpener"],"711":["n03916031","perfume"],"712":["n03920288","Petri_dish"],"713":["n03924679","photocopier"],"714":["n03929660","pick"],"715":["n03929855","pickelhaube"],"716":["n03930313","picket_fence"],"717":["n03930630","pickup"],"718":["n03933933","pier"],"719":["n03935335","piggy_bank"],"720":["n03937543","pill_bottle"],"721":["n03938244","pillow"],"722":["n03942813","ping-pong_ball"],"723":["n03944341","pinwheel"],"724":["n03947888","pirate"],"725":["n03950228","pitcher"],"726":["n03954731","plane"],"727":["n03956157","planetarium"],"728":["n03958227","plastic_bag"],"729":["n03961711","plate_rack"],"730":["n03967562","plow"],"731":["n03970156","plunger"],"732":["n03976467","Polaroid_camera"],"733":["n03976657","pole"],"734":["n03977966","police_van"],"735":["n03980874","poncho"],"736":["n03982430","pool_table"],"737":["n03983396","pop_bottle"],"738":["n03991062","pot"],"739":["n03992509","potter's_wheel"],"740":["n03995372","power_drill"],"741":["n03998194","prayer_rug"],"742":["n04004767","printer"],"743":["n04005630","prison"],"744":["n04008634","projectile"],"745":["n04009552","projector"],"746":["n04019541","puck"],"747":["n04023962","punching_bag"],"748":["n04026417","purse"],"749":["n04033901","quill"],"750":["n04033995","quilt"],"751":["n04037443","racer"],"752":["n04039381","racket"],"753":["n04040759","radiator"],"754":["n04041544","radio"],"755":["n04044716","radio_telescope"],"756":["n04049303","rain_barrel"],"757":["n04065272","recreational_vehicle"],"758":["n04067472","reel"],"759":["n04069434","reflex_camera"],"760":["n04070727","refrigerator"],"761":["n04074963","remote_control"],"762":["n04081281","restaurant"],"763":["n04086273","revolver"],"764":["n04090263","rifle"],"765":["n04099969","rocking_chair"],"766":["n04111531","rotisserie"],"767":["n04116512","rubber_eraser"],"768":["n04118538","rugby_ball"],"769":["n04118776","rule"],"770":["n04120489","running_shoe"],"771":["n04125021","safe"],"772":["n04127249","safety_pin"],"773":["n04131690","saltshaker"],"774":["n04133789","sandal"],"775":["n04136333","sarong"],"776":["n04141076","sax"],"777":["n04141327","scabbard"],"778":["n04141975","scale"],"779":["n04146614","school_bus"],"780":["n04147183","schooner"],"781":["n04149813","scoreboard"],"782":["n04152593","screen"],"783":["n04153751","screw"],"784":["n04154565","screwdriver"],"785":["n04162706","seat_belt"],"786":["n04179913","sewing_machine"],"787":["n04192698","shield"],"788":["n04200800","shoe_shop"],"789":["n04201297","shoji"],"790":["n04204238","shopping_basket"],"791":["n04204347","shopping_cart"],"792":["n04208210","shovel"],"793":["n04209133","shower_cap"],"794":["n04209239","shower_curtain"],"795":["n04228054","ski"],"796":["n04229816","ski_mask"],"797":["n04235860","sleeping_bag"],"798":["n04238763","slide_rule"],"799":["n04239074","sliding_door"],"800":["n04243546","slot"],"801":["n04251144","snorkel"],"802":["n04252077","snowmobile"],"803":["n04252225","snowplow"],"804":["n04254120","soap_dispenser"],"805":["n04254680","soccer_ball"],"806":["n04254777","sock"],"807":["n04258138","solar_dish"],"808":["n04259630","sombrero"],"809":["n04263257","soup_bowl"],"810":["n04264628","space_bar"],"811":["n04265275","space_heater"],"812":["n04266014","space_shuttle"],"813":["n04270147","spatula"],"814":["n04273569","speedboat"],"815":["n04275548","spider_web"],"816":["n04277352","spindle"],"817":["n04285008","sports_car"],"818":["n04286575","spotlight"],"819":["n04296562","stage"],"820":["n04310018","steam_locomotive"],"821":["n04311004","steel_arch_bridge"],"822":["n04311174","steel_drum"],"823":["n04317175","stethoscope"],"824":["n04325704","stole"],"825":["n04326547","stone_wall"],"826":["n04328186","stopwatch"],"827":["n04330267","stove"],"828":["n04332243","strainer"],"829":["n04335435","streetcar"],"830":["n04336792","stretcher"],"831":["n04344873","studio_couch"],"832":["n04346328","stupa"],"833":["n04347754","submarine"],"834":["n04350905","suit"],"835":["n04355338","sundial"],"836":["n04355933","sunglass"],"837":["n04356056","sunglasses"],"838":["n04357314","sunscreen"],"839":["n04366367","suspension_bridge"],"840":["n04367480","swab"],"841":["n04370456","sweatshirt"],"842":["n04371430","swimming_trunks"],"843":["n04371774","swing"],"844":["n04372370","switch"],"845":["n04376876","syringe"],"846":["n04380533","table_lamp"],"847":["n04389033","tank"],"848":["n04392985","tape_player"],"849":["n04398044","teapot"],"850":["n04399382","teddy"],"851":["n04404412","television"],"852":["n04409515","tennis_ball"],"853":["n04417672","thatch"],"854":["n04418357","theater_curtain"],"855":["n04423845","thimble"],"856":["n04428191","thresher"],"857":["n04429376","throne"],"858":["n04435653","tile_roof"],"859":["n04442312","toaster"],"860":["n04443257","tobacco_shop"],"861":["n04447861","toilet_seat"],"862":["n04456115","torch"],"863":["n04458633","totem_pole"],"864":["n04461696","tow_truck"],"865":["n04462240","toyshop"],"866":["n04465501","tractor"],"867":["n04467665","trailer_truck"],"868":["n04476259","tray"],"869":["n04479046","trench_coat"],"870":["n04482393","tricycle"],"871":["n04483307","trimaran"],"872":["n04485082","tripod"],"873":["n04486054","triumphal_arch"],"874":["n04487081","trolleybus"],"875":["n04487394","trombone"],"876":["n04493381","tub"],"877":["n04501370","turnstile"],"878":["n04505470","typewriter_keyboard"],"879":["n04507155","umbrella"],"880":["n04509417","unicycle"],"881":["n04515003","upright"],"882":["n04517823","vacuum"],"883":["n04522168","vase"],"884":["n04523525","vault"],"885":["n04525038","velvet"],"886":["n04525305","vending_machine"],"887":["n04532106","vestment"],"888":["n04532670","viaduct"],"889":["n04536866","violin"],"890":["n04540053","volleyball"],"891":["n04542943","waffle_iron"],"892":["n04548280","wall_clock"],"893":["n04548362","wallet"],"894":["n04550184","wardrobe"],"895":["n04552348","warplane"],"896":["n04553703","washbasin"],"897":["n04554684","washer"],"898":["n04557648","water_bottle"],"899":["n04560804","water_jug"],"900":["n04562935","water_tower"],"901":["n04579145","whiskey_jug"],"902":["n04579432","whistle"],"903":["n04584207","wig"],"904":["n04589890","window_screen"],"905":["n04590129","window_shade"],"906":["n04591157","Windsor_tie"],"907":["n04591713","wine_bottle"],"908":["n04592741","wing"],"909":["n04596742","wok"],"910":["n04597913","wooden_spoon"],"911":["n04599235","wool"],"912":["n04604644","worm_fence"],"913":["n04606251","wreck"],"914":["n04612504","yawl"],"915":["n04613696","yurt"],"916":["n06359193","web_site"],"917":["n06596364","comic_book"],"918":["n06785654","crossword_puzzle"],"919":["n06794110","street_sign"],"920":["n06874185","traffic_light"],"921":["n07248320","book_jacket"],"922":["n07565083","menu"],"923":["n07579787","plate"],"924":["n07583066","guacamole"],"925":["n07584110","consomme"],"926":["n07590611","hot_pot"],"927":["n07613480","trifle"],"928":["n07614500","ice_cream"],"929":["n07615774","ice_lolly"],"930":["n07684084","French_loaf"],"931":["n07693725","bagel"],"932":["n07695742","pretzel"],"933":["n07697313","cheeseburger"],"934":["n07697537","hotdog"],"935":["n07711569","mashed_potato"],"936":["n07714571","head_cabbage"],"937":["n07714990","broccoli"],"938":["n07715103","cauliflower"],"939":["n07716358","zucchini"],"940":["n07716906","spaghetti_squash"],"941":["n07717410","acorn_squash"],"942":["n07717556","butternut_squash"],"943":["n07718472","cucumber"],"944":["n07718747","artichoke"],"945":["n07720875","bell_pepper"],"946":["n07730033","cardoon"],"947":["n07734744","mushroom"],"948":["n07742313","Granny_Smith"],"949":["n07745940","strawberry"],"950":["n07747607","orange"],"951":["n07749582","lemon"],"952":["n07753113","fig"],"953":["n07753275","pineapple"],"954":["n07753592","banana"],"955":["n07754684","jackfruit"],"956":["n07760859","custard_apple"],"957":["n07768694","pomegranate"],"958":["n07802026","hay"],"959":["n07831146","carbonara"],"960":["n07836838","chocolate_sauce"],"961":["n07860988","dough"],"962":["n07871810","meat_loaf"],"963":["n07873807","pizza"],"964":["n07875152","potpie"],"965":["n07880968","burrito"],"966":["n07892512","red_wine"],"967":["n07920052","espresso"],"968":["n07930864","cup"],"969":["n07932039","eggnog"],"970":["n09193705","alp"],"971":["n09229709","bubble"],"972":["n09246464","cliff"],"973":["n09256479","coral_reef"],"974":["n09288635","geyser"],"975":["n09332890","lakeside"],"976":["n09399592","promontory"],"977":["n09421951","sandbar"],"978":["n09428293","seashore"],"979":["n09468604","valley"],"980":["n09472597","volcano"],"981":["n09835506","ballplayer"],"982":["n10148035","groom"],"983":["n10565667","scuba_diver"],"984":["n11879895","rapeseed"],"985":["n11939491","daisy"],"986":["n12057211","yellow_lady's_slipper"],"987":["n12144580","corn"],"988":["n12267677","acorn"],"989":["n12620546","hip"],"990":["n12768682","buckeye"],"991":["n12985857","coral_fungus"],"992":["n12998815","agaric"],"993":["n13037406","gyromitra"],"994":["n13040303","stinkhorn"],"995":["n13044778","earthstar"],"996":["n13052670","hen-of-the-woods"],"997":["n13054560","bolete"],"998":["n13133613","ear"],"999":["n15075141","toilet_tissue"]}
diff --git a/tika-dl/src/main/resources/org/apache/tika/dl/imagerec/inceptionv3-model.json b/tika-dl/src/main/resources/org/apache/tika/dl/imagerec/inceptionv3-model.json
deleted file mode 100644
index 6f62c232f..000000000
--- a/tika-dl/src/main/resources/org/apache/tika/dl/imagerec/inceptionv3-model.json
+++ /dev/null
@@ -1 +0,0 @@
-{"class_name":"Model","keras_version":"1.1.0","config":{"layers":[{"class_name":"InputLayer","config":{"batch_input_shape":[null,299,299,3],"input_dtype":"float32","sparse":false,"name":"input_1"},"inbound_nodes":[],"name":"input_1"},{"class_name":"Convolution2D","config":{"W_constraint":null,"b_constraint":null,"name":"convolution2d_1","activity_regularizer":null,"trainable":true,"dim_ordering":"tf","nb_col":3,"subsample":[2,2],"init":"glorot_uniform","bias":true,"nb_filter":32,"border_mode":"valid","b_regularizer":null,"W_regularizer":null,"activation":"relu","nb_row":3},"inbound_nodes":[[["input_1",0,0]]],"name":"convolution2d_1"},{"class_name":"BatchNormalization","config":{"gamma_regularizer":null,"name":"batchnormalization_1","epsilon":1e-05,"trainable":true,"mode":0,"beta_regularizer":null,"momentum":0.99,"axis":3},"inbound_nodes":[[["convolution2d_1",0,0]]],"name":"batchnormalization_1"},{"class_name":"Convolution2D","config":{"W_constraint":null,"b_constraint":null,"name":"convolution2d_2","activity_regularizer":null,"trainable":true,"dim_ordering":"tf","nb_col":3,"subsample":[1,1],"init":"glorot_uniform","bias":true,"nb_filter":32,"border_mode":"valid","b_regularizer":null,"W_regularizer":null,"activation":"relu","nb_row":3},"inbound_nodes":[[["batchnormalization_1",0,0]]],"name":"convolution2d_2"},{"class_name":"BatchNormalization","config":{"gamma_regularizer":null,"name":"batchnormalization_2","epsilon":1e-05,"trainable":true,"mode":0,"beta_regularizer":null,"momentum":0.99,"axis":3},"inbound_nodes":[[["convolution2d_2",0,0]]],"name":"batchnormalization_2"},{"class_name":"Convolution2D","config":{"W_constraint":null,"b_constraint":null,"name":"convolution2d_3","activity_regularizer":null,"trainable":true,"dim_ordering":"tf","nb_col":3,"subsample":[1,1],"init":"glorot_uniform","bias":true,"nb_filter":64,"border_mode":"same","b_regularizer":null,"W_regularizer":null,"activation":"relu","nb_row":3},"inbound_nodes":[[["batchnormalization_2",0,0]]],"name":"convolution2d_3"},{"class_name":"BatchNormalization","config":{"gamma_regularizer":null,"name":"batchnormalization_3","epsilon":1e-05,"trainable":true,"mode":0,"beta_regularizer":null,"momentum":0.99,"axis":3},"inbound_nodes":[[["convolution2d_3",0,0]]],"name":"batchnormalization_3"},{"class_name":"MaxPooling2D","config":{"name":"maxpooling2d_1","trainable":true,"dim_ordering":"tf","pool_size":[3,3],"strides":[2,2],"border_mode":"valid"},"inbound_nodes":[[["batchnormalization_3",0,0]]],"name":"maxpooling2d_1"},{"class_name":"Convolution2D","config":{"W_constraint":null,"b_constraint":null,"name":"convolution2d_4","activity_regularizer":null,"trainable":true,"dim_ordering":"tf","nb_col":1,"subsample":[1,1],"init":"glorot_uniform","bias":true,"nb_filter":80,"border_mode":"valid","b_regularizer":null,"W_regularizer":null,"activation":"relu","nb_row":1},"inbound_nodes":[[["maxpooling2d_1",0,0]]],"name":"convolution2d_4"},{"class_name":"BatchNormalization","config":{"gamma_regularizer":null,"name":"batchnormalization_4","epsilon":1e-05,"trainable":true,"mode":0,"beta_regularizer":null,"momentum":0.99,"axis":3},"inbound_nodes":[[["convolution2d_4",0,0]]],"name":"batchnormalization_4"},{"class_name":"Convolution2D","config":{"W_constraint":null,"b_constraint":null,"name":"convolution2d_5","activity_regularizer":null,"trainable":true,"dim_ordering":"tf","nb_col":3,"subsample":[1,1],"init":"glorot_uniform","bias":true,"nb_filter":192,"border_mode":"valid","b_regularizer":null,"W_regularizer":null,"activation":"relu","nb_row":3},"inbound_nodes":[[["batchnormalization_4",0,0]]],"name":"convolution2d_5"},{"class_name":"BatchNormalization","config":{"gamma_regularizer":null,"name":"batchnormalization_5","epsilon":1e-05,"trainable":true,"mode":0,"beta_regularizer":null,"momentum":0.99,"axis":3},"inbound_nodes":[[["convolution2d_5",0,0]]],"name":"batchnormalization_5"},{"class_name":"MaxPooling2D","config":{"name":"maxpooling2d_2","trainable":true,"dim_ordering":"tf","pool_size":[3,3],"strides":[2,2],"border_mode":"valid"},"inbound_nodes":[[["batchnormalization_5",0,0]]],"name":"maxpooling2d_2"},{"class_name":"Convolution2D","config":{"W_constraint":null,"b_constraint":null,"name":"convolution2d_9","activity_regularizer":null,"trainable":true,"dim_ordering":"tf","nb_col":1,"subsample":[1,1],"init":"glorot_uniform","bias":true,"nb_filter":64,"border_mode":"same","b_regularizer":null,"W_regularizer":null,"activation":"relu","nb_row":1},"inbound_nodes":[[["maxpooling2d_2",0,0]]],"name":"convolution2d_9"},{"class_name":"BatchNormalization","config":{"gamma_regularizer":null,"name":"batchnormalization_9","epsilon":1e-05,"trainable":true,"mode":0,"beta_regularizer":null,"momentum":0.99,"axis":3},"inbound_nodes":[[["convolution2d_9",0,0]]],"name":"batchnormalization_9"},{"class_name":"Convolution2D","config":{"W_constraint":null,"b_constraint":null,"name":"convolution2d_7","activity_regularizer":null,"trainable":true,"dim_ordering":"tf","nb_col":1,"subsample":[1,1],"init":"glorot_uniform","bias":true,"nb_filter":48,"border_mode":"same","b_regularizer":null,"W_regularizer":null,"activation":"relu","nb_row":1},"inbound_nodes":[[["maxpooling2d_2",0,0]]],"name":"convolution2d_7"},{"class_name":"Convolution2D","config":{"W_constraint":null,"b_constraint":null,"name":"convolution2d_10","activity_regularizer":null,"trainable":true,"dim_ordering":"tf","nb_col":3,"subsample":[1,1],"init":"glorot_uniform","bias":true,"nb_filter":96,"border_mode":"same","b_regularizer":null,"W_regularizer":null,"activation":"relu","nb_row":3},"inbound_nodes":[[["batchnormalization_9",0,0]]],"name":"convolution2d_10"},{"class_name":"BatchNormalization","config":{"gamma_regularizer":null,"name":"batchnormalization_7","epsilon":1e-05,"trainable":true,"mode":0,"beta_regularizer":null,"momentum":0.99,"axis":3},"inbound_nodes":[[["convolution2d_7",0,0]]],"name":"batchnormalization_7"},{"class_name":"BatchNormalization","config":{"gamma_regularizer":null,"name":"batchnormalization_10","epsilon":1e-05,"trainable":true,"mode":0,"beta_regularizer":null,"momentum":0.99,"axis":3},"inbound_nodes":[[["convolution2d_10",0,0]]],"name":"batchnormalization_10"},{"class_name":"AveragePooling2D","config":{"name":"averagepooling2d_1","trainable":true,"dim_ordering":"tf","pool_size":[3,3],"strides":[1,1],"border_mode":"same"},"inbound_nodes":[[["maxpooling2d_2",0,0]]],"name":"averagepooling2d_1"},{"class_name":"Convolution2D","config":{"W_constraint":null,"b_constraint":null,"name":"convolution2d_6","activity_regularizer":null,"trainable":true,"dim_ordering":"tf","nb_col":1,"subsample":[1,1],"init":"glorot_uniform","bias":true,"nb_filter":64,"border_mode":"same","b_regularizer":null,"W_regularizer":null,"activation":"relu","nb_row":1},"inbound_nodes":[[["maxpooling2d_2",0,0]]],"name":"convolution2d_6"},{"class_name":"Convolution2D","config":{"W_constraint":null,"b_constraint":null,"name":"convolution2d_8","activity_regularizer":null,"trainable":true,"dim_ordering":"tf","nb_col":5,"subsample":[1,1],"init":"glorot_uniform","bias":true,"nb_filter":64,"border_mode":"same","b_regularizer":null,"W_regularizer":null,"activation":"relu","nb_row":5},"inbound_nodes":[[["batchnormalization_7",0,0]]],"name":"convolution2d_8"},{"class_name":"Convolution2D","config":{"W_constraint":null,"b_constraint":null,"name":"convolution2d_11","activity_regularizer":null,"trainable":true,"dim_ordering":"tf","nb_col":3,"subsample":[1,1],"init":"glorot_uniform","bias":true,"nb_filter":96,"border_mode":"same","b_regularizer":null,"W_regularizer":null,"activation":"relu","nb_row":3},"inbound_nodes":[[["batchnormalization_10",0,0]]],"name":"convolution2d_11"},{"class_name":"Convolution2D","config":{"W_constraint":null,"b_constraint":null,"name":"convolution2d_12","activity_regularizer":null,"trainable":true,"dim_ordering":"tf","nb_col":1,"subsample":[1,1],"init":"glorot_uniform","bias":true,"nb_filter":32,"border_mode":"same","b_regularizer":null,"W_regularizer":null,"activation":"relu","nb_row":1},"inbound_nodes":[[["averagepooling2d_1",0,0]]],"name":"convolution2d_12"},{"class_name":"BatchNormalization","config":{"gamma_regularizer":null,"name":"batchnormalization_6","epsilon":1e-05,"trainable":true,"mode":0,"beta_regularizer":null,"momentum":0.99,"axis":3},"inbound_nodes":[[["convolution2d_6",0,0]]],"name":"batchnormalization_6"},{"class_name":"BatchNormalization","config":{"gamma_regularizer":null,"name":"batchnormalization_8","epsilon":1e-05,"trainable":true,"mode":0,"beta_regularizer":null,"momentum":0.99,"axis":3},"inbound_nodes":[[["convolution2d_8",0,0]]],"name":"batchnormalization_8"},{"class_name":"BatchNormalization","config":{"gamma_regularizer":null,"name":"batchnormalization_11","epsilon":1e-05,"trainable":true,"mode":0,"beta_regularizer":null,"momentum":0.99,"axis":3},"inbound_nodes":[[["convolution2d_11",0,0]]],"name":"batchnormalization_11"},{"class_name":"BatchNormalization","config":{"gamma_regularizer":null,"name":"batchnormalization_12","epsilon":1e-05,"trainable":true,"mode":0,"beta_regularizer":null,"momentum":0.99,"axis":3},"inbound_nodes":[[["convolution2d_12",0,0]]],"name":"batchnormalization_12"},{"class_name":"Merge","config":{"name":"mixed0","concat_axis":3,"mode_type":"raw","dot_axes":-1,"mode":"concat","output_shape":null,"output_shape_type":"raw"},"inbound_nodes":[[["batchnormalization_6",0,0],["batchnormalization_8",0,0],["batchnormalization_11",0,0],["batchnormalization_12",0,0]]],"name":"mixed0"},{"class_name":"Convolution2D","config":{"W_constraint":null,"b_constraint":null,"name":"convolution2d_16","activity_regularizer":null,"trainable":true,"dim_ordering":"tf","nb_col":1,"subsample":[1,1],"init":"glorot_uniform","bias":true,"nb_filter":64,"border_mode":"same","b_regularizer":null,"W_regularizer":null,"activation":"relu","nb_row":1},"inbound_nodes":[[["mixed0",0,0]]],"name":"convolution2d_16"},{"class_name":"BatchNormalization","config":{"gamma_regularizer":null,"name":"batchnormalization_16","epsilon":1e-05,"trainable":true,"mode":0,"beta_regularizer":null,"momentum":0.99,"axis":3},"inbound_nodes":[[["convolution2d_16",0,0]]],"name":"batchnormalization_16"},{"class_name":"Convolution2D","config":{"W_constraint":null,"b_constraint":null,"name":"convolution2d_14","activity_regularizer":null,"trainable":true,"dim_ordering":"tf","nb_col":1,"subsample":[1,1],"init":"glorot_uniform","bias":true,"nb_filter":48,"border_mode":"same","b_regularizer":null,"W_regularizer":null,"activation":"relu","nb_row":1},"inbound_nodes":[[["mixed0",0,0]]],"name":"convolution2d_14"},{"class_name":"Convolution2D","config":{"W_constraint":null,"b_constraint":null,"name":"convolution2d_17","activity_regularizer":null,"trainable":true,"dim_ordering":"tf","nb_col":3,"subsample":[1,1],"init":"glorot_uniform","bias":true,"nb_filter":96,"border_mode":"same","b_regularizer":null,"W_regularizer":null,"activation":"relu","nb_row":3},"inbound_nodes":[[["batchnormalization_16",0,0]]],"name":"convolution2d_17"},{"class_name":"BatchNormalization","config":{"gamma_regularizer":null,"name":"batchnormalization_14","epsilon":1e-05,"trainable":true,"mode":0,"beta_regularizer":null,"momentum":0.99,"axis":3},"inbound_nodes":[[["convolution2d_14",0,0]]],"name":"batchnormalization_14"},{"class_name":"BatchNormalization","config":{"gamma_regularizer":null,"name":"batchnormalization_17","epsilon":1e-05,"trainable":true,"mode":0,"beta_regularizer":null,"momentum":0.99,"axis":3},"inbound_nodes":[[["convolution2d_17",0,0]]],"name":"batchnormalization_17"},{"class_name":"AveragePooling2D","config":{"name":"averagepooling2d_2","trainable":true,"dim_ordering":"tf","pool_size":[3,3],"strides":[1,1],"border_mode":"same"},"inbound_nodes":[[["mixed0",0,0]]],"name":"averagepooling2d_2"},{"class_name":"Convolution2D","config":{"W_constraint":null,"b_constraint":null,"name":"convolution2d_13","activity_regularizer":null,"trainable":true,"dim_ordering":"tf","nb_col":1,"subsample":[1,1],"init":"glorot_uniform","bias":true,"nb_filter":64,"border_mode":"same","b_regularizer":null,"W_regularizer":null,"activation":"relu","nb_row":1},"inbound_nodes":[[["mixed0",0,0]]],"name":"convolution2d_13"},{"class_name":"Convolution2D","config":{"W_constraint":null,"b_constraint":null,"name":"convolution2d_15","activity_regularizer":null,"trainable":true,"dim_ordering":"tf","nb_col":5,"subsample":[1,1],"init":"glorot_uniform","bias":true,"nb_filter":64,"border_mode":"same","b_regularizer":null,"W_regularizer":null,"activation":"relu","nb_row":5},"inbound_nodes":[[["batchnormalization_14",0,0]]],"name":"convolution2d_15"},{"class_name":"Convolution2D","config":{"W_constraint":null,"b_constraint":null,"name":"convolution2d_18","activity_regularizer":null,"trainable":true,"dim_ordering":"tf","nb_col":3,"subsample":[1,1],"init":"glorot_uniform","bias":true,"nb_filter":96,"border_mode":"same","b_regularizer":null,"W_regularizer":null,"activation":"relu","nb_row":3},"inbound_nodes":[[["batchnormalization_17",0,0]]],"name":"convolution2d_18"},{"class_name":"Convolution2D","config":{"W_constraint":null,"b_constraint":null,"name":"convolution2d_19","activity_regularizer":null,"trainable":true,"dim_ordering":"tf","nb_col":1,"subsample":[1,1],"init":"glorot_uniform","bias":true,"nb_filter":32,"border_mode":"same","b_regularizer":null,"W_regularizer":null,"activation":"relu","nb_row":1},"inbound_nodes":[[["averagepooling2d_2",0,0]]],"name":"convolution2d_19"},{"class_name":"BatchNormalization","config":{"gamma_regularizer":null,"name":"batchnormalization_13","epsilon":1e-05,"trainable":true,"mode":0,"beta_regularizer":null,"momentum":0.99,"axis":3},"inbound_nodes":[[["convolution2d_13",0,0]]],"name":"batchnormalization_13"},{"class_name":"BatchNormalization","config":{"gamma_regularizer":null,"name":"batchnormalization_15","epsilon":1e-05,"trainable":true,"mode":0,"beta_regularizer":null,"momentum":0.99,"axis":3},"inbound_nodes":[[["convolution2d_15",0,0]]],"name":"batchnormalization_15"},{"class_name":"BatchNormalization","config":{"gamma_regularizer":null,"name":"batchnormalization_18","epsilon":1e-05,"trainable":true,"mode":0,"beta_regularizer":null,"momentum":0.99,"axis":3},"inbound_nodes":[[["convolution2d_18",0,0]]],"name":"batchnormalization_18"},{"class_name":"BatchNormalization","config":{"gamma_regularizer":null,"name":"batchnormalization_19","epsilon":1e-05,"trainable":true,"mode":0,"beta_regularizer":null,"momentum":0.99,"axis":3},"inbound_nodes":[[["convolution2d_19",0,0]]],"name":"batchnormalization_19"},{"class_name":"Merge","config":{"name":"mixed1","concat_axis":3,"mode_type":"raw","dot_axes":-1,"mode":"concat","output_shape":null,"output_shape_type":"raw"},"inbound_nodes":[[["batchnormalization_13",0,0],["batchnormalization_15",0,0],["batchnormalization_18",0,0],["batchnormalization_19",0,0]]],"name":"mixed1"},{"class_name":"Convolution2D","config":{"W_constraint":null,"b_constraint":null,"name":"convolution2d_23","activity_regularizer":null,"trainable":true,"dim_ordering":"tf","nb_col":1,"subsample":[1,1],"init":"glorot_uniform","bias":true,"nb_filter":64,"border_mode":"same","b_regularizer":null,"W_regularizer":null,"activation":"relu","nb_row":1},"inbound_nodes":[[["mixed1",0,0]]],"name":"convolution2d_23"},{"class_name":"BatchNormalization","config":{"gamma_regularizer":null,"name":"batchnormalization_23","epsilon":1e-05,"trainable":true,"mode":0,"beta_regularizer":null,"momentum":0.99,"axis":3},"inbound_nodes":[[["convolution2d_23",0,0]]],"name":"batchnormalization_23"},{"class_name":"Convolution2D","config":{"W_constraint":null,"b_constraint":null,"name":"convolution2d_21","activity_regularizer":null,"trainable":true,"dim_ordering":"tf","nb_col":1,"subsample":[1,1],"init":"glorot_uniform","bias":true,"nb_filter":48,"border_mode":"same","b_regularizer":null,"W_regularizer":null,"activation":"relu","nb_row":1},"inbound_nodes":[[["mixed1",0,0]]],"name":"convolution2d_21"},{"class_name":"Convolution2D","config":{"W_constraint":null,"b_constraint":null,"name":"convolution2d_24","activity_regularizer":null,"trainable":true,"dim_ordering":"tf","nb_col":3,"subsample":[1,1],"init":"glorot_uniform","bias":true,"nb_filter":96,"border_mode":"same","b_regularizer":null,"W_regularizer":null,"activation":"relu","nb_row":3},"inbound_nodes":[[["batchnormalization_23",0,0]]],"name":"convolution2d_24"},{"class_name":"BatchNormalization","config":{"gamma_regularizer":null,"name":"batchnormalization_21","epsilon":1e-05,"trainable":true,"mode":0,"beta_regularizer":null,"momentum":0.99,"axis":3},"inbound_nodes":[[["convolution2d_21",0,0]]],"name":"batchnormalization_21"},{"class_name":"BatchNormalization","config":{"gamma_regularizer":null,"name":"batchnormalization_24","epsilon":1e-05,"trainable":true,"mode":0,"beta_regularizer":null,"momentum":0.99,"axis":3},"inbound_nodes":[[["convolution2d_24",0,0]]],"name":"batchnormalization_24"},{"class_name":"AveragePooling2D","config":{"name":"averagepooling2d_3","trainable":true,"dim_ordering":"tf","pool_size":[3,3],"strides":[1,1],"border_mode":"same"},"inbound_nodes":[[["mixed1",0,0]]],"name":"averagepooling2d_3"},{"class_name":"Convolution2D","config":{"W_constraint":null,"b_constraint":null,"name":"convolution2d_20","activity_regularizer":null,"trainable":true,"dim_ordering":"tf","nb_col":1,"subsample":[1,1],"init":"glorot_uniform","bias":true,"nb_filter":64,"border_mode":"same","b_regularizer":null,"W_regularizer":null,"activation":"relu","nb_row":1},"inbound_nodes":[[["mixed1",0,0]]],"name":"convolution2d_20"},{"class_name":"Convolution2D","config":{"W_constraint":null,"b_constraint":null,"name":"convolution2d_22","activity_regularizer":null,"trainable":true,"dim_ordering":"tf","nb_col":5,"subsample":[1,1],"init":"glorot_uniform","bias":true,"nb_filter":64,"border_mode":"same","b_regularizer":null,"W_regularizer":null,"activation":"relu","nb_row":5},"inbound_nodes":[[["batchnormalization_21",0,0]]],"name":"convolution2d_22"},{"class_name":"Convolution2D","config":{"W_constraint":null,"b_constraint":null,"name":"convolution2d_25","activity_regularizer":null,"trainable":true,"dim_ordering":"tf","nb_col":3,"subsample":[1,1],"init":"glorot_uniform","bias":true,"nb_filter":96,"border_mode":"same","b_regularizer":null,"W_regularizer":null,"activation":"relu","nb_row":3},"inbound_nodes":[[["batchnormalization_24",0,0]]],"name":"convolution2d_25"},{"class_name":"Convolution2D","config":{"W_constraint":null,"b_constraint":null,"name":"convolution2d_26","activity_regularizer":null,"trainable":true,"dim_ordering":"tf","nb_col":1,"subsample":[1,1],"init":"glorot_uniform","bias":true,"nb_filter":32,"border_mode":"same","b_regularizer":null,"W_regularizer":null,"activation":"relu","nb_row":1},"inbound_nodes":[[["averagepooling2d_3",0,0]]],"name":"convolution2d_26"},{"class_name":"BatchNormalization","config":{"gamma_regularizer":null,"name":"batchnormalization_20","epsilon":1e-05,"trainable":true,"mode":0,"beta_regularizer":null,"momentum":0.99,"axis":3},"inbound_nodes":[[["convolution2d_20",0,0]]],"name":"batchnormalization_20"},{"class_name":"BatchNormalization","config":{"gamma_regularizer":null,"name":"batchnormalization_22","epsilon":1e-05,"trainable":true,"mode":0,"beta_regularizer":null,"momentum":0.99,"axis":3},"inbound_nodes":[[["convolution2d_22",0,0]]],"name":"batchnormalization_22"},{"class_name":"BatchNormalization","config":{"gamma_regularizer":null,"name":"batchnormalization_25","epsilon":1e-05,"trainable":true,"mode":0,"beta_regularizer":null,"momentum":0.99,"axis":3},"inbound_nodes":[[["convolution2d_25",0,0]]],"name":"batchnormalization_25"},{"class_name":"BatchNormalization","config":{"gamma_regularizer":null,"name":"batchnormalization_26","epsilon":1e-05,"trainable":true,"mode":0,"beta_regularizer":null,"momentum":0.99,"axis":3},"inbound_nodes":[[["convolution2d_26",0,0]]],"name":"batchnormalization_26"},{"class_name":"Merge","config":{"name":"mixed2","concat_axis":3,"mode_type":"raw","dot_axes":-1,"mode":"concat","output_shape":null,"output_shape_type":"raw"},"inbound_nodes":[[["batchnormalization_20",0,0],["batchnormalization_22",0,0],["batchnormalization_25",0,0],["batchnormalization_26",0,0]]],"name":"mixed2"},{"class_name":"Convolution2D","config":{"W_constraint":null,"b_constraint":null,"name":"convolution2d_28","activity_regularizer":null,"trainable":true,"dim_ordering":"tf","nb_col":1,"subsample":[1,1],"init":"glorot_uniform","bias":true,"nb_filter":64,"border_mode":"same","b_regularizer":null,"W_regularizer":null,"activation":"relu","nb_row":1},"inbound_nodes":[[["mixed2",0,0]]],"name":"convolution2d_28"},{"class_name":"BatchNormalization","config":{"gamma_regularizer":null,"name":"batchnormalization_28","epsilon":1e-05,"trainable":true,"mode":0,"beta_regularizer":null,"momentum":0.99,"axis":3},"inbound_nodes":[[["convolution2d_28",0,0]]],"name":"batchnormalization_28"},{"class_name":"Convolution2D","config":{"W_constraint":null,"b_constraint":null,"name":"convolution2d_29","activity_regularizer":null,"trainable":true,"dim_ordering":"tf","nb_col":3,"subsample":[1,1],"init":"glorot_uniform","bias":true,"nb_filter":96,"border_mode":"same","b_regularizer":null,"W_regularizer":null,"activation":"relu","nb_row":3},"inbound_nodes":[[["batchnormalization_28",0,0]]],"name":"convolution2d_29"},{"class_name":"BatchNormalization","config":{"gamma_regularizer":null,"name":"batchnormalization_29","epsilon":1e-05,"trainable":true,"mode":0,"beta_regularizer":null,"momentum":0.99,"axis":3},"inbound_nodes":[[["convolution2d_29",0,0]]],"name":"batchnormalization_29"},{"class_name":"Convolution2D","config":{"W_constraint":null,"b_constraint":null,"name":"convolution2d_27","activity_regularizer":null,"trainable":true,"dim_ordering":"tf","nb_col":3,"subsample":[2,2],"init":"glorot_uniform","bias":true,"nb_filter":384,"border_mode":"valid","b_regularizer":null,"W_regularizer":null,"activation":"relu","nb_row":3},"inbound_nodes":[[["mixed2",0,0]]],"name":"convolution2d_27"},{"class_name":"Convolution2D","config":{"W_constraint":null,"b_constraint":null,"name":"convolution2d_30","activity_regularizer":null,"trainable":true,"dim_ordering":"tf","nb_col":3,"subsample":[2,2],"init":"glorot_uniform","bias":true,"nb_filter":96,"border_mode":"valid","b_regularizer":null,"W_regularizer":null,"activation":"relu","nb_row":3},"inbound_nodes":[[["batchnormalization_29",0,0]]],"name":"convolution2d_30"},{"class_name":"BatchNormalization","config":{"gamma_regularizer":null,"name":"batchnormalization_27","epsilon":1e-05,"trainable":true,"mode":0,"beta_regularizer":null,"momentum":0.99,"axis":3},"inbound_nodes":[[["convolution2d_27",0,0]]],"name":"batchnormalization_27"},{"class_name":"BatchNormalization","config":{"gamma_regularizer":null,"name":"batchnormalization_30","epsilon":1e-05,"trainable":true,"mode":0,"beta_regularizer":null,"momentum":0.99,"axis":3},"inbound_nodes":[[["convolution2d_30",0,0]]],"name":"batchnormalization_30"},{"class_name":"MaxPooling2D","config":{"name":"maxpooling2d_3","trainable":true,"dim_ordering":"tf","pool_size":[3,3],"strides":[2,2],"border_mode":"valid"},"inbound_nodes":[[["mixed2",0,0]]],"name":"maxpooling2d_3"},{"class_name":"Merge","config":{"name":"mixed3","concat_axis":3,"mode_type":"raw","dot_axes":-1,"mode":"concat","output_shape":null,"output_shape_type":"raw"},"inbound_nodes":[[["batchnormalization_27",0,0],["batchnormalization_30",0,0],["maxpooling2d_3",0,0]]],"name":"mixed3"},{"class_name":"Convolution2D","config":{"W_constraint":null,"b_constraint":null,"name":"convolution2d_35","activity_regularizer":null,"trainable":true,"dim_ordering":"tf","nb_col":1,"subsample":[1,1],"init":"glorot_uniform","bias":true,"nb_filter":128,"border_mode":"same","b_regularizer":null,"W_regularizer":null,"activation":"relu","nb_row":1},"inbound_nodes":[[["mixed3",0,0]]],"name":"convolution2d_35"},{"class_name":"BatchNormalization","config":{"gamma_regularizer":null,"name":"batchnormalization_35","epsilon":1e-05,"trainable":true,"mode":0,"beta_regularizer":null,"momentum":0.99,"axis":3},"inbound_nodes":[[["convolution2d_35",0,0]]],"name":"batchnormalization_35"},{"class_name":"Convolution2D","config":{"W_constraint":null,"b_constraint":null,"name":"convolution2d_36","activity_regularizer":null,"trainable":true,"dim_ordering":"tf","nb_col":1,"subsample":[1,1],"init":"glorot_uniform","bias":true,"nb_filter":128,"border_mode":"same","b_regularizer":null,"W_regularizer":null,"activation":"relu","nb_row":7},"inbound_nodes":[[["batchnormalization_35",0,0]]],"name":"convolution2d_36"},{"class_name":"BatchNormalization","config":{"gamma_regularizer":null,"name":"batchnormalization_36","epsilon":1e-05,"trainable":true,"mode":0,"beta_regularizer":null,"momentum":0.99,"axis":3},"inbound_nodes":[[["convolution2d_36",0,0]]],"name":"batchnormalization_36"},{"class_name":"Convolution2D","config":{"W_constraint":null,"b_constraint":null,"name":"convolution2d_32","activity_regularizer":null,"trainable":true,"dim_ordering":"tf","nb_col":1,"subsample":[1,1],"init":"glorot_uniform","bias":true,"nb_filter":128,"border_mode":"same","b_regularizer":null,"W_regularizer":null,"activation":"relu","nb_row":1},"inbound_nodes":[[["mixed3",0,0]]],"name":"convolution2d_32"},{"class_name":"Convolution2D","config":{"W_constraint":null,"b_constraint":null,"name":"convolution2d_37","activity_regularizer":null,"trainable":true,"dim_ordering":"tf","nb_col":7,"subsample":[1,1],"init":"glorot_uniform","bias":true,"nb_filter":128,"border_mode":"same","b_regularizer":null,"W_regularizer":null,"activation":"relu","nb_row":1},"inbound_nodes":[[["batchnormalization_36",0,0]]],"name":"convolution2d_37"},{"class_name":"BatchNormalization","config":{"gamma_regularizer":null,"name":"batchnormalization_32","epsilon":1e-05,"trainable":true,"mode":0,"beta_regularizer":null,"momentum":0.99,"axis":3},"inbound_nodes":[[["convolution2d_32",0,0]]],"name":"batchnormalization_32"},{"class_name":"BatchNormalization","config":{"gamma_regularizer":null,"name":"batchnormalization_37","epsilon":1e-05,"trainable":true,"mode":0,"beta_regularizer":null,"momentum":0.99,"axis":3},"inbound_nodes":[[["convolution2d_37",0,0]]],"name":"batchnormalization_37"},{"class_name":"Convolution2D","config":{"W_constraint":null,"b_constraint":null,"name":"convolution2d_33","activity_regularizer":null,"trainable":true,"dim_ordering":"tf","nb_col":7,"subsample":[1,1],"init":"glorot_uniform","bias":true,"nb_filter":128,"border_mode":"same","b_regularizer":null,"W_regularizer":null,"activation":"relu","nb_row":1},"inbound_nodes":[[["batchnormalization_32",0,0]]],"name":"convolution2d_33"},{"class_name":"Convolution2D","config":{"W_constraint":null,"b_constraint":null,"name":"convolution2d_38","activity_regularizer":null,"trainable":true,"dim_ordering":"tf","nb_col":1,"subsample":[1,1],"init":"glorot_uniform","bias":true,"nb_filter":128,"border_mode":"same","b_regularizer":null,"W_regularizer":null,"activation":"relu","nb_row":7},"inbound_nodes":[[["batchnormalization_37",0,0]]],"name":"convolution2d_38"},{"class_name":"BatchNormalization","config":{"gamma_regularizer":null,"name":"batchnormalization_33","epsilon":1e-05,"trainable":true,"mode":0,"beta_regularizer":null,"momentum":0.99,"axis":3},"inbound_nodes":[[["convolution2d_33",0,0]]],"name":"batchnormalization_33"},{"class_name":"BatchNormalization","config":{"gamma_regularizer":null,"name":"batchnormalization_38","epsilon":1e-05,"trainable":true,"mode":0,"beta_regularizer":null,"momentum":0.99,"axis":3},"inbound_nodes":[[["convolution2d_38",0,0]]],"name":"batchnormalization_38"},{"class_name":"AveragePooling2D","config":{"name":"averagepooling2d_4","trainable":true,"dim_ordering":"tf","pool_size":[3,3],"strides":[1,1],"border_mode":"same"},"inbound_nodes":[[["mixed3",0,0]]],"name":"averagepooling2d_4"},{"class_name":"Convolution2D","config":{"W_constraint":null,"b_constraint":null,"name":"convolution2d_31","activity_regularizer":null,"trainable":true,"dim_ordering":"tf","nb_col":1,"subsample":[1,1],"init":"glorot_uniform","bias":true,"nb_filter":192,"border_mode":"same","b_regularizer":null,"W_regularizer":null,"activation":"relu","nb_row":1},"inbound_nodes":[[["mixed3",0,0]]],"name":"convolution2d_31"},{"class_name":"Convolution2D","config":{"W_constraint":null,"b_constraint":null,"name":"convolution2d_34","activity_regularizer":null,"trainable":true,"dim_ordering":"tf","nb_col":1,"subsample":[1,1],"init":"glorot_uniform","bias":true,"nb_filter":192,"border_mode":"same","b_regularizer":null,"W_regularizer":null,"activation":"relu","nb_row":7},"inbound_nodes":[[["batchnormalization_33",0,0]]],"name":"convolution2d_34"},{"class_name":"Convolution2D","config":{"W_constraint":null,"b_constraint":null,"name":"convolution2d_39","activity_regularizer":null,"trainable":true,"dim_ordering":"tf","nb_col":7,"subsample":[1,1],"init":"glorot_uniform","bias":true,"nb_filter":192,"border_mode":"same","b_regularizer":null,"W_regularizer":null,"activation":"relu","nb_row":1},"inbound_nodes":[[["batchnormalization_38",0,0]]],"name":"convolution2d_39"},{"class_name":"Convolution2D","config":{"W_constraint":null,"b_constraint":null,"name":"convolution2d_40","activity_regularizer":null,"trainable":true,"dim_ordering":"tf","nb_col":1,"subsample":[1,1],"init":"glorot_uniform","bias":true,"nb_filter":192,"border_mode":"same","b_regularizer":null,"W_regularizer":null,"activation":"relu","nb_row":1},"inbound_nodes":[[["averagepooling2d_4",0,0]]],"name":"convolution2d_40"},{"class_name":"BatchNormalization","config":{"gamma_regularizer":null,"name":"batchnormalization_31","epsilon":1e-05,"trainable":true,"mode":0,"beta_regularizer":null,"momentum":0.99,"axis":3},"inbound_nodes":[[["convolution2d_31",0,0]]],"name":"batchnormalization_31"},{"class_name":"BatchNormalization","config":{"gamma_regularizer":null,"name":"batchnormalization_34","epsilon":1e-05,"trainable":true,"mode":0,"beta_regularizer":null,"momentum":0.99,"axis":3},"inbound_nodes":[[["convolution2d_34",0,0]]],"name":"batchnormalization_34"},{"class_name":"BatchNormalization","config":{"gamma_regularizer":null,"name":"batchnormalization_39","epsilon":1e-05,"trainable":true,"mode":0,"beta_regularizer":null,"momentum":0.99,"axis":3},"inbound_nodes":[[["convolution2d_39",0,0]]],"name":"batchnormalization_39"},{"class_name":"BatchNormalization","config":{"gamma_regularizer":null,"name":"batchnormalization_40","epsilon":1e-05,"trainable":true,"mode":0,"beta_regularizer":null,"momentum":0.99,"axis":3},"inbound_nodes":[[["convolution2d_40",0,0]]],"name":"batchnormalization_40"},{"class_name":"Merge","config":{"name":"mixed4","concat_axis":3,"mode_type":"raw","dot_axes":-1,"mode":"concat","output_shape":null,"output_shape_type":"raw"},"inbound_nodes":[[["batchnormalization_31",0,0],["batchnormalization_34",0,0],["batchnormalization_39",0,0],["batchnormalization_40",0,0]]],"name":"mixed4"},{"class_name":"Convolution2D","config":{"W_constraint":null,"b_constraint":null,"name":"convolution2d_45","activity_regularizer":null,"trainable":true,"dim_ordering":"tf","nb_col":1,"subsample":[1,1],"init":"glorot_uniform","bias":true,"nb_filter":160,"border_mode":"same","b_regularizer":null,"W_regularizer":null,"activation":"relu","nb_row":1},"inbound_nodes":[[["mixed4",0,0]]],"name":"convolution2d_45"},{"class_name":"BatchNormalization","config":{"gamma_regularizer":null,"name":"batchnormalization_45","epsilon":1e-05,"trainable":true,"mode":0,"beta_regularizer":null,"momentum":0.99,"axis":3},"inbound_nodes":[[["convolution2d_45",0,0]]],"name":"batchnormalization_45"},{"class_name":"Convolution2D","config":{"W_constraint":null,"b_constraint":null,"name":"convolution2d_46","activity_regularizer":null,"trainable":true,"dim_ordering":"tf","nb_col":1,"subsample":[1,1],"init":"glorot_uniform","bias":true,"nb_filter":160,"border_mode":"same","b_regularizer":null,"W_regularizer":null,"activation":"relu","nb_row":7},"inbound_nodes":[[["batchnormalization_45",0,0]]],"name":"convolution2d_46"},{"class_name":"BatchNormalization","config":{"gamma_regularizer":null,"name":"batchnormalization_46","epsilon":1e-05,"trainable":true,"mode":0,"beta_regularizer":null,"momentum":0.99,"axis":3},"inbound_nodes":[[["convolution2d_46",0,0]]],"name":"batchnormalization_46"},{"class_name":"Convolution2D","config":{"W_constraint":null,"b_constraint":null,"name":"convolution2d_42","activity_regularizer":null,"trainable":true,"dim_ordering":"tf","nb_col":1,"subsample":[1,1],"init":"glorot_uniform","bias":true,"nb_filter":160,"border_mode":"same","b_regularizer":null,"W_regularizer":null,"activation":"relu","nb_row":1},"inbound_nodes":[[["mixed4",0,0]]],"name":"convolution2d_42"},{"class_name":"Convolution2D","config":{"W_constraint":null,"b_constraint":null,"name":"convolution2d_47","activity_regularizer":null,"trainable":true,"dim_ordering":"tf","nb_col":7,"subsample":[1,1],"init":"glorot_uniform","bias":true,"nb_filter":160,"border_mode":"same","b_regularizer":null,"W_regularizer":null,"activation":"relu","nb_row":1},"inbound_nodes":[[["batchnormalization_46",0,0]]],"name":"convolution2d_47"},{"class_name":"BatchNormalization","config":{"gamma_regularizer":null,"name":"batchnormalization_42","epsilon":1e-05,"trainable":true,"mode":0,"beta_regularizer":null,"momentum":0.99,"axis":3},"inbound_nodes":[[["convolution2d_42",0,0]]],"name":"batchnormalization_42"},{"class_name":"BatchNormalization","config":{"gamma_regularizer":null,"name":"batchnormalization_47","epsilon":1e-05,"trainable":true,"mode":0,"beta_regularizer":null,"momentum":0.99,"axis":3},"inbound_nodes":[[["convolution2d_47",0,0]]],"name":"batchnormalization_47"},{"class_name":"Convolution2D","config":{"W_constraint":null,"b_constraint":null,"name":"convolution2d_43","activity_regularizer":null,"trainable":true,"dim_ordering":"tf","nb_col":7,"subsample":[1,1],"init":"glorot_uniform","bias":true,"nb_filter":160,"border_mode":"same","b_regularizer":null,"W_regularizer":null,"activation":"relu","nb_row":1},"inbound_nodes":[[["batchnormalization_42",0,0]]],"name":"convolution2d_43"},{"class_name":"Convolution2D","config":{"W_constraint":null,"b_constraint":null,"name":"convolution2d_48","activity_regularizer":null,"trainable":true,"dim_ordering":"tf","nb_col":1,"subsample":[1,1],"init":"glorot_uniform","bias":true,"nb_filter":160,"border_mode":"same","b_regularizer":null,"W_regularizer":null,"activation":"relu","nb_row":7},"inbound_nodes":[[["batchnormalization_47",0,0]]],"name":"convolution2d_48"},{"class_name":"BatchNormalization","config":{"gamma_regularizer":null,"name":"batchnormalization_43","epsilon":1e-05,"trainable":true,"mode":0,"beta_regularizer":null,"momentum":0.99,"axis":3},"inbound_nodes":[[["convolution2d_43",0,0]]],"name":"batchnormalization_43"},{"class_name":"BatchNormalization","config":{"gamma_regularizer":null,"name":"batchnormalization_48","epsilon":1e-05,"trainable":true,"mode":0,"beta_regularizer":null,"momentum":0.99,"axis":3},"inbound_nodes":[[["convolution2d_48",0,0]]],"name":"batchnormalization_48"},{"class_name":"AveragePooling2D","config":{"name":"averagepooling2d_5","trainable":true,"dim_ordering":"tf","pool_size":[3,3],"strides":[1,1],"border_mode":"same"},"inbound_nodes":[[["mixed4",0,0]]],"name":"averagepooling2d_5"},{"class_name":"Convolution2D","config":{"W_constraint":null,"b_constraint":null,"name":"convolution2d_41","activity_regularizer":null,"trainable":true,"dim_ordering":"tf","nb_col":1,"subsample":[1,1],"init":"glorot_uniform","bias":true,"nb_filter":192,"border_mode":"same","b_regularizer":null,"W_regularizer":null,"activation":"relu","nb_row":1},"inbound_nodes":[[["mixed4",0,0]]],"name":"convolution2d_41"},{"class_name":"Convolution2D","config":{"W_constraint":null,"b_constraint":null,"name":"convolution2d_44","activity_regularizer":null,"trainable":true,"dim_ordering":"tf","nb_col":1,"subsample":[1,1],"init":"glorot_uniform","bias":true,"nb_filter":192,"border_mode":"same","b_regularizer":null,"W_regularizer":null,"activation":"relu","nb_row":7},"inbound_nodes":[[["batchnormalization_43",0,0]]],"name":"convolution2d_44"},{"class_name":"Convolution2D","config":{"W_constraint":null,"b_constraint":null,"name":"convolution2d_49","activity_regularizer":null,"trainable":true,"dim_ordering":"tf","nb_col":7,"subsample":[1,1],"init":"glorot_uniform","bias":true,"nb_filter":192,"border_mode":"same","b_regularizer":null,"W_regularizer":null,"activation":"relu","nb_row":1},"inbound_nodes":[[["batchnormalization_48",0,0]]],"name":"convolution2d_49"},{"class_name":"Convolution2D","config":{"W_constraint":null,"b_constraint":null,"name":"convolution2d_50","activity_regularizer":null,"trainable":true,"dim_ordering":"tf","nb_col":1,"subsample":[1,1],"init":"glorot_uniform","bias":true,"nb_filter":192,"border_mode":"same","b_regularizer":null,"W_regularizer":null,"activation":"relu","nb_row":1},"inbound_nodes":[[["averagepooling2d_5",0,0]]],"name":"convolution2d_50"},{"class_name":"BatchNormalization","config":{"gamma_regularizer":null,"name":"batchnormalization_41","epsilon":1e-05,"trainable":true,"mode":0,"beta_regularizer":null,"momentum":0.99,"axis":3},"inbound_nodes":[[["convolution2d_41",0,0]]],"name":"batchnormalization_41"},{"class_name":"BatchNormalization","config":{"gamma_regularizer":null,"name":"batchnormalization_44","epsilon":1e-05,"trainable":true,"mode":0,"beta_regularizer":null,"momentum":0.99,"axis":3},"inbound_nodes":[[["convolution2d_44",0,0]]],"name":"batchnormalization_44"},{"class_name":"BatchNormalization","config":{"gamma_regularizer":null,"name":"batchnormalization_49","epsilon":1e-05,"trainable":true,"mode":0,"beta_regularizer":null,"momentum":0.99,"axis":3},"inbound_nodes":[[["convolution2d_49",0,0]]],"name":"batchnormalization_49"},{"class_name":"BatchNormalization","config":{"gamma_regularizer":null,"name":"batchnormalization_50","epsilon":1e-05,"trainable":true,"mode":0,"beta_regularizer":null,"momentum":0.99,"axis":3},"inbound_nodes":[[["convolution2d_50",0,0]]],"name":"batchnormalization_50"},{"class_name":"Merge","config":{"name":"mixed5","concat_axis":3,"mode_type":"raw","dot_axes":-1,"mode":"concat","output_shape":null,"output_shape_type":"raw"},"inbound_nodes":[[["batchnormalization_41",0,0],["batchnormalization_44",0,0],["batchnormalization_49",0,0],["batchnormalization_50",0,0]]],"name":"mixed5"},{"class_name":"Convolution2D","config":{"W_constraint":null,"b_constraint":null,"name":"convolution2d_55","activity_regularizer":null,"trainable":true,"dim_ordering":"tf","nb_col":1,"subsample":[1,1],"init":"glorot_uniform","bias":true,"nb_filter":160,"border_mode":"same","b_regularizer":null,"W_regularizer":null,"activation":"relu","nb_row":1},"inbound_nodes":[[["mixed5",0,0]]],"name":"convolution2d_55"},{"class_name":"BatchNormalization","config":{"gamma_regularizer":null,"name":"batchnormalization_55","epsilon":1e-05,"trainable":true,"mode":0,"beta_regularizer":null,"momentum":0.99,"axis":3},"inbound_nodes":[[["convolution2d_55",0,0]]],"name":"batchnormalization_55"},{"class_name":"Convolution2D","config":{"W_constraint":null,"b_constraint":null,"name":"convolution2d_56","activity_regularizer":null,"trainable":true,"dim_ordering":"tf","nb_col":1,"subsample":[1,1],"init":"glorot_uniform","bias":true,"nb_filter":160,"border_mode":"same","b_regularizer":null,"W_regularizer":null,"activation":"relu","nb_row":7},"inbound_nodes":[[["batchnormalization_55",0,0]]],"name":"convolution2d_56"},{"class_name":"BatchNormalization","config":{"gamma_regularizer":null,"name":"batchnormalization_56","epsilon":1e-05,"trainable":true,"mode":0,"beta_regularizer":null,"momentum":0.99,"axis":3},"inbound_nodes":[[["convolution2d_56",0,0]]],"name":"batchnormalization_56"},{"class_name":"Convolution2D","config":{"W_constraint":null,"b_constraint":null,"name":"convolution2d_52","activity_regularizer":null,"trainable":true,"dim_ordering":"tf","nb_col":1,"subsample":[1,1],"init":"glorot_uniform","bias":true,"nb_filter":160,"border_mode":"same","b_regularizer":null,"W_regularizer":null,"activation":"relu","nb_row":1},"inbound_nodes":[[["mixed5",0,0]]],"name":"convolution2d_52"},{"class_name":"Convolution2D","config":{"W_constraint":null,"b_constraint":null,"name":"convolution2d_57","activity_regularizer":null,"trainable":true,"dim_ordering":"tf","nb_col":7,"subsample":[1,1],"init":"glorot_uniform","bias":true,"nb_filter":160,"border_mode":"same","b_regularizer":null,"W_regularizer":null,"activation":"relu","nb_row":1},"inbound_nodes":[[["batchnormalization_56",0,0]]],"name":"convolution2d_57"},{"class_name":"BatchNormalization","config":{"gamma_regularizer":null,"name":"batchnormalization_52","epsilon":1e-05,"trainable":true,"mode":0,"beta_regularizer":null,"momentum":0.99,"axis":3},"inbound_nodes":[[["convolution2d_52",0,0]]],"name":"batchnormalization_52"},{"class_name":"BatchNormalization","config":{"gamma_regularizer":null,"name":"batchnormalization_57","epsilon":1e-05,"trainable":true,"mode":0,"beta_regularizer":null,"momentum":0.99,"axis":3},"inbound_nodes":[[["convolution2d_57",0,0]]],"name":"batchnormalization_57"},{"class_name":"Convolution2D","config":{"W_constraint":null,"b_constraint":null,"name":"convolution2d_53","activity_regularizer":null,"trainable":true,"dim_ordering":"tf","nb_col":7,"subsample":[1,1],"init":"glorot_uniform","bias":true,"nb_filter":160,"border_mode":"same","b_regularizer":null,"W_regularizer":null,"activation":"relu","nb_row":1},"inbound_nodes":[[["batchnormalization_52",0,0]]],"name":"convolution2d_53"},{"class_name":"Convolution2D","config":{"W_constraint":null,"b_constraint":null,"name":"convolution2d_58","activity_regularizer":null,"trainable":true,"dim_ordering":"tf","nb_col":1,"subsample":[1,1],"init":"glorot_uniform","bias":true,"nb_filter":160,"border_mode":"same","b_regularizer":null,"W_regularizer":null,"activation":"relu","nb_row":7},"inbound_nodes":[[["batchnormalization_57",0,0]]],"name":"convolution2d_58"},{"class_name":"BatchNormalization","config":{"gamma_regularizer":null,"name":"batchnormalization_53","epsilon":1e-05,"trainable":true,"mode":0,"beta_regularizer":null,"momentum":0.99,"axis":3},"inbound_nodes":[[["convolution2d_53",0,0]]],"name":"batchnormalization_53"},{"class_name":"BatchNormalization","config":{"gamma_regularizer":null,"name":"batchnormalization_58","epsilon":1e-05,"trainable":true,"mode":0,"beta_regularizer":null,"momentum":0.99,"axis":3},"inbound_nodes":[[["convolution2d_58",0,0]]],"name":"batchnormalization_58"},{"class_name":"AveragePooling2D","config":{"name":"averagepooling2d_6","trainable":true,"dim_ordering":"tf","pool_size":[3,3],"strides":[1,1],"border_mode":"same"},"inbound_nodes":[[["mixed5",0,0]]],"name":"averagepooling2d_6"},{"class_name":"Convolution2D","config":{"W_constraint":null,"b_constraint":null,"name":"convolution2d_51","activity_regularizer":null,"trainable":true,"dim_ordering":"tf","nb_col":1,"subsample":[1,1],"init":"glorot_uniform","bias":true,"nb_filter":192,"border_mode":"same","b_regularizer":null,"W_regularizer":null,"activation":"relu","nb_row":1},"inbound_nodes":[[["mixed5",0,0]]],"name":"convolution2d_51"},{"class_name":"Convolution2D","config":{"W_constraint":null,"b_constraint":null,"name":"convolution2d_54","activity_regularizer":null,"trainable":true,"dim_ordering":"tf","nb_col":1,"subsample":[1,1],"init":"glorot_uniform","bias":true,"nb_filter":192,"border_mode":"same","b_regularizer":null,"W_regularizer":null,"activation":"relu","nb_row":7},"inbound_nodes":[[["batchnormalization_53",0,0]]],"name":"convolution2d_54"},{"class_name":"Convolution2D","config":{"W_constraint":null,"b_constraint":null,"name":"convolution2d_59","activity_regularizer":null,"trainable":true,"dim_ordering":"tf","nb_col":7,"subsample":[1,1],"init":"glorot_uniform","bias":true,"nb_filter":192,"border_mode":"same","b_regularizer":null,"W_regularizer":null,"activation":"relu","nb_row":1},"inbound_nodes":[[["batchnormalization_58",0,0]]],"name":"convolution2d_59"},{"class_name":"Convolution2D","config":{"W_constraint":null,"b_constraint":null,"name":"convolution2d_60","activity_regularizer":null,"trainable":true,"dim_ordering":"tf","nb_col":1,"subsample":[1,1],"init":"glorot_uniform","bias":true,"nb_filter":192,"border_mode":"same","b_regularizer":null,"W_regularizer":null,"activation":"relu","nb_row":1},"inbound_nodes":[[["averagepooling2d_6",0,0]]],"name":"convolution2d_60"},{"class_name":"BatchNormalization","config":{"gamma_regularizer":null,"name":"batchnormalization_51","epsilon":1e-05,"trainable":true,"mode":0,"beta_regularizer":null,"momentum":0.99,"axis":3},"inbound_nodes":[[["convolution2d_51",0,0]]],"name":"batchnormalization_51"},{"class_name":"BatchNormalization","config":{"gamma_regularizer":null,"name":"batchnormalization_54","epsilon":1e-05,"trainable":true,"mode":0,"beta_regularizer":null,"momentum":0.99,"axis":3},"inbound_nodes":[[["convolution2d_54",0,0]]],"name":"batchnormalization_54"},{"class_name":"BatchNormalization","config":{"gamma_regularizer":null,"name":"batchnormalization_59","epsilon":1e-05,"trainable":true,"mode":0,"beta_regularizer":null,"momentum":0.99,"axis":3},"inbound_nodes":[[["convolution2d_59",0,0]]],"name":"batchnormalization_59"},{"class_name":"BatchNormalization","config":{"gamma_regularizer":null,"name":"batchnormalization_60","epsilon":1e-05,"trainable":true,"mode":0,"beta_regularizer":null,"momentum":0.99,"axis":3},"inbound_nodes":[[["convolution2d_60",0,0]]],"name":"batchnormalization_60"},{"class_name":"Merge","config":{"name":"mixed6","concat_axis":3,"mode_type":"raw","dot_axes":-1,"mode":"concat","output_shape":null,"output_shape_type":"raw"},"inbound_nodes":[[["batchnormalization_51",0,0],["batchnormalization_54",0,0],["batchnormalization_59",0,0],["batchnormalization_60",0,0]]],"name":"mixed6"},{"class_name":"Convolution2D","config":{"W_constraint":null,"b_constraint":null,"name":"convolution2d_65","activity_regularizer":null,"trainable":true,"dim_ordering":"tf","nb_col":1,"subsample":[1,1],"init":"glorot_uniform","bias":true,"nb_filter":160,"border_mode":"same","b_regularizer":null,"W_regularizer":null,"activation":"relu","nb_row":1},"inbound_nodes":[[["mixed6",0,0]]],"name":"convolution2d_65"},{"class_name":"BatchNormalization","config":{"gamma_regularizer":null,"name":"batchnormalization_65","epsilon":1e-05,"trainable":true,"mode":0,"beta_regularizer":null,"momentum":0.99,"axis":3},"inbound_nodes":[[["convolution2d_65",0,0]]],"name":"batchnormalization_65"},{"class_name":"Convolution2D","config":{"W_constraint":null,"b_constraint":null,"name":"convolution2d_66","activity_regularizer":null,"trainable":true,"dim_ordering":"tf","nb_col":1,"subsample":[1,1],"init":"glorot_uniform","bias":true,"nb_filter":192,"border_mode":"same","b_regularizer":null,"W_regularizer":null,"activation":"relu","nb_row":7},"inbound_nodes":[[["batchnormalization_65",0,0]]],"name":"convolution2d_66"},{"class_name":"BatchNormalization","config":{"gamma_regularizer":null,"name":"batchnormalization_66","epsilon":1e-05,"trainable":true,"mode":0,"beta_regularizer":null,"momentum":0.99,"axis":3},"inbound_nodes":[[["convolution2d_66",0,0]]],"name":"batchnormalization_66"},{"class_name":"Convolution2D","config":{"W_constraint":null,"b_constraint":null,"name":"convolution2d_62","activity_regularizer":null,"trainable":true,"dim_ordering":"tf","nb_col":1,"subsample":[1,1],"init":"glorot_uniform","bias":true,"nb_filter":192,"border_mode":"same","b_regularizer":null,"W_regularizer":null,"activation":"relu","nb_row":1},"inbound_nodes":[[["mixed6",0,0]]],"name":"convolution2d_62"},{"class_name":"Convolution2D","config":{"W_constraint":null,"b_constraint":null,"name":"convolution2d_67","activity_regularizer":null,"trainable":true,"dim_ordering":"tf","nb_col":7,"subsample":[1,1],"init":"glorot_uniform","bias":true,"nb_filter":192,"border_mode":"same","b_regularizer":null,"W_regularizer":null,"activation":"relu","nb_row":1},"inbound_nodes":[[["batchnormalization_66",0,0]]],"name":"convolution2d_67"},{"class_name":"BatchNormalization","config":{"gamma_regularizer":null,"name":"batchnormalization_62","epsilon":1e-05,"trainable":true,"mode":0,"beta_regularizer":null,"momentum":0.99,"axis":3},"inbound_nodes":[[["convolution2d_62",0,0]]],"name":"batchnormalization_62"},{"class_name":"BatchNormalization","config":{"gamma_regularizer":null,"name":"batchnormalization_67","epsilon":1e-05,"trainable":true,"mode":0,"beta_regularizer":null,"momentum":0.99,"axis":3},"inbound_nodes":[[["convolution2d_67",0,0]]],"name":"batchnormalization_67"},{"class_name":"Convolution2D","config":{"W_constraint":null,"b_constraint":null,"name":"convolution2d_63","activity_regularizer":null,"trainable":true,"dim_ordering":"tf","nb_col":7,"subsample":[1,1],"init":"glorot_uniform","bias":true,"nb_filter":192,"border_mode":"same","b_regularizer":null,"W_regularizer":null,"activation":"relu","nb_row":1},"inbound_nodes":[[["batchnormalization_62",0,0]]],"name":"convolution2d_63"},{"class_name":"Convolution2D","config":{"W_constraint":null,"b_constraint":null,"name":"convolution2d_68","activity_regularizer":null,"trainable":true,"dim_ordering":"tf","nb_col":1,"subsample":[1,1],"init":"glorot_uniform","bias":true,"nb_filter":192,"border_mode":"same","b_regularizer":null,"W_regularizer":null,"activation":"relu","nb_row":7},"inbound_nodes":[[["batchnormalization_67",0,0]]],"name":"convolution2d_68"},{"class_name":"BatchNormalization","config":{"gamma_regularizer":null,"name":"batchnormalization_63","epsilon":1e-05,"trainable":true,"mode":0,"beta_regularizer":null,"momentum":0.99,"axis":3},"inbound_nodes":[[["convolution2d_63",0,0]]],"name":"batchnormalization_63"},{"class_name":"BatchNormalization","config":{"gamma_regularizer":null,"name":"batchnormalization_68","epsilon":1e-05,"trainable":true,"mode":0,"beta_regularizer":null,"momentum":0.99,"axis":3},"inbound_nodes":[[["convolution2d_68",0,0]]],"name":"batchnormalization_68"},{"class_name":"AveragePooling2D","config":{"name":"averagepooling2d_7","trainable":true,"dim_ordering":"tf","pool_size":[3,3],"strides":[1,1],"border_mode":"same"},"inbound_nodes":[[["mixed6",0,0]]],"name":"averagepooling2d_7"},{"class_name":"Convolution2D","config":{"W_constraint":null,"b_constraint":null,"name":"convolution2d_61","activity_regularizer":null,"trainable":true,"dim_ordering":"tf","nb_col":1,"subsample":[1,1],"init":"glorot_uniform","bias":true,"nb_filter":192,"border_mode":"same","b_regularizer":null,"W_regularizer":null,"activation":"relu","nb_row":1},"inbound_nodes":[[["mixed6",0,0]]],"name":"convolution2d_61"},{"class_name":"Convolution2D","config":{"W_constraint":null,"b_constraint":null,"name":"convolution2d_64","activity_regularizer":null,"trainable":true,"dim_ordering":"tf","nb_col":1,"subsample":[1,1],"init":"glorot_uniform","bias":true,"nb_filter":192,"border_mode":"same","b_regularizer":null,"W_regularizer":null,"activation":"relu","nb_row":7},"inbound_nodes":[[["batchnormalization_63",0,0]]],"name":"convolution2d_64"},{"class_name":"Convolution2D","config":{"W_constraint":null,"b_constraint":null,"name":"convolution2d_69","activity_regularizer":null,"trainable":true,"dim_ordering":"tf","nb_col":7,"subsample":[1,1],"init":"glorot_uniform","bias":true,"nb_filter":192,"border_mode":"same","b_regularizer":null,"W_regularizer":null,"activation":"relu","nb_row":1},"inbound_nodes":[[["batchnormalization_68",0,0]]],"name":"convolution2d_69"},{"class_name":"Convolution2D","config":{"W_constraint":null,"b_constraint":null,"name":"convolution2d_70","activity_regularizer":null,"trainable":true,"dim_ordering":"tf","nb_col":1,"subsample":[1,1],"init":"glorot_uniform","bias":true,"nb_filter":192,"border_mode":"same","b_regularizer":null,"W_regularizer":null,"activation":"relu","nb_row":1},"inbound_nodes":[[["averagepooling2d_7",0,0]]],"name":"convolution2d_70"},{"class_name":"BatchNormalization","config":{"gamma_regularizer":null,"name":"batchnormalization_61","epsilon":1e-05,"trainable":true,"mode":0,"beta_regularizer":null,"momentum":0.99,"axis":3},"inbound_nodes":[[["convolution2d_61",0,0]]],"name":"batchnormalization_61"},{"class_name":"BatchNormalization","config":{"gamma_regularizer":null,"name":"batchnormalization_64","epsilon":1e-05,"trainable":true,"mode":0,"beta_regularizer":null,"momentum":0.99,"axis":3},"inbound_nodes":[[["convolution2d_64",0,0]]],"name":"batchnormalization_64"},{"class_name":"BatchNormalization","config":{"gamma_regularizer":null,"name":"batchnormalization_69","epsilon":1e-05,"trainable":true,"mode":0,"beta_regularizer":null,"momentum":0.99,"axis":3},"inbound_nodes":[[["convolution2d_69",0,0]]],"name":"batchnormalization_69"},{"class_name":"BatchNormalization","config":{"gamma_regularizer":null,"name":"batchnormalization_70","epsilon":1e-05,"trainable":true,"mode":0,"beta_regularizer":null,"momentum":0.99,"axis":3},"inbound_nodes":[[["convolution2d_70",0,0]]],"name":"batchnormalization_70"},{"class_name":"Merge","config":{"name":"mixed7","concat_axis":3,"mode_type":"raw","dot_axes":-1,"mode":"concat","output_shape":null,"output_shape_type":"raw"},"inbound_nodes":[[["batchnormalization_61",0,0],["batchnormalization_64",0,0],["batchnormalization_69",0,0],["batchnormalization_70",0,0]]],"name":"mixed7"},{"class_name":"Convolution2D","config":{"W_constraint":null,"b_constraint":null,"name":"convolution2d_73","activity_regularizer":null,"trainable":true,"dim_ordering":"tf","nb_col":1,"subsample":[1,1],"init":"glorot_uniform","bias":true,"nb_filter":192,"border_mode":"same","b_regularizer":null,"W_regularizer":null,"activation":"relu","nb_row":1},"inbound_nodes":[[["mixed7",0,0]]],"name":"convolution2d_73"},{"class_name":"BatchNormalization","config":{"gamma_regularizer":null,"name":"batchnormalization_73","epsilon":1e-05,"trainable":true,"mode":0,"beta_regularizer":null,"momentum":0.99,"axis":3},"inbound_nodes":[[["convolution2d_73",0,0]]],"name":"batchnormalization_73"},{"class_name":"Convolution2D","config":{"W_constraint":null,"b_constraint":null,"name":"convolution2d_74","activity_regularizer":null,"trainable":true,"dim_ordering":"tf","nb_col":7,"subsample":[1,1],"init":"glorot_uniform","bias":true,"nb_filter":192,"border_mode":"same","b_regularizer":null,"W_regularizer":null,"activation":"relu","nb_row":1},"inbound_nodes":[[["batchnormalization_73",0,0]]],"name":"convolution2d_74"},{"class_name":"BatchNormalization","config":{"gamma_regularizer":null,"name":"batchnormalization_74","epsilon":1e-05,"trainable":true,"mode":0,"beta_regularizer":null,"momentum":0.99,"axis":3},"inbound_nodes":[[["convolution2d_74",0,0]]],"name":"batchnormalization_74"},{"class_name":"Convolution2D","config":{"W_constraint":null,"b_constraint":null,"name":"convolution2d_71","activity_regularizer":null,"trainable":true,"dim_ordering":"tf","nb_col":1,"subsample":[1,1],"init":"glorot_uniform","bias":true,"nb_filter":192,"border_mode":"same","b_regularizer":null,"W_regularizer":null,"activation":"relu","nb_row":1},"inbound_nodes":[[["mixed7",0,0]]],"name":"convolution2d_71"},{"class_name":"Convolution2D","config":{"W_constraint":null,"b_constraint":null,"name":"convolution2d_75","activity_regularizer":null,"trainable":true,"dim_ordering":"tf","nb_col":1,"subsample":[1,1],"init":"glorot_uniform","bias":true,"nb_filter":192,"border_mode":"same","b_regularizer":null,"W_regularizer":null,"activation":"relu","nb_row":7},"inbound_nodes":[[["batchnormalization_74",0,0]]],"name":"convolution2d_75"},{"class_name":"BatchNormalization","config":{"gamma_regularizer":null,"name":"batchnormalization_71","epsilon":1e-05,"trainable":true,"mode":0,"beta_regularizer":null,"momentum":0.99,"axis":3},"inbound_nodes":[[["convolution2d_71",0,0]]],"name":"batchnormalization_71"},{"class_name":"BatchNormalization","config":{"gamma_regularizer":null,"name":"batchnormalization_75","epsilon":1e-05,"trainable":true,"mode":0,"beta_regularizer":null,"momentum":0.99,"axis":3},"inbound_nodes":[[["convolution2d_75",0,0]]],"name":"batchnormalization_75"},{"class_name":"Convolution2D","config":{"W_constraint":null,"b_constraint":null,"name":"convolution2d_72","activity_regularizer":null,"trainable":true,"dim_ordering":"tf","nb_col":3,"subsample":[2,2],"init":"glorot_uniform","bias":true,"nb_filter":320,"border_mode":"valid","b_regularizer":null,"W_regularizer":null,"activation":"relu","nb_row":3},"inbound_nodes":[[["batchnormalization_71",0,0]]],"name":"convolution2d_72"},{"class_name":"Convolution2D","config":{"W_constraint":null,"b_constraint":null,"name":"convolution2d_76","activity_regularizer":null,"trainable":true,"dim_ordering":"tf","nb_col":3,"subsample":[2,2],"init":"glorot_uniform","bias":true,"nb_filter":192,"border_mode":"valid","b_regularizer":null,"W_regularizer":null,"activation":"relu","nb_row":3},"inbound_nodes":[[["batchnormalization_75",0,0]]],"name":"convolution2d_76"},{"class_name":"BatchNormalization","config":{"gamma_regularizer":null,"name":"batchnormalization_72","epsilon":1e-05,"trainable":true,"mode":0,"beta_regularizer":null,"momentum":0.99,"axis":3},"inbound_nodes":[[["convolution2d_72",0,0]]],"name":"batchnormalization_72"},{"class_name":"BatchNormalization","config":{"gamma_regularizer":null,"name":"batchnormalization_76","epsilon":1e-05,"trainable":true,"mode":0,"beta_regularizer":null,"momentum":0.99,"axis":3},"inbound_nodes":[[["convolution2d_76",0,0]]],"name":"batchnormalization_76"},{"class_name":"AveragePooling2D","config":{"name":"averagepooling2d_8","trainable":true,"dim_ordering":"tf","pool_size":[3,3],"strides":[2,2],"border_mode":"valid"},"inbound_nodes":[[["mixed7",0,0]]],"name":"averagepooling2d_8"},{"class_name":"Merge","config":{"name":"mixed8","concat_axis":3,"mode_type":"raw","dot_axes":-1,"mode":"concat","output_shape":null,"output_shape_type":"raw"},"inbound_nodes":[[["batchnormalization_72",0,0],["batchnormalization_76",0,0],["averagepooling2d_8",0,0]]],"name":"mixed8"},{"class_name":"Convolution2D","config":{"W_constraint":null,"b_constraint":null,"name":"convolution2d_81","activity_regularizer":null,"trainable":true,"dim_ordering":"tf","nb_col":1,"subsample":[1,1],"init":"glorot_uniform","bias":true,"nb_filter":448,"border_mode":"same","b_regularizer":null,"W_regularizer":null,"activation":"relu","nb_row":1},"inbound_nodes":[[["mixed8",0,0]]],"name":"convolution2d_81"},{"class_name":"BatchNormalization","config":{"gamma_regularizer":null,"name":"batchnormalization_81","epsilon":1e-05,"trainable":true,"mode":0,"beta_regularizer":null,"momentum":0.99,"axis":3},"inbound_nodes":[[["convolution2d_81",0,0]]],"name":"batchnormalization_81"},{"class_name":"Convolution2D","config":{"W_constraint":null,"b_constraint":null,"name":"convolution2d_78","activity_regularizer":null,"trainable":true,"dim_ordering":"tf","nb_col":1,"subsample":[1,1],"init":"glorot_uniform","bias":true,"nb_filter":384,"border_mode":"same","b_regularizer":null,"W_regularizer":null,"activation":"relu","nb_row":1},"inbound_nodes":[[["mixed8",0,0]]],"name":"convolution2d_78"},{"class_name":"Convolution2D","config":{"W_constraint":null,"b_constraint":null,"name":"convolution2d_82","activity_regularizer":null,"trainable":true,"dim_ordering":"tf","nb_col":3,"subsample":[1,1],"init":"glorot_uniform","bias":true,"nb_filter":384,"border_mode":"same","b_regularizer":null,"W_regularizer":null,"activation":"relu","nb_row":3},"inbound_nodes":[[["batchnormalization_81",0,0]]],"name":"convolution2d_82"},{"class_name":"BatchNormalization","config":{"gamma_regularizer":null,"name":"batchnormalization_78","epsilon":1e-05,"trainable":true,"mode":0,"beta_regularizer":null,"momentum":0.99,"axis":3},"inbound_nodes":[[["convolution2d_78",0,0]]],"name":"batchnormalization_78"},{"class_name":"BatchNormalization","config":{"gamma_regularizer":null,"name":"batchnormalization_82","epsilon":1e-05,"trainable":true,"mode":0,"beta_regularizer":null,"momentum":0.99,"axis":3},"inbound_nodes":[[["convolution2d_82",0,0]]],"name":"batchnormalization_82"},{"class_name":"Convolution2D","config":{"W_constraint":null,"b_constraint":null,"name":"convolution2d_79","activity_regularizer":null,"trainable":true,"dim_ordering":"tf","nb_col":3,"subsample":[1,1],"init":"glorot_uniform","bias":true,"nb_filter":384,"border_mode":"same","b_regularizer":null,"W_regularizer":null,"activation":"relu","nb_row":1},"inbound_nodes":[[["batchnormalization_78",0,0]]],"name":"convolution2d_79"},{"class_name":"Convolution2D","config":{"W_constraint":null,"b_constraint":null,"name":"convolution2d_80","activity_regularizer":null,"trainable":true,"dim_ordering":"tf","nb_col":1,"subsample":[1,1],"init":"glorot_uniform","bias":true,"nb_filter":384,"border_mode":"same","b_regularizer":null,"W_regularizer":null,"activation":"relu","nb_row":3},"inbound_nodes":[[["batchnormalization_78",0,0]]],"name":"convolution2d_80"},{"class_name":"Convolution2D","config":{"W_constraint":null,"b_constraint":null,"name":"convolution2d_83","activity_regularizer":null,"trainable":true,"dim_ordering":"tf","nb_col":3,"subsample":[1,1],"init":"glorot_uniform","bias":true,"nb_filter":384,"border_mode":"same","b_regularizer":null,"W_regularizer":null,"activation":"relu","nb_row":1},"inbound_nodes":[[["batchnormalization_82",0,0]]],"name":"convolution2d_83"},{"class_name":"Convolution2D","config":{"W_constraint":null,"b_constraint":null,"name":"convolution2d_84","activity_regularizer":null,"trainable":true,"dim_ordering":"tf","nb_col":1,"subsample":[1,1],"init":"glorot_uniform","bias":true,"nb_filter":384,"border_mode":"same","b_regularizer":null,"W_regularizer":null,"activation":"relu","nb_row":3},"inbound_nodes":[[["batchnormalization_82",0,0]]],"name":"convolution2d_84"},{"class_name":"AveragePooling2D","config":{"name":"averagepooling2d_9","trainable":true,"dim_ordering":"tf","pool_size":[3,3],"strides":[1,1],"border_mode":"same"},"inbound_nodes":[[["mixed8",0,0]]],"name":"averagepooling2d_9"},{"class_name":"Convolution2D","config":{"W_constraint":null,"b_constraint":null,"name":"convolution2d_77","activity_regularizer":null,"trainable":true,"dim_ordering":"tf","nb_col":1,"subsample":[1,1],"init":"glorot_uniform","bias":true,"nb_filter":320,"border_mode":"same","b_regularizer":null,"W_regularizer":null,"activation":"relu","nb_row":1},"inbound_nodes":[[["mixed8",0,0]]],"name":"convolution2d_77"},{"class_name":"BatchNormalization","config":{"gamma_regularizer":null,"name":"batchnormalization_79","epsilon":1e-05,"trainable":true,"mode":0,"beta_regularizer":null,"momentum":0.99,"axis":3},"inbound_nodes":[[["convolution2d_79",0,0]]],"name":"batchnormalization_79"},{"class_name":"BatchNormalization","config":{"gamma_regularizer":null,"name":"batchnormalization_80","epsilon":1e-05,"trainable":true,"mode":0,"beta_regularizer":null,"momentum":0.99,"axis":3},"inbound_nodes":[[["convolution2d_80",0,0]]],"name":"batchnormalization_80"},{"class_name":"BatchNormalization","config":{"gamma_regularizer":null,"name":"batchnormalization_83","epsilon":1e-05,"trainable":true,"mode":0,"beta_regularizer":null,"momentum":0.99,"axis":3},"inbound_nodes":[[["convolution2d_83",0,0]]],"name":"batchnormalization_83"},{"class_name":"BatchNormalization","config":{"gamma_regularizer":null,"name":"batchnormalization_84","epsilon":1e-05,"trainable":true,"mode":0,"beta_regularizer":null,"momentum":0.99,"axis":3},"inbound_nodes":[[["convolution2d_84",0,0]]],"name":"batchnormalization_84"},{"class_name":"Convolution2D","config":{"W_constraint":null,"b_constraint":null,"name":"convolution2d_85","activity_regularizer":null,"trainable":true,"dim_ordering":"tf","nb_col":1,"subsample":[1,1],"init":"glorot_uniform","bias":true,"nb_filter":192,"border_mode":"same","b_regularizer":null,"W_regularizer":null,"activation":"relu","nb_row":1},"inbound_nodes":[[["averagepooling2d_9",0,0]]],"name":"convolution2d_85"},{"class_name":"BatchNormalization","config":{"gamma_regularizer":null,"name":"batchnormalization_77","epsilon":1e-05,"trainable":true,"mode":0,"beta_regularizer":null,"momentum":0.99,"axis":3},"inbound_nodes":[[["convolution2d_77",0,0]]],"name":"batchnormalization_77"},{"class_name":"Merge","config":{"name":"mixed9_0","concat_axis":3,"mode_type":"raw","dot_axes":-1,"mode":"concat","output_shape":null,"output_shape_type":"raw"},"inbound_nodes":[[["batchnormalization_79",0,0],["batchnormalization_80",0,0]]],"name":"mixed9_0"},{"class_name":"Merge","config":{"name":"merge_1","concat_axis":3,"mode_type":"raw","dot_axes":-1,"mode":"concat","output_shape":null,"output_shape_type":"raw"},"inbound_nodes":[[["batchnormalization_83",0,0],["batchnormalization_84",0,0]]],"name":"merge_1"},{"class_name":"BatchNormalization","config":{"gamma_regularizer":null,"name":"batchnormalization_85","epsilon":1e-05,"trainable":true,"mode":0,"beta_regularizer":null,"momentum":0.99,"axis":3},"inbound_nodes":[[["convolution2d_85",0,0]]],"name":"batchnormalization_85"},{"class_name":"Merge","config":{"name":"mixed9","concat_axis":3,"mode_type":"raw","dot_axes":-1,"mode":"concat","output_shape":null,"output_shape_type":"raw"},"inbound_nodes":[[["batchnormalization_77",0,0],["mixed9_0",0,0],["merge_1",0,0],["batchnormalization_85",0,0]]],"name":"mixed9"},{"class_name":"Convolution2D","config":{"W_constraint":null,"b_constraint":null,"name":"convolution2d_90","activity_regularizer":null,"trainable":true,"dim_ordering":"tf","nb_col":1,"subsample":[1,1],"init":"glorot_uniform","bias":true,"nb_filter":448,"border_mode":"same","b_regularizer":null,"W_regularizer":null,"activation":"relu","nb_row":1},"inbound_nodes":[[["mixed9",0,0]]],"name":"convolution2d_90"},{"class_name":"BatchNormalization","config":{"gamma_regularizer":null,"name":"batchnormalization_90","epsilon":1e-05,"trainable":true,"mode":0,"beta_regularizer":null,"momentum":0.99,"axis":3},"inbound_nodes":[[["convolution2d_90",0,0]]],"name":"batchnormalization_90"},{"class_name":"Convolution2D","config":{"W_constraint":null,"b_constraint":null,"name":"convolution2d_87","activity_regularizer":null,"trainable":true,"dim_ordering":"tf","nb_col":1,"subsample":[1,1],"init":"glorot_uniform","bias":true,"nb_filter":384,"border_mode":"same","b_regularizer":null,"W_regularizer":null,"activation":"relu","nb_row":1},"inbound_nodes":[[["mixed9",0,0]]],"name":"convolution2d_87"},{"class_name":"Convolution2D","config":{"W_constraint":null,"b_constraint":null,"name":"convolution2d_91","activity_regularizer":null,"trainable":true,"dim_ordering":"tf","nb_col":3,"subsample":[1,1],"init":"glorot_uniform","bias":true,"nb_filter":384,"border_mode":"same","b_regularizer":null,"W_regularizer":null,"activation":"relu","nb_row":3},"inbound_nodes":[[["batchnormalization_90",0,0]]],"name":"convolution2d_91"},{"class_name":"BatchNormalization","config":{"gamma_regularizer":null,"name":"batchnormalization_87","epsilon":1e-05,"trainable":true,"mode":0,"beta_regularizer":null,"momentum":0.99,"axis":3},"inbound_nodes":[[["convolution2d_87",0,0]]],"name":"batchnormalization_87"},{"class_name":"BatchNormalization","config":{"gamma_regularizer":null,"name":"batchnormalization_91","epsilon":1e-05,"trainable":true,"mode":0,"beta_regularizer":null,"momentum":0.99,"axis":3},"inbound_nodes":[[["convolution2d_91",0,0]]],"name":"batchnormalization_91"},{"class_name":"Convolution2D","config":{"W_constraint":null,"b_constraint":null,"name":"convolution2d_88","activity_regularizer":null,"trainable":true,"dim_ordering":"tf","nb_col":3,"subsample":[1,1],"init":"glorot_uniform","bias":true,"nb_filter":384,"border_mode":"same","b_regularizer":null,"W_regularizer":null,"activation":"relu","nb_row":1},"inbound_nodes":[[["batchnormalization_87",0,0]]],"name":"convolution2d_88"},{"class_name":"Convolution2D","config":{"W_constraint":null,"b_constraint":null,"name":"convolution2d_89","activity_regularizer":null,"trainable":true,"dim_ordering":"tf","nb_col":1,"subsample":[1,1],"init":"glorot_uniform","bias":true,"nb_filter":384,"border_mode":"same","b_regularizer":null,"W_regularizer":null,"activation":"relu","nb_row":3},"inbound_nodes":[[["batchnormalization_87",0,0]]],"name":"convolution2d_89"},{"class_name":"Convolution2D","config":{"W_constraint":null,"b_constraint":null,"name":"convolution2d_92","activity_regularizer":null,"trainable":true,"dim_ordering":"tf","nb_col":3,"subsample":[1,1],"init":"glorot_uniform","bias":true,"nb_filter":384,"border_mode":"same","b_regularizer":null,"W_regularizer":null,"activation":"relu","nb_row":1},"inbound_nodes":[[["batchnormalization_91",0,0]]],"name":"convolution2d_92"},{"class_name":"Convolution2D","config":{"W_constraint":null,"b_constraint":null,"name":"convolution2d_93","activity_regularizer":null,"trainable":true,"dim_ordering":"tf","nb_col":1,"subsample":[1,1],"init":"glorot_uniform","bias":true,"nb_filter":384,"border_mode":"same","b_regularizer":null,"W_regularizer":null,"activation":"relu","nb_row":3},"inbound_nodes":[[["batchnormalization_91",0,0]]],"name":"convolution2d_93"},{"class_name":"AveragePooling2D","config":{"name":"averagepooling2d_10","trainable":true,"dim_ordering":"tf","pool_size":[3,3],"strides":[1,1],"border_mode":"same"},"inbound_nodes":[[["mixed9",0,0]]],"name":"averagepooling2d_10"},{"class_name":"Convolution2D","config":{"W_constraint":null,"b_constraint":null,"name":"convolution2d_86","activity_regularizer":null,"trainable":true,"dim_ordering":"tf","nb_col":1,"subsample":[1,1],"init":"glorot_uniform","bias":true,"nb_filter":320,"border_mode":"same","b_regularizer":null,"W_regularizer":null,"activation":"relu","nb_row":1},"inbound_nodes":[[["mixed9",0,0]]],"name":"convolution2d_86"},{"class_name":"BatchNormalization","config":{"gamma_regularizer":null,"name":"batchnormalization_88","epsilon":1e-05,"trainable":true,"mode":0,"beta_regularizer":null,"momentum":0.99,"axis":3},"inbound_nodes":[[["convolution2d_88",0,0]]],"name":"batchnormalization_88"},{"class_name":"BatchNormalization","config":{"gamma_regularizer":null,"name":"batchnormalization_89","epsilon":1e-05,"trainable":true,"mode":0,"beta_regularizer":null,"momentum":0.99,"axis":3},"inbound_nodes":[[["convolution2d_89",0,0]]],"name":"batchnormalization_89"},{"class_name":"BatchNormalization","config":{"gamma_regularizer":null,"name":"batchnormalization_92","epsilon":1e-05,"trainable":true,"mode":0,"beta_regularizer":null,"momentum":0.99,"axis":3},"inbound_nodes":[[["convolution2d_92",0,0]]],"name":"batchnormalization_92"},{"class_name":"BatchNormalization","config":{"gamma_regularizer":null,"name":"batchnormalization_93","epsilon":1e-05,"trainable":true,"mode":0,"beta_regularizer":null,"momentum":0.99,"axis":3},"inbound_nodes":[[["convolution2d_93",0,0]]],"name":"batchnormalization_93"},{"class_name":"Convolution2D","config":{"W_constraint":null,"b_constraint":null,"name":"convolution2d_94","activity_regularizer":null,"trainable":true,"dim_ordering":"tf","nb_col":1,"subsample":[1,1],"init":"glorot_uniform","bias":true,"nb_filter":192,"border_mode":"same","b_regularizer":null,"W_regularizer":null,"activation":"relu","nb_row":1},"inbound_nodes":[[["averagepooling2d_10",0,0]]],"name":"convolution2d_94"},{"class_name":"BatchNormalization","config":{"gamma_regularizer":null,"name":"batchnormalization_86","epsilon":1e-05,"trainable":true,"mode":0,"beta_regularizer":null,"momentum":0.99,"axis":3},"inbound_nodes":[[["convolution2d_86",0,0]]],"name":"batchnormalization_86"},{"class_name":"Merge","config":{"name":"mixed9_1","concat_axis":3,"mode_type":"raw","dot_axes":-1,"mode":"concat","output_shape":null,"output_shape_type":"raw"},"inbound_nodes":[[["batchnormalization_88",0,0],["batchnormalization_89",0,0]]],"name":"mixed9_1"},{"class_name":"Merge","config":{"name":"merge_2","concat_axis":3,"mode_type":"raw","dot_axes":-1,"mode":"concat","output_shape":null,"output_shape_type":"raw"},"inbound_nodes":[[["batchnormalization_92",0,0],["batchnormalization_93",0,0]]],"name":"merge_2"},{"class_name":"BatchNormalization","config":{"gamma_regularizer":null,"name":"batchnormalization_94","epsilon":1e-05,"trainable":true,"mode":0,"beta_regularizer":null,"momentum":0.99,"axis":3},"inbound_nodes":[[["convolution2d_94",0,0]]],"name":"batchnormalization_94"},{"class_name":"Merge","config":{"name":"mixed10","concat_axis":3,"mode_type":"raw","dot_axes":-1,"mode":"concat","output_shape":null,"output_shape_type":"raw"},"inbound_nodes":[[["batchnormalization_86",0,0],["mixed9_1",0,0],["merge_2",0,0],["batchnormalization_94",0,0]]],"name":"mixed10"},{"class_name":"AveragePooling2D","config":{"name":"avg_pool","trainable":true,"dim_ordering":"tf","pool_size":[8,8],"strides":[8,8],"border_mode":"valid"},"inbound_nodes":[[["mixed10",0,0]]],"name":"avg_pool"},{"class_name":"Flatten","config":{"trainable":true,"name":"flatten"},"inbound_nodes":[[["avg_pool",0,0]]],"name":"flatten"},{"class_name":"Dense","config":{"W_constraint":null,"b_constraint":null,"name":"predictions","activity_regularizer":null,"trainable":true,"init":"glorot_uniform","bias":true,"input_dim":null,"b_regularizer":null,"W_regularizer":null,"activation":"softmax","output_dim":1000},"inbound_nodes":[[["flatten",0,0]]],"name":"predictions"}],"input_layers":[["input_1",0,0]],"output_layers":[["predictions",0,0]],"name":"model_1"}}
diff --git a/tika-dl/src/test/java/org/apache/tika/dl/imagerec/DL4JInceptionV3NetTest.java b/tika-dl/src/test/java/org/apache/tika/dl/imagerec/DL4JInceptionV3NetTest.java
index 5952a2a99..601b464b6 100644
--- a/tika-dl/src/test/java/org/apache/tika/dl/imagerec/DL4JInceptionV3NetTest.java
+++ b/tika-dl/src/test/java/org/apache/tika/dl/imagerec/DL4JInceptionV3NetTest.java
@@ -20,14 +20,11 @@
 
 import org.apache.tika.Tika;
 import org.apache.tika.config.TikaConfig;
-import org.apache.tika.exception.TikaConfigException;
 import org.apache.tika.metadata.Metadata;
-import org.junit.Ignore;
 import org.junit.Test;
 
 public class DL4JInceptionV3NetTest {
 
-    @Ignore("until we can fix the layer configuration exception")
     @Test
     public void recognise() throws Exception {
         TikaConfig config = null;
diff --git a/tika-dl/src/test/java/org/apache/tika/dl/imagerec/DL4JVGG16NetTest.java b/tika-dl/src/test/java/org/apache/tika/dl/imagerec/DL4JVGG16NetTest.java
index 955ba6d28..15a4c0e6b 100644
--- a/tika-dl/src/test/java/org/apache/tika/dl/imagerec/DL4JVGG16NetTest.java
+++ b/tika-dl/src/test/java/org/apache/tika/dl/imagerec/DL4JVGG16NetTest.java
@@ -20,7 +20,6 @@
 
 import org.apache.tika.Tika;
 import org.apache.tika.config.TikaConfig;
-import org.apache.tika.exception.TikaConfigException;
 import org.apache.tika.metadata.Metadata;
 import org.junit.Test;
 
diff --git a/tika-dl/src/test/resources/org/apache/tika/dl/imagerec/dl4j-inception3-config.xml b/tika-dl/src/test/resources/org/apache/tika/dl/imagerec/dl4j-inception3-config.xml
index 7cc297aef..27280638b 100644
--- a/tika-dl/src/test/resources/org/apache/tika/dl/imagerec/dl4j-inception3-config.xml
+++ b/tika-dl/src/test/resources/org/apache/tika/dl/imagerec/dl4j-inception3-config.xml
@@ -24,7 +24,8 @@
     <parser class="org.apache.tika.parser.recognition.ObjectRecognitionParser">
       <mime>image/jpeg</mime>
       <params>
-        <param name="modelWeightsPath" type="string">https://raw.githubusercontent.com/USCDataScience/dl4j-kerasimport-examples/98ec48b56a5b8fb7d54a2994ce9cb23bfefac821/dl4j-import-example/data/inception-model-weights.h5</param>
+        <param name="modelWeightsPath" type="string">https://github.com/USCDataScience/tika-dockers/releases/download/v0.2/inception_v3_keras_2.h5</param>
+        <param name="labelFile" type="string">https://github.com/USCDataScience/tika-dockers/releases/download/v0.2/imagenet_class_index.json</param>
         <param name="topN" type="int">10</param>
         <param name="minConfidence" type="double">0.015</param>
         <param name="class" type="string">org.apache.tika.dl.imagerec.DL4JInceptionV3Net</param>
diff --git a/tika-parsers/pom.xml b/tika-parsers/pom.xml
index 2706ba8a5..e67609e73 100644
--- a/tika-parsers/pom.xml
+++ b/tika-parsers/pom.xml
@@ -452,6 +452,12 @@
           <groupId>org.jdom</groupId>
           <artifactId>jdom2</artifactId>
         </exclusion>
+        <!--TIKA 2672 exclude jna to resolve the dependency convergence with tika-dl's
+        deeplearning4j-nn:1.0.0-SNAPSHOT-->
+        <exclusion>
+          <groupId>net.java.dev.jna</groupId>
+          <artifactId>jna</artifactId>
+        </exclusion>
       </exclusions>
     </dependency>
     <dependency>
@@ -473,6 +479,14 @@
         </exclusion>
       </exclusions>
     </dependency>
+    <!--TIKA 2672 include a later version of jna as a direct dependency to resolve dependency convergence with tika-dl's
+    deeplearning4j-nn:1.0.0-SNAPSHOT -->
+    <dependency>
+      <groupId>net.java.dev.jna</groupId>
+      <artifactId>jna</artifactId>
+      <version>4.3.0</version>
+    </dependency>
+
     <!-- grib's current jsoup is vulnerable to xss
          exclude and import a more modern version TIKA-2561-->
     <dependency>


 

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[hidden email]


> Upgrade dl4j to 1.0.0-beta
> --------------------------
>
>                 Key: TIKA-2672
>                 URL: https://issues.apache.org/jira/browse/TIKA-2672
>             Project: Tika
>          Issue Type: Task
>            Reporter: Tim Allison
>            Priority: Major
>         Attachments: TIKA-2672.patch
>
>
> Let's try to upgrade dl4j.  I think I got us most of the way there, but I got this error when reading the json config file.  Can someone with more knowledge of layer specs help ([~thammegowda], perhaps :))?
> {noformat}
> org.deeplearning4j.exception.DL4JInvalidConfigException: Invalid configuration for layer (idx=-1, name=convolution2d_2, type=ConvolutionLayer) for width dimension:  Invalid input configuration for kernel width. Require 0 < kW <= inWidth + 2*padW; got (kW=3, inWidth=1, padW=0)
> Input type = InputTypeConvolutional(h=149,w=1,c=32), kernel = [3, 3], strides = [1, 1], padding = [0, 0], layer size (output channels) = 32, convolution mode = Truncate
> {noformat}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)