docstr: Creates a dictionaries of layer dimensions for weights and biases.
  
  For example, given
  `n_features=10`, `n_classes=10`, and `hidden_layers=[8, 7, 6]`:
  
  biases =
     {1: [[8], 'n_hidden_1'],
      2: [[7], 'n_hidden_2'],
      3: [[6], 'n_hidden_3'],
     'out': [[10], 'n_classes']
     }
  
  weights =
     {1: [[10, 8], 'n_features, n_hidden_1'],
      2: [[8, 7], 'n_hidden_1, n_hidden_2'],
      3: [[7, 6], 'n_hidden_2, n_hidden_3'],
      'out': [[6, 10], 'n_hidden_3, n_classes']
      }
docstr_tok: ["Creates","a","dictionaries","of","layer","dimensions","for","weights","and","biases",".","For","example",",","given","`","n_features=10","`",",","`","n_classes=10","`",",","and","`","hidden_layers=","[","8",",","7",",","6","]","`",":","biases","=","{","1",":","[","[","8","]",",","'n_hidden_1","'","]",",","2",":","[","[","7","]",",","'n_hidden_2","'","]",",","3",":","[","[","6","]",",","'n_hidden_3","'","]",",","'out","'",":","[","[","10","]",",","'n_classes","'","]","}","weights","=","{","1",":","[","[","10",",","8","]",",","'n_features",",","n_hidden_1","'","]",",","2",":","[","[","8",",","7","]",",","'n_hidden_1",",","n_hidden_2","'","]",",","3",":","[","[","7",",","6","]",",","'n_hidden_2",",","n_hidden_3","'","]",",","'out","'",":","[","[","6",",","10","]",",","'n_hidden_3",",","n_classes","'","]","}"]
code: def _layermapping(self, n_features, n_classes, hidden_layers):
      """Creates a dictionaries of layer dimensions for weights and biases.
  
      For example, given
      `n_features=10`, `n_classes=10`, and `hidden_layers=[8, 7, 6]`:
  
      biases =
         {1: [[8], 'n_hidden_1'],
          2: [[7], 'n_hidden_2'],
          3: [[6], 'n_hidden_3'],
         'out': [[10], 'n_classes']
         }
  
      weights =
         {1: [[10, 8], 'n_features, n_hidden_1'],
          2: [[8, 7], 'n_hidden_1, n_hidden_2'],
          3: [[7, 6], 'n_hidden_2, n_hidden_3'],
          'out': [[6, 10], 'n_hidden_3, n_classes']
          }
  
      """
      weights = {
          "1": [
              [n_features, hidden_layers[0]],
              "n_features, n_hidden_1",
          ],
          "out": [
              [hidden_layers[-1], n_classes],
              "n_hidden_%d, n_classes" % len(hidden_layers),
          ],
      }
      biases = {
          "1": [[hidden_layers[0]], "n_hidden_1"],
          "out": [[n_classes], "n_classes"],
      }
  
      if len(hidden_layers) > 1:
          for i, h in enumerate(hidden_layers[1:]):
              layer = i + 2
              weights[str(layer)] = [
                  [weights[str(layer - 1)][0][1], h],
                  "n_hidden_%d, n_hidden_%d" % (layer - 1, layer),
              ]
              biases[str(layer)] = [[h], "n_hidden_%d" % layer]
      return weights, biases
  
imports: import numpy
label_desc: Use image node_id 2 for calling the _MultiLayer obj's underlying member method code with example usage: obj._layermapping(n_features, n_classes, hidden_layers) and returns: weights,  biases