为了账号安全,请及时绑定邮箱和手机立即绑定

CV_8U类型和大小<数 _of_variables_in_samples>

CV_8U类型和大小<数 _of_variables_in_samples>

C#
墨色风雨 2022-08-20 17:20:16
我正在尝试在EmguCV中加载TrainData,并且对于数字数据,一切都很好,而无需指定varType参数。我想加载 TrainData,以便所有输入都是数字,所有标签都是分类的。要将数据类型指定为数字或分类 Emgucv,请使用 Enum EmguCV.ML.MlEnum.varType.Numeric 或 .在目前情况下我无法使用的分类。using (TrainData td = new TrainData(trainData, Emgu.CV.ML.MlEnum.DataLayoutType.RowSample,trainClasses,null,null,null,?))            {                nnet.SetLayerSizes(layerSizeMat);                nnet.SetActivationFunction(ANN_MLP.AnnMlpActivationFunction.SigmoidSym, 0.6, 1);                nnet.TermCriteria = new MCvTermCriteria(430, 1.0e-8);                nnet.SetTrainMethod(ANN_MLP.AnnMlpTrainMethod.Backprop, 0.3, 0);                try                {                    nnet.Train(td, (int)Emgu.CV.ML.MlEnum.AnnMlpTrainingFlag.Default);                    Console.WriteLine("Training Completed Successfully....");                }                catch (Exception e)                {                    Console.WriteLine("Training Error:" + e.Message);                }            }它需要类型为 CV_8U 和 size + 的可选向量,其中包含每个输入和输出变量的类型。有人可以解释一下上面行的含义,以及如何在EmguCv C#中创建CV_8U类型的向量。以 MNIST 数据集为例,该数据集包含 784 个输入列和 1 个输出列,其中包含 10 个分类值。谢谢
查看完整描述

1 回答

?
德玛西亚99

TA贡献1770条经验 获得超3个赞

Emgucv Github Repository AutoTestML.cs有一个测试用例,解释了需要什么。以下是代码片段:


Matrix<Byte> varType = new Matrix<byte>(data.Cols + 1, 1);

varType.SetValue((byte) MlEnum.VarType.Numerical); //the data is numerical

varType[data.Cols, 0] = (byte) MlEnum.VarType.Categorical; //the response is catagorical

// .....

using (TrainData td = new TrainData(data, MlEnum.DataLayoutType.RowSample, response, null, null, null, varType))



查看完整回答
反对 回复 2022-08-20
  • 1 回答
  • 0 关注
  • 87 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信