Skip to content

Microsoft.ML.Model cleanup and internalization #2640

@TomFinley

Description

@TomFinley

Inside the core assembly is a namespace named Microsoft.ML.Model, dealing with the mechanisms by which we load and save models through ML.NET. This code is infrastructure, and while essential, needn't necessarily be exposed outside of ML.NET yet. This is well, because while we have no time to change it, there is some idiosyncratic behavior we may want to

The most difficult part of this will be ICanSaveModel. It must be public, pursuant to discussion in #2336, which means that the class ModelSaveContext must itself be public. But it needn't necessarily follow that the members of ModelSaveContext be public. (This is similar to how IHostEnvironment must be public, and so ComponentCatalog must be public too, but almost nothing about the class itself is exposed.) Much of the remaining types can merely be directly internalized, e.g., repositories, version info, etc.

This deals with API public surface area in a core assembly so much be completed prior to v1.

Metadata

Metadata

Assignees

Labels

APIIssues pertaining the friendly API

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions