System.InvalidOperationException : 异步操作未完成
System.InvalidOperationException : The asynchronous operation has not completed
在 Ml.net 中安装导致异常的管道。 Fit
不是可等待的,我很困惑为什么会这样。任何帮助都是可观的
var model = pipeline.Fit(dataView);
堆栈跟踪
at
System.Threading.Channels.AsyncOperation.ThrowIncompleteOperationException()
at System.Threading.Channels.AsyncOperation1.GetResult(Int16 token) at Microsoft.ML.Transforms.RowShufflingTransformer.Cursor.MoveNextCore() at Microsoft.ML.Data.RootCursorBase.MoveNext() at Microsoft.ML.Trainers.TrainingCursorBase.MoveNext() at Microsoft.ML.Trainers.SdcaTrainerBase
3.TrainCore(IChannel ch,
RoleMappedData data, LinearModelParameters predictor, Int32
weightSetCount) at
Microsoft.ML.Trainers.StochasticTrainerBase2.TrainModelCore(TrainContext context) at Microsoft.ML.Trainers.TrainerEstimatorBase
2.TrainTransformer(IDataView
trainSet, IDataView validationSet, IPredictor initPredictor) at
Microsoft.ML.Trainers.TrainerEstimatorBase2.Fit(IDataView input) at Microsoft.ML.Data.EstimatorChain
1.Fit(IDataView input) at
ML.DetectFakeJobPosts.Analyzer.Train() in
D:\Sources\code-everything\CodeItHere\ML.DetectFakeJobPosts\Program.cs:line
75 at ML.DetectFakeJobPosts.Program.Main(String[] args) in
D:\Sources\code-everything\CodeItHere\ML.DetectFakeJobPosts\Program.cs:line
13
流水线
var pipeline = _context.Transforms.Categorical.OneHotEncoding("ec_title", "title")
.Append(_context.Transforms.Categorical.OneHotEncoding("ec_location", "location"))
.Append(_context.Transforms.Categorical.OneHotEncoding("ec_department", "department"))
.Append(_context.Transforms.Categorical.OneHotEncoding("ec_salary_range", "salary_range"))
.Append(_context.Transforms.Text.FeaturizeText("ec_company_profile", "company_profile"))
.Append(_context.Transforms.Text.FeaturizeText("ec_description", "description"))
.Append(_context.Transforms.Text.FeaturizeText("ec_requirements", "requirements"))
.Append(_context.Transforms.Text.FeaturizeText("ec_benefits", "benefits"))
.Append(_context.Transforms.Categorical.OneHotEncoding("ec_employment_type", "employment_type"))
.Append(_context.Transforms.Categorical.OneHotEncoding("ec_required_experience", "required_experience"))
.Append(_context.Transforms.Categorical.OneHotEncoding("ec_required_education", "required_education"))
.Append(_context.Transforms.Categorical.OneHotEncoding("ec_industry", "industry"))
.Append(_context.Transforms.Categorical.OneHotEncoding("ec_function", "function"))
//drop unnecessary columns from view
.Append(_context.Transforms.DropColumns("title", "location", "department", "salary_range", "company_profile", "description", "requirements", "benefits", "employment_type", "required_experience", "required_education", "industry", "function", "telecommuting", "has_company_logo", "has_questions"))
//concate features
.Append(_context.Transforms.Concatenate("Features", "ec_title", "ec_location", "ec_department", "ec_salary_range", "ec_company_profile", "ec_description", "ec_requirements", "ec_benefits", "ec_employment_type", "ec_required_experience", "ec_required_education", "ec_industry", "ec_function"))
//set label/prediction column
.Append(_context.Transforms.Conversion.ConvertType("Label", "fraudulent", DataKind.Boolean))
//select a trainer
.Append(_context.BinaryClassification.Trainers.SdcaLogisticRegression());
版本
Ml.net : 1.5.1
Core : 3.1
此问题来自 PR I made to update part of the code to use Channels。事实证明,在我们检查导致错误的结果之前,并不总是保证完成异步调用。
目前在 daily NuGet feed 中有针对此问题的修复,以便在 1.5.2 版本正式发布之前获取最新的每日构建。
在 Ml.net 中安装导致异常的管道。 Fit
不是可等待的,我很困惑为什么会这样。任何帮助都是可观的
var model = pipeline.Fit(dataView);
堆栈跟踪
at System.Threading.Channels.AsyncOperation.ThrowIncompleteOperationException() at System.Threading.Channels.AsyncOperation
1.GetResult(Int16 token) at Microsoft.ML.Transforms.RowShufflingTransformer.Cursor.MoveNextCore() at Microsoft.ML.Data.RootCursorBase.MoveNext() at Microsoft.ML.Trainers.TrainingCursorBase.MoveNext() at Microsoft.ML.Trainers.SdcaTrainerBase
3.TrainCore(IChannel ch, RoleMappedData data, LinearModelParameters predictor, Int32 weightSetCount) at Microsoft.ML.Trainers.StochasticTrainerBase2.TrainModelCore(TrainContext context) at Microsoft.ML.Trainers.TrainerEstimatorBase
2.TrainTransformer(IDataView trainSet, IDataView validationSet, IPredictor initPredictor) at Microsoft.ML.Trainers.TrainerEstimatorBase2.Fit(IDataView input) at Microsoft.ML.Data.EstimatorChain
1.Fit(IDataView input) at ML.DetectFakeJobPosts.Analyzer.Train() in D:\Sources\code-everything\CodeItHere\ML.DetectFakeJobPosts\Program.cs:line 75 at ML.DetectFakeJobPosts.Program.Main(String[] args) in D:\Sources\code-everything\CodeItHere\ML.DetectFakeJobPosts\Program.cs:line 13
流水线
var pipeline = _context.Transforms.Categorical.OneHotEncoding("ec_title", "title")
.Append(_context.Transforms.Categorical.OneHotEncoding("ec_location", "location"))
.Append(_context.Transforms.Categorical.OneHotEncoding("ec_department", "department"))
.Append(_context.Transforms.Categorical.OneHotEncoding("ec_salary_range", "salary_range"))
.Append(_context.Transforms.Text.FeaturizeText("ec_company_profile", "company_profile"))
.Append(_context.Transforms.Text.FeaturizeText("ec_description", "description"))
.Append(_context.Transforms.Text.FeaturizeText("ec_requirements", "requirements"))
.Append(_context.Transforms.Text.FeaturizeText("ec_benefits", "benefits"))
.Append(_context.Transforms.Categorical.OneHotEncoding("ec_employment_type", "employment_type"))
.Append(_context.Transforms.Categorical.OneHotEncoding("ec_required_experience", "required_experience"))
.Append(_context.Transforms.Categorical.OneHotEncoding("ec_required_education", "required_education"))
.Append(_context.Transforms.Categorical.OneHotEncoding("ec_industry", "industry"))
.Append(_context.Transforms.Categorical.OneHotEncoding("ec_function", "function"))
//drop unnecessary columns from view
.Append(_context.Transforms.DropColumns("title", "location", "department", "salary_range", "company_profile", "description", "requirements", "benefits", "employment_type", "required_experience", "required_education", "industry", "function", "telecommuting", "has_company_logo", "has_questions"))
//concate features
.Append(_context.Transforms.Concatenate("Features", "ec_title", "ec_location", "ec_department", "ec_salary_range", "ec_company_profile", "ec_description", "ec_requirements", "ec_benefits", "ec_employment_type", "ec_required_experience", "ec_required_education", "ec_industry", "ec_function"))
//set label/prediction column
.Append(_context.Transforms.Conversion.ConvertType("Label", "fraudulent", DataKind.Boolean))
//select a trainer
.Append(_context.BinaryClassification.Trainers.SdcaLogisticRegression());
版本
Ml.net : 1.5.1
Core : 3.1
此问题来自 PR I made to update part of the code to use Channels。事实证明,在我们检查导致错误的结果之前,并不总是保证完成异步调用。
目前在 daily NuGet feed 中有针对此问题的修复,以便在 1.5.2 版本正式发布之前获取最新的每日构建。