/// <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); }
/// <summary> /// Trains a new model using low-level FastText arguments. /// </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">Low-level 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, FastTextArgs args) { ValidatePaths(inputPath, outputPath, args.PretrainedVectors); var argsStruct = new TrainingArgsStruct { bucket = args.bucket, cutoff = args.cutoff, dim = args.dim, dsub = args.dsub, epoch = args.epoch, loss = (loss_name)args.loss, lr = args.lr, lrUpdateRate = args.lrUpdateRate, maxn = args.maxn, minCount = args.minCount, minCountLabel = args.minCountLabel, minn = args.minn, model = (model_name)args.model, neg = args.neg, qnorm = args.qnorm, qout = args.qout, retrain = args.retrain, saveOutput = args.saveOutput, t = args.t, thread = args.thread, verbose = args.verbose, wordNgrams = args.wordNgrams, ws = args.ws, }; Train(_fastText, inputPath, outputPath, argsStruct, args.LabelPrefix, args.PretrainedVectors); _maxLabelLen = GetMaxLabelLength(_fastText); _modelLoaded = true; }
private static extern void TrainSupervised(IntPtr hPtr, string input, string output, TrainingArgsStruct args, string labelPrefix);
private static extern void Train(IntPtr hPtr, string input, string output, TrainingArgsStruct args, string labelPrefix, string pretrainedVectors);