/// <summary> /// Constructor /// </summary> /// <param name="env">environment</param> /// <param name="modelStream">stream</param> /// <param name="output">name of the output column</param> /// <param name="outputIsFloat">output is a gloat (true) or a vector of floats (false)</param> /// <param name="conc">number of concurrency threads</param> /// <param name="features">features name</param> public ValueMapperPredictionEngineFloat(IHostEnvironment env, Stream modelStream, string output = "Probability", bool outputIsFloat = true, int conc = 1, string features = "Features") { _env = env; if (_env == null) { throw Contracts.Except("env must not be null"); } var inputs = new FloatVectorInput[0]; var view = ComponentCreation.CreateStreamingDataView <FloatVectorInput>(_env, inputs); long modelPosition = modelStream.Position; _predictor = ComponentCreation.LoadPredictorOrNull(_env, modelStream); if (_predictor == null) { throw _env.Except("Unable to load a model."); } modelStream.Seek(modelPosition, SeekOrigin.Begin); _transforms = ComponentCreation.LoadTransforms(_env, modelStream, view); if (_transforms == null) { throw _env.Except("Unable to load a model."); } var data = _env.CreateExamples(_transforms, features); if (data == null) { throw _env.Except("Cannot create rows."); } var scorer = _env.CreateDefaultScorer(data, _predictor); if (scorer == null) { throw _env.Except("Cannot create a scorer."); } _valueMapper = new ValueMapperFromTransformFloat <VBuffer <float> >(_env, scorer, features, output, conc: conc); if (_valueMapper == null) { throw _env.Except("Cannot create a mapper."); } if (outputIsFloat) { _mapper = _valueMapper.GetMapper <VBuffer <float>, float>(); _mapperVector = null; } else { _mapper = null; _mapperVector = _valueMapper.GetMapper <VBuffer <float>, VBuffer <float> >(); } }
public ValueMapperExample(string modelName, string features) { _env = EnvHelper.NewTestEnvironment(); _predictor = _env.LoadPredictorOrNull(File.OpenRead(modelName)); var inputs = new Input[0]; var view = _env.CreateStreamingDataView <Input>(inputs); _transforms = ComponentCreation.LoadTransforms(_env, File.OpenRead(modelName), view); var data = _env.CreateExamples(_transforms, features); var scorer = _env.CreateDefaultScorer(data, _predictor); _valueMapper = new ValueMapperFromTransformFloat <VBuffer <float> >(_env, scorer, "Features", "Probability"); _mapper = _valueMapper.GetMapper <VBuffer <float>, float>(); }
/// <summary> /// Constructor /// </summary> /// <param name="env">environment</param> /// <param name="modelStream">stream</param> /// <param name="conc">number of concurrency threads</param> /// <param name="features">features column</param> public ValueMapperPredictionEngine(IHostEnvironment env, Stream modelStream, int conc = 1, string features = "Features") { _env = env; if (_env == null) { throw Contracts.Except("env must not be null"); } var inputs = new TRowValue[0]; var view = ComponentCreation.CreateStreamingDataView <TRowValue>(_env, inputs); long modelPosition = modelStream.Position; _predictor = ComponentCreation.LoadPredictorOrNull(_env, modelStream); if (_predictor == null) { throw _env.Except("Unable to load a model."); } modelStream.Seek(modelPosition, SeekOrigin.Begin); _transforms = ComponentCreation.LoadTransforms(_env, modelStream, view); if (_transforms == null) { throw _env.Except("Unable to load a model."); } var data = _env.CreateExamples(_transforms, features); if (data == null) { throw _env.Except("Cannot create rows."); } var scorer = _env.CreateDefaultScorer(data, _predictor); if (scorer == null) { throw _env.Except("Cannot create a scorer."); } _CreateMapper(scorer, conc); }