mirror of
https://github.com/ultralytics/ultralytics
synced 2026-04-21 14:07:18 +00:00
ultralytics 8.3.245 2026 Docs footer and System metrics updates (#23095)
Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com>
This commit is contained in:
parent
4bd9a71329
commit
a77cae6b76
3 changed files with 14 additions and 2 deletions
|
|
@ -70,7 +70,7 @@ theme:
|
|||
# - search.suggest
|
||||
|
||||
# Customization
|
||||
copyright: <a href="https://www.ultralytics.com/" target="_blank">© 2025 Ultralytics Inc.</a> All rights reserved.
|
||||
copyright: <a href="https://www.ultralytics.com/" target="_blank">© 2026 Ultralytics Inc.</a> All rights reserved.
|
||||
extra: # version:
|
||||
homepage: https://www.ultralytics.com/
|
||||
# provider: mike # version drop-down menu
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
|
||||
|
||||
__version__ = "8.3.244"
|
||||
__version__ = "8.3.245"
|
||||
|
||||
import importlib
|
||||
import os
|
||||
|
|
|
|||
|
|
@ -90,11 +90,18 @@ def _upload_model_async(model_path, project, name):
|
|||
|
||||
def _get_environment_info():
|
||||
"""Collect comprehensive environment info using existing ultralytics utilities."""
|
||||
import shutil
|
||||
|
||||
import psutil
|
||||
import torch
|
||||
|
||||
from ultralytics import __version__
|
||||
from ultralytics.utils.torch_utils import get_cpu_info, get_gpu_info
|
||||
|
||||
# Get RAM and disk totals
|
||||
memory = psutil.virtual_memory()
|
||||
disk_usage = shutil.disk_usage("/")
|
||||
|
||||
env = {
|
||||
"ultralyticsVersion": __version__,
|
||||
"hostname": socket.gethostname(),
|
||||
|
|
@ -105,6 +112,8 @@ def _get_environment_info():
|
|||
"cpuCount": os.cpu_count() or 0,
|
||||
"cpu": get_cpu_info(),
|
||||
"command": " ".join(sys.argv),
|
||||
"totalRamGb": round(memory.total / (1 << 30), 1), # Total RAM in GB
|
||||
"totalDiskGb": round(disk_usage.total / (1 << 30), 1), # Total disk in GB
|
||||
}
|
||||
|
||||
# Git info using cached GIT singleton (no subprocess calls)
|
||||
|
|
@ -258,7 +267,9 @@ def on_train_end(trainer):
|
|||
|
||||
# Upload best model (blocking to ensure it completes)
|
||||
model_path = None
|
||||
model_size = None
|
||||
if trainer.best and Path(trainer.best).exists():
|
||||
model_size = Path(trainer.best).stat().st_size
|
||||
model_path = _upload_model(trainer.best, project, name)
|
||||
|
||||
# Send training complete
|
||||
|
|
@ -270,6 +281,7 @@ def on_train_end(trainer):
|
|||
"bestEpoch": getattr(trainer, "best_epoch", trainer.epoch),
|
||||
"bestFitness": trainer.best_fitness,
|
||||
"modelPath": model_path or str(trainer.best) if trainer.best else None,
|
||||
"modelSize": model_size,
|
||||
}
|
||||
},
|
||||
project,
|
||||
|
|
|
|||
Loading…
Reference in a new issue