fix ui buttons and docker compose
This commit is contained in:
parent
d91eca366f
commit
fed058d4c8
3 changed files with 12 additions and 6 deletions
|
|
@ -4,16 +4,17 @@ services:
|
|||
context: .
|
||||
image: yolo-train-webui:latest
|
||||
ports:
|
||||
# The training API has no built-in user accounts, so expose it locally only.
|
||||
- "127.0.0.1:8000:8000"
|
||||
- "8000:8000"
|
||||
volumes:
|
||||
- ./datasets:/workspace/datasets
|
||||
- ./runs:/workspace/runs
|
||||
- ./models:/workspace/models
|
||||
- ./models/.config:/root/.config/Ultralytics
|
||||
environment:
|
||||
# Optional: tracking URI for external MLflow server (e.g. http://host.docker.internal:5000 or http://your-mlflow-host:5000)
|
||||
# Tracking URI for external MLflow server. Change host/IP if running MLflow on another machine/container.
|
||||
YOLO_WEBUI_MLFLOW_TRACKING_URI: http://host.docker.internal:5000
|
||||
extra_hosts:
|
||||
- "host.docker.internal:host-gateway"
|
||||
# Uncomment the block below on Linux with NVIDIA GPU to pass the graphics card into the container:
|
||||
# deploy:
|
||||
# resources:
|
||||
|
|
|
|||
|
|
@ -24,6 +24,7 @@ document.addEventListener('DOMContentLoaded', () => {
|
|||
const mlflowInputs = document.querySelectorAll('.mlflow-fields input');
|
||||
const trackingUriInput = document.getElementById('tracking-uri');
|
||||
const mlflowHeaderLink = document.getElementById('mlflow-header-link');
|
||||
const taskSelect = document.getElementById('task');
|
||||
|
||||
// --- Dynamic Model Selection ---
|
||||
const standardModels = {
|
||||
|
|
@ -34,6 +35,7 @@ document.addEventListener('DOMContentLoaded', () => {
|
|||
obb: ['yolo11n-obb.pt', 'yolo11s-obb.pt', 'yolo11m-obb.pt', 'yolo11l-obb.pt', 'yolo11x-obb.pt']
|
||||
};
|
||||
let discoveredModels = [];
|
||||
let discoveredDatasets = [];
|
||||
|
||||
function getDiscoveredModelValue(model) {
|
||||
return model.path || model.name;
|
||||
|
|
@ -99,7 +101,6 @@ document.addEventListener('DOMContentLoaded', () => {
|
|||
}
|
||||
}
|
||||
|
||||
const taskSelect = document.getElementById('task');
|
||||
|
||||
// Session Controls
|
||||
const sessionSelect = document.getElementById('session-select');
|
||||
|
|
@ -701,7 +702,7 @@ document.addEventListener('DOMContentLoaded', () => {
|
|||
}
|
||||
|
||||
// --- Datasets Auto-Discovery ---
|
||||
let discoveredDatasets = [];
|
||||
|
||||
|
||||
async function loadDatasetsList() {
|
||||
try {
|
||||
|
|
@ -932,6 +933,7 @@ document.addEventListener('DOMContentLoaded', () => {
|
|||
}
|
||||
|
||||
if (configForm) {
|
||||
configForm.addEventListener('submit', (e) => e.preventDefault());
|
||||
configForm.addEventListener('input', () => {
|
||||
const config = getFormConfig();
|
||||
localStorage.setItem('draft_config', JSON.stringify(config));
|
||||
|
|
@ -1249,5 +1251,8 @@ document.addEventListener('DOMContentLoaded', () => {
|
|||
loadSessionsList();
|
||||
connectWebSocket();
|
||||
connectExportWebSocket();
|
||||
}).catch(err => {
|
||||
console.error('Initial load error:', err);
|
||||
addLogLine('Ошибка загрузки конфигурации: ' + err.message, 'warning');
|
||||
});
|
||||
});
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ def test_compose_is_local_and_does_not_require_nvidia() -> None:
|
|||
assert set(compose["services"].keys()) == {"webui"}
|
||||
webui = compose["services"]["webui"]
|
||||
|
||||
assert webui["ports"] == ["127.0.0.1:8000:8000"]
|
||||
assert webui["ports"] == ["8000:8000"]
|
||||
assert "deploy" not in webui
|
||||
assert "YOLO_WEBUI_MLFLOW_TRACKING_URI" in webui["environment"]
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue