Sure, I can organize the API reference using the format you've suggested. Here is the complete API reference with each class and method listed:
API Reference¶
textpredict.initialize¶
Initialize the TextPredict model for a specific task.
Parameters¶
task(str): The task to perform (e.g., 'sentiment', 'emotion', 'zeroshot', 'ner', 'sequence_classification', 'token_classification', 'seq2seq').device(str, optional): The device to run the model on. Defaults to 'cpu'.model_name(str, optional): The model name. Defaults to None.source(str, optional): The source of the model ('huggingface' or 'local'). Defaults to 'huggingface'.
Returns¶
An initialized TextPredict model.
textpredict.TextPredict.analyze¶
Analyze the provided texts using the initialized model.
Parameters¶
text(str or list of str): The text(s) to analyze.return_probs(bool, optional): Whether to return probabilities along with predictions. Defaults to False.candidate_labels(list of str, optional): The candidate labels for zero-shot classification. Defaults to None.
Returns¶
Analysis results for the provided texts.
textpredict.SequenceClassificationTrainer¶
Trainer class for sequence classification models.
Parameters¶
model_name(str): The name of the model to use.output_dir(str): The directory to save the trained model.config(dict, optional): Configuration dictionary. Defaults to None.device(str, optional): The device to run the model on. Defaults to 'cpu'.
Methods¶
textpredict.SequenceClassificationTrainer.train(from_checkpoint=True): Train the model.
Parameters:
- from_checkpoint (bool, optional): Whether to train from a checkpoint. Defaults to True.
-
textpredict.SequenceClassificationTrainer.save(): Save the trained model. -
textpredict.SequenceClassificationTrainer.evaluate(test_dataset, evaluation_config=None): Evaluate the model on the test dataset.
Parameters:
- test_dataset (Dataset): The dataset to evaluate the model on.
- evaluation_config (dict, optional): Configuration for evaluation. Defaults to None.
Example¶
from textpredict import SequenceClassificationTrainer
trainer = SequenceClassificationTrainer(model_name='bert-base-uncased', output_dir='./model')
trainer.train()
trainer.save()
results = trainer.evaluate(test_dataset)
print(results)
textpredict.Seq2seqTrainer¶
Trainer class for sequence-to-sequence models.
Parameters¶
model_name(str): The name of the model to use.output_dir(str): The directory to save the trained model.config(dict, optional): Configuration dictionary. Defaults to None.device(str, optional): The device to run the model on. Defaults to 'cpu'.
Methods¶
textpredict.Seq2seqTrainer.train(from_checkpoint=False): Train the model.
Parameters:
- from_checkpoint (bool, optional): Whether to train from a checkpoint. Defaults to False.
-
textpredict.Seq2seqTrainer.save(): Save the trained model. -
textpredict.Seq2seqTrainer.evaluate(test_dataset, evaluation_config=None): Evaluate the model on the test dataset.
Parameters:
- test_dataset (Dataset): The dataset to evaluate the model on.
- evaluation_config (dict, optional): Configuration for evaluation. Defaults to None.
Example¶
from textpredict import Seq2seqTrainer
trainer = Seq2seqTrainer(model_name='t5-small', output_dir='./model')
trainer.train()
trainer.save()
results = trainer.evaluate(test_dataset)
print(results)
textpredict.TokenClassificationTrainer¶
Trainer class for token classification models.
Parameters¶
model_name(str): The name of the model to use.output_dir(str): The directory to save the trained model.config(dict, optional): Configuration dictionary. Defaults to None.device(str, optional): The device to run the model on. Defaults to 'cpu'.
Methods¶
textpredict.TokenClassificationTrainer.train(from_checkpoint=False): Train the model.
Parameters:
- from_checkpoint (bool, optional): Whether to train from a checkpoint. Defaults to False.
-
textpredict.TokenClassificationTrainer.save(): Save the trained model. -
textpredict.TokenClassificationTrainer.evaluate(test_dataset, evaluation_config=None): Evaluate the model on the test dataset.
Parameters:
- test_dataset (Dataset): The dataset to evaluate the model on.
- evaluation_config (dict, optional): Configuration for evaluation. Defaults to None.
Example¶
from textpredict import TokenClassificationTrainer
trainer = TokenClassificationTrainer(model_name='bert-base-uncased', output_dir='./model')
trainer.train()
trainer.save()
results = trainer.evaluate(test_dataset)
print(results)
textpredict.SequenceClassificationEvaluator¶
Evaluator class for sequence classification models.
Parameters¶
model_name(str): The name of the model to evaluate.device(str, optional): The device to run the model on. Defaults to 'cpu'.evaluation_config(dict, optional): Configuration dictionary. Defaults to None.
Methods¶
-
textpredict.SequenceClassificationEvaluator.evaluate(): Evaluate the model on the provided dataset. -
textpredict.SequenceClassificationEvaluator.get_detailed_metrics(): Retrieve detailed evaluation metrics. -
textpredict.SequenceClassificationEvaluator.save_results(file_path): Save evaluation results to a file.
Example¶
from textpredict import SequenceClassificationEvaluator
evaluator = SequenceClassificationEvaluator(model_name='./model')
results = evaluator.evaluate(test_dataset)
print(results)
textpredict.Seq2seqEvaluator¶
Evaluator class for sequence-to-sequence models.
Parameters¶
model_name(str): The name of the model to evaluate.device(str, optional): The device to run the model on. Defaults to 'cpu'.evaluation_config(dict, optional): Configuration dictionary. Defaults to None.
Methods¶
-
textpredict.Seq2seqEvaluator.evaluate(): Evaluate the model on the provided dataset. -
textpredict.Seq2seqEvaluator.get_detailed_metrics(): Retrieve detailed evaluation metrics. -
textpredict.Seq2seqEvaluator.save_results(file_path): Save evaluation results to a file.
Example¶
from textpredict import Seq2seqEvaluator
evaluator = Seq2seqEvaluator(model_name='./model')
results = evaluator.evaluate(test_dataset)
print(results)
textpredict.TokenClassificationEvaluator¶
Evaluator class for token classification models.
Parameters¶
model_name(str): The name of the model to evaluate.device(str, optional): The device to run the model on. Defaults to 'cpu'.evaluation_config(dict, optional): Configuration dictionary. Defaults to None.
Methods¶
-
textpredict.TokenClassificationEvaluator.evaluate(): Evaluate the model on the provided dataset. -
textpredict.TokenClassificationEvaluator.get_detailed_metrics(): Retrieve detailed evaluation metrics. -
textpredict.TokenClassificationEvaluator.save_results(file_path): Save evaluation results to a file.
Example¶
from textpredict import TokenClassificationEvaluator
evaluator = TokenClassificationEvaluator(model_name='./model')
results = evaluator.evaluate(test_dataset)
print(results)
textpredict.Benchmarking¶
Class for benchmarking models.
Parameters¶
model_name(str): The name of the model to use.device(str, optional): The device to run the model on. Defaults to 'cpu'.
Methods¶
-
textpredict.Benchmarking.benchmark(dataset): Benchmark the model using the provided dataset. -
textpredict.Benchmarking.measure_inference_time(dataset): Measure inference time on the provided dataset. -
textpredict.Benchmarking.measure_memory_usage(dataset): Measure memory usage on the provided dataset.
Example¶
from textpredict import Benchmarking
benchmark = Benchmarking(model_name='bert-base-uncased')
metrics = benchmark.benchmark(test_dataset)
inference_time = benchmark.measure_inference_time(test_dataset)
memory_usage = benchmark.measure_memory_usage(test_dataset)
print(metrics, inference_time, memory_usage)
textpredict.Explainability¶
Class for model explainability and feature importance.
Parameters¶
model_name(str): The name of the model to use.task(str): The task to perform.device(str, optional): The device to run the model on. Defaults to 'cpu'.
Methods¶
textpredict.Explainability.feature_importance(text): Get feature importance for the given text.
Example¶
from textpredict import initialize, Explainability
# Initialize the predictor
predictor = initialize(task='sentiment', device='cpu', model_name='bert-base-uncased')
# Explainability instance
explain = Explainability(model_name='bert-base-uncased', task='sentiment')
# Get feature importance
importance = explain.feature_importance("This is a great product!")
print(importance)