Set the layer parameters from a dictionary of values. Parameters ---------- summary_dict : dict A dictionary of layer parameters and hyperparameters. If a required parameter or hyperparameter is not included within `summary_dict`,
(self, summary_dict)
| 86 | self.flush_gradients() |
| 87 | |
| 88 | def set_params(self, summary_dict): |
| 89 | """ |
| 90 | Set the layer parameters from a dictionary of values. |
| 91 | |
| 92 | Parameters |
| 93 | ---------- |
| 94 | summary_dict : dict |
| 95 | A dictionary of layer parameters and hyperparameters. If a required |
| 96 | parameter or hyperparameter is not included within `summary_dict`, |
| 97 | this method will use the value in the current layer's |
| 98 | :meth:`summary` method. |
| 99 | |
| 100 | Returns |
| 101 | ------- |
| 102 | layer : :doc:`Layer <numpy_ml.neural_nets.layers>` object |
| 103 | The newly-initialized layer. |
| 104 | """ |
| 105 | layer, sd = self, summary_dict |
| 106 | |
| 107 | # collapse `parameters` and `hyperparameters` nested dicts into a single |
| 108 | # merged dictionary |
| 109 | flatten_keys = ["parameters", "hyperparameters"] |
| 110 | for k in flatten_keys: |
| 111 | if k in sd: |
| 112 | entry = sd[k] |
| 113 | sd.update(entry) |
| 114 | del sd[k] |
| 115 | |
| 116 | for k, v in sd.items(): |
| 117 | if k in self.parameters: |
| 118 | layer.parameters[k] = v |
| 119 | if k in self.hyperparameters: |
| 120 | if k == "act_fn": |
| 121 | layer.act_fn = ActivationInitializer(v)() |
| 122 | elif k == "optimizer": |
| 123 | layer.optimizer = OptimizerInitializer(sd[k])() |
| 124 | elif k == "wrappers": |
| 125 | layer = init_wrappers(layer, sd[k]) |
| 126 | elif k not in ["wrappers", "optimizer"]: |
| 127 | setattr(layer, k, v) |
| 128 | return layer |
| 129 | |
| 130 | def summary(self): |
| 131 | """Return a dict of the layer parameters, hyperparameters, and ID.""" |
nothing calls this directly
no test coverage detected