mirror of
https://github.com/paperless-ngx/paperless-ngx.git
synced 2026-03-30 04:42:45 +00:00
33 lines
985 B
Python
33 lines
985 B
Python
from __future__ import annotations
|
|
|
|
import time
|
|
|
|
from documents.management.commands.base import PaperlessCommand
|
|
from documents.tasks import train_classifier
|
|
|
|
|
|
class Command(PaperlessCommand):
|
|
help = (
|
|
"Trains the classifier on your data and saves the resulting models to a "
|
|
"file. The document consumer will then automatically use this new model."
|
|
)
|
|
supports_progress_bar = False
|
|
supports_multiprocessing = False
|
|
|
|
def handle(self, *args, **options) -> None:
|
|
start = time.monotonic()
|
|
|
|
with (
|
|
self.buffered_logging("paperless.tasks"),
|
|
self.buffered_logging("paperless.classifier"),
|
|
):
|
|
train_classifier(
|
|
scheduled=False,
|
|
status_callback=lambda msg: self.console.print(f" {msg}"),
|
|
)
|
|
|
|
elapsed = time.monotonic() - start
|
|
self.console.print(
|
|
f"[green]✓[/green] Classifier training complete ({elapsed:.1f}s)",
|
|
)
|