/// <summary> /// Creates a new instance with default arguments for supervised training. /// </summary> /// <param name="builder">An optional action to change some params.</param> public static TrainingArgs SupervisedDefaults(Action <TrainingArgs> builder = null) { var result = new TrainingArgs { LearningRate = 0.1, MaxCharNGrams = 0, MinCharNGrams = 0 }; builder?.Invoke(result); return(result); }
/// <summary> /// Trains a new model. /// </summary> /// <param name="inputPath">Path to a training set.</param> /// <param name="outputPath">Path to write the model to (excluding extension).</param> /// <param name="args">Training arguments.</param> /// <remarks>Trained model will consist of two files: .bin (main model) and .vec (word vectors).</remarks> public void Train(string inputPath, string outputPath, TrainingArgs args) { var argsStruct = new TrainingArgsStruct { Epochs = args.Epochs, LearningRate = args.LearningRate, MaxCharNGrams = args.MaxCharNGrams, MinCharNGrams = args.MinCharNGrams, Verbose = args.Verbose, WordNGrams = args.WordNGrams }; TrainSupervised(_fastText, inputPath, outputPath, argsStruct, args.LabelPrefix); _maxLabelLen = GetMaxLabelLenght(_fastText); }