The docs show you the attributes in use.
Attributes:
...
coefs_
: list, length n_layers - 1
The ith element in the list represents the weight matrix corresponding to > layer i.
intercepts_
: list, length n_layers - 1
The ith element in the list represents the bias vector corresponding to layer > i + 1.
Just build your classifier clf=MLPClassifier(solver="sgd")
and set coefs_
and intercepts_
before calling clf.fit()
.
The only remaining question is: does sklearn overwrite your inits?
The code looks like:
if not hasattr(self, 'coefs_') or (not self.warm_start and not
incremental):
# First time training the model
self._initialize(y, layer_units)
This looks to me like it won't replace your given coefs_
(you might check biases too).
The packing and unpacking functions further indicates that this should be possible. These are probably used for serialization through pickle internally.