Skip to content

Making IDataView TrainingData inside LearnerInputBase internal. #2079

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
abgoswam opened this issue Jan 8, 2019 · 2 comments
Closed

Making IDataView TrainingData inside LearnerInputBase internal. #2079

abgoswam opened this issue Jan 8, 2019 · 2 comments
Assignees

Comments

@abgoswam
Copy link
Member

abgoswam commented Jan 8, 2019

One of the fields in the Arguments class for FastTree is public IDataView TrainingData

[TlcModule.EntryPointKind(typeof(CommonInputs.ITrainerInput))]
public abstract class LearnerInputBase
{
[Argument(ArgumentType.Required, ShortName = "data", HelpText = "The data to be used for training", SortOrder = 1, Visibility = ArgumentAttribute.VisibilityType.EntryPointsOnly)]
public IDataView TrainingData;

This is currently being used by the Entrypoint infrastructure. We should consider making this field internal

However, this needs to be done with caution.

Here is explanation by @TomFinley :

" Anything relating to entry-points specifically should be internal, but we must do so carefully, since currently entry-points and command line processing relies on processing of fields which is currently done on public fields only, whereas it should be over public or internal fields. Once that is done, any fields that are relevant to entry-points only should be internal.

(This is a problem for all the settings objects, that they are exposing things that should not be in the public API in some cases. (Indeed entry-points will need a lot of work to make them work for estimators and transformers. Estimator graphs are sort of a "lightweight" estimator chain as they stand right now that performs absolutely no validation. But for now, anything relating to entry-points should just be hidden.)

@TomFinley @artidoro

@abgoswam abgoswam changed the title Making IDataView TrainingData internal. Making IDataView TrainingData inside LearnerInputBase internal. Jan 8, 2019
@TomFinley
Copy link
Contributor

TomFinley commented Jan 9, 2019

Closely related to #2041 in terms of the issues of the internal fields on the Options/Arguments objects, though for a different final goal.

@artidoro
Copy link
Contributor

This issue has been resolved by #2300 .

@ghost ghost locked as resolved and limited conversation to collaborators Mar 25, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants