summaryrefslogtreecommitdiffstats
path: root/config-model/src/main/java/com/yahoo/schema/derived/FileDistributedOnnxModels.java
diff options
context:
space:
mode:
Diffstat (limited to 'config-model/src/main/java/com/yahoo/schema/derived/FileDistributedOnnxModels.java')
-rw-r--r--config-model/src/main/java/com/yahoo/schema/derived/FileDistributedOnnxModels.java10
1 files changed, 10 insertions, 0 deletions
diff --git a/config-model/src/main/java/com/yahoo/schema/derived/FileDistributedOnnxModels.java b/config-model/src/main/java/com/yahoo/schema/derived/FileDistributedOnnxModels.java
index e3c697e3262..c3fa6aedf31 100644
--- a/config-model/src/main/java/com/yahoo/schema/derived/FileDistributedOnnxModels.java
+++ b/config-model/src/main/java/com/yahoo/schema/derived/FileDistributedOnnxModels.java
@@ -35,6 +35,16 @@ public class FileDistributedOnnxModels extends Derived implements OnnxModelsConf
this.models = Collections.unmodifiableMap(distributableModels);
}
+ private FileDistributedOnnxModels(Collection<OnnxModel> models) {
+ Map<String, OnnxModel> distributableModels = models.stream()
+ .collect(LinkedHashMap::new, (m, v) -> m.put(v.getName(), v.clone()), LinkedHashMap::putAll);
+ this.models = Collections.unmodifiableMap(distributableModels);
+ }
+
+ public FileDistributedOnnxModels clone() {
+ return new FileDistributedOnnxModels(models.values());
+ }
+
public Map<String, OnnxModel> asMap() { return models; }
public void getConfig(OnnxModelsConfig.Builder builder) {