   throws an exception if unable to parse."
   [out-name]
   (let [parts (string/split out-name #"_")]
-    (if (= (count parts) 2)
+    (if (= (count parts) 4)
       {:index (Long/parseLong (parts 1))
-       :layer-type (keyword (parts 0))}
+       :layer-type (keyword (parts 3))}
       (throw (ex-info "Expected format 'layertype_index' where index is an unsigned integer."
                 {:cause      :bad-layer-name
                  :layer-name out-name

                      {:cause :missing-output
                       :layer lyr-map})))))
        desc-seq))

(defn- check-output-dims
  "Given a mapping of vector tuples of built layer descriptions and output weights,

                      (double-array (vec (repeat (reduce * input-shape) 1.0))))
          input (to-core-matrix file-data input-shape)
          layer-outputs (->> (layer-output->ordered-data (:layer_outputs file-child-map))
                             (ordered-layer-outputs (drop 1 built-description))
                             (mapv reshape-layer-outputs))

          type-map (vec (map vector
