class_docstr: Mixin abstract base class defining additional functionality required for neural network estimators. This base class
  has to be mixed in with class `BaseEstimator`.
class_docstr_tok: ["Mixin","abstract","base","class","defining","additional","functionality","required","for","neural","network","estimators",".","This","base","class","has","to","be","mixed","in","with","class","`","BaseEstimator","`","."]
docstr: Return the names of the hidden layers in the model, if applicable.
  
  :return: The names of the hidden layers in the model, input and output layers are ignored.
  
  .. warning:: `layer_names` tries to infer the internal structure of the model.
               This feature comes with no guarantees on the correctness of the result.
               The intended order of the layers tries to match their order in the model, but this is not
               guaranteed either.
code: def layer_names(self) -> Optional[List[str]]:
      """
      Return the names of the hidden layers in the model, if applicable.
  
      :return: The names of the hidden layers in the model, input and output layers are ignored.
  
      .. warning:: `layer_names` tries to infer the internal structure of the model.
                   This feature comes with no guarantees on the correctness of the result.
                   The intended order of the layers tries to match their order in the model, but this is not
                   guaranteed either.
      """
      return self._layer_names
  
imports: from abc import ABC, abstractmethod
  from typing import Any, Dict, List, Optional, Tuple, Union, TYPE_CHECKING
  import numpy
  from tqdm.auto import trange
  from art.config import ART_NUMPY_DTYPE
label_desc: Use image node_id 7 for calling the NeuralNetworkMixin obj's underlying member method code with example usage: obj.layer_names() and returns: self