dotnet / dotnet/machinelearning

Cannot access internal method 'MLContext.CancelExecution()'

Open
#6,775 8 comments 0 reactions 1 assignee Claimed by @rosebyte View on GitHub
area-Core untriaged
Dominant language
C#
Stars
9.4k
Forks
2k
Avg merge
2d 20h
Merged PRs (30d)
11

Description

I have a memory leak issue, and find this similar issue, but `CancelExecution` in internal.

[BestFriend]
internal void CancelExecution() => ((ICancelable) this._env).CancelExecution();

full code

MLContext context = new MLContext();
bool useGpu = false;
OnnxScoringEstimator pipeline = context.Transforms.ApplyOnnxModel(
modelFile: _modelInfo.ModelPath,
shapeDictionary: shape.ToDictionary(),
inputColumnNames: new[] { ColumnNames.Input.InputIds, ColumnNames.Input.AttentionMask, },
outputColumnNames: new[] { ColumnNames.Output.LastHiddenState, },
gpuDeviceId: useGpu ? 0 : (int?)null,
fallbackToCpu: true
);

var inputSchemaDef = ToInputSchemaDefinition(shape);
var trainingDataView = context.Data.LoadFromEnumerable(new List() { }, inputSchemaDef);
using var transformer = pipeline.Fit(trainingDataView);

var outputSchemaDef = ToOutputSchemaDefinition(shape);
using var predictionEngine = context.Model.CreatePredictionEngine(transformer, inputSchemaDefinition: inputSchemaDef, outputSchemaDefinition: outputSchemaDef);
var predictionResult = predictionEngine.Predict(inputData);

@fischja It could be the last trial still running even after automl experiment times out, could you try cancelling context and run again

```csharp
for (int i = 0; i < 5; i++)
{
MLContext ml = new MLContext();

List trainingDataList = Enumerable.Range(0, 10000).Select(x => new MyData()).ToList();
IDataView trainingData = ml.Data.LoadFromEnumerable(trainingDataList);

var result = ml
.Auto()
.CreateRegressionExperiment(maxExperimentTimeInSeconds: 20)
.Execute(trainData: trainingData, numberOfCVFolds: 3, labelColumnName: "Y");

ml.CancelExecution();
}
```

_Originally posted by @LittleLittleCloud in https://github.com/dotnet/machinelearning/issues/6188#issuecomment-1121407624_

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.