public VowpalWabbit(VowpalWabbitModel model, VowpalWabbitSerializerSettings settings = null)
            : base(model)
        {
            var visitor = new VowpalWabbitInterfaceVisitor(this);

            this.serializer = VowpalWabbitSerializerFactory.CreateSerializer <TExample>(visitor, settings);
        }
        public VowpalWabbit(string arguments, VowpalWabbitSerializerSettings settings = null)
            : base(arguments)
        {
            var visitor = new VowpalWabbitInterfaceVisitor(this);

            this.serializer = VowpalWabbitSerializerFactory.CreateSerializer <TExample>(visitor, settings);
        }
        public static VowpalWabbitSerializer <TExample> CreateSerializer <TExample>(VowpalWabbitInterfaceVisitor visitor, VowpalWabbitSerializerSettings settings)
        {
            var serializerFunc = CreateSerializer <TExample, VowpalWabbitInterfaceVisitor, VowpalWabbitExample>();

            if (serializerFunc == null)
            {
                // if no features are found, no serializer is generated
                serializerFunc = (_, __) => null;
            }

            return(new VowpalWabbitSerializer <TExample>(ex => serializerFunc(ex, visitor), settings));
        }
Exemple #4
0
        private void Initialize(VowpalWabbitSerializerSettings settings)
        {
            var visitor = new VowpalWabbitInterfaceVisitor(this);

            this.actionDependentFeatureSerializer = VowpalWabbitSerializerFactory.CreateSerializer <TActionDependentFeature>(visitor, settings);

            if (this.actionDependentFeatureSerializer == null)
            {
                throw new ArgumentException(typeof(TActionDependentFeature) + " must have a least a single [Feature] defined.");
            }

            using (var exBuilder = new VowpalWabbitExampleBuilder(this))
            {
                this.emptyExample = exBuilder.CreateExample();
            }
        }