MCPcopy
hub / github.com/tensorflow/tfjs / fromConfig

Method fromConfig

tfjs-layers/src/models.ts:1006–1046  ·  view source on GitHub ↗

@nocollapse

(
      cls: serialization.SerializableConstructor<T>,
      config: serialization.ConfigDict,
      customObjects = {} as serialization.ConfigDict,
      fastWeightInit = false)

Source from the content-addressed store, hash-verified

1004 /* See parent class for JsDoc */
1005 /** @nocollapse */
1006 static override fromConfig<T extends serialization.Serializable>(
1007 cls: serialization.SerializableConstructor<T>,
1008 config: serialization.ConfigDict,
1009 customObjects = {} as serialization.ConfigDict,
1010 fastWeightInit = false): T {
1011 let configArray: serialization.ConfigDictArray;
1012 let extraModelConfig: serialization.ConfigDict = {};
1013 if (config instanceof Array) {
1014 if (!(config[0].className != null) ||
1015 config[0]['className'] === 'Merge') {
1016 throw new ValueError('Legacy serialization format not supported yet.');
1017 }
1018 configArray = config;
1019 } else {
1020 util.assert(
1021 config['layers'] != null,
1022 () =>
1023 `When the config data for a Sequential model is not an Array, ` +
1024 `it must be an Object that contains the 'layers' field.`);
1025 configArray = config['layers'] as serialization.ConfigDictArray;
1026 delete config['layers'];
1027 extraModelConfig = config;
1028 }
1029
1030 const model = new cls(extraModelConfig);
1031 if (!(model instanceof Sequential)) {
1032 throw new NotImplementedError(
1033 `Sequential.fromConfig called on non-Sequential input: ${model}`);
1034 }
1035 for (const conf of configArray) {
1036 const customObjects: serialization.ConfigDict = undefined;
1037 const layer = deserialize(
1038 conf as serialization.ConfigDict, customObjects,
1039 fastWeightInit) as Layer;
1040 if (fastWeightInit) {
1041 layer.setFastWeightInitDuringBuild(true);
1042 }
1043 model.add(layer);
1044 }
1045 return model;
1046 }
1047
1048 /**
1049 * Setter used for force stopping of LayersModel.fit() (i.e., training).

Callers

nothing calls this directly

Calls 3

deserializeFunction · 0.90
addMethod · 0.65

Tested by

no test coverage detected