Add real YOLO train acceptance
This commit is contained in:
@@ -380,6 +380,7 @@ function useData() {
|
||||
const [coverage, setCoverage] = useState<CoveragePayload | null>(null);
|
||||
const [acceptance, setAcceptance] = useState<AcceptancePayload | null>(null);
|
||||
const [realAcceptance, setRealAcceptance] = useState<AcceptancePayload | null>(null);
|
||||
const [realTrainAcceptance, setRealTrainAcceptance] = useState<AcceptancePayload | null>(null);
|
||||
const [deepAcceptance, setDeepAcceptance] = useState<DeepAcceptancePayload | null>(null);
|
||||
const [runtimeReadiness, setRuntimeReadiness] = useState<RuntimeReadinessPayload | null>(null);
|
||||
const [capabilities, setCapabilities] = useState<CapabilityPayload | null>(null);
|
||||
@@ -388,7 +389,7 @@ function useData() {
|
||||
|
||||
async function refresh() {
|
||||
try {
|
||||
const [catalogNext, gpusNext, envsNext, readinessNext, capabilitiesNext, jobsNext, resultsNext, curvesNext, weightsNext, datasetsNext, coverageNext, acceptanceNext, realAcceptanceNext, deepAcceptanceNext, agentEvaluationNext] = await Promise.all([
|
||||
const [catalogNext, gpusNext, envsNext, readinessNext, capabilitiesNext, jobsNext, resultsNext, curvesNext, weightsNext, datasetsNext, coverageNext, acceptanceNext, realAcceptanceNext, realTrainAcceptanceNext, deepAcceptanceNext, agentEvaluationNext] = await Promise.all([
|
||||
api<Catalog>("/api/catalog"),
|
||||
api<GpuPayload>("/api/system/gpus"),
|
||||
api<CondaEnvPayload>("/api/system/envs"),
|
||||
@@ -402,6 +403,7 @@ function useData() {
|
||||
api<CoveragePayload>("/api/coverage"),
|
||||
api<AcceptancePayload>("/api/acceptance/latest"),
|
||||
api<AcceptancePayload>("/api/acceptance/real/latest"),
|
||||
api<AcceptancePayload>("/api/acceptance/real-train/latest"),
|
||||
api<DeepAcceptancePayload>("/api/acceptance/deep/latest"),
|
||||
api<EvaluationAgentPayload>("/api/agents/evaluate")
|
||||
]);
|
||||
@@ -430,6 +432,7 @@ function useData() {
|
||||
setCoverage(coverageNext);
|
||||
setAcceptance(acceptanceNext);
|
||||
setRealAcceptance(realAcceptanceNext);
|
||||
setRealTrainAcceptance(realTrainAcceptanceNext);
|
||||
setDeepAcceptance(deepAcceptanceNext);
|
||||
setAgentEvaluation(agentEvaluationNext);
|
||||
setError("");
|
||||
@@ -444,7 +447,7 @@ function useData() {
|
||||
return () => window.clearInterval(timer);
|
||||
}, []);
|
||||
|
||||
return { catalog, gpus, condaEnvs, runtimeReadiness, capabilities, agentEvaluation, jobs, results, curves, weightManifest, datasets, datasetValidations, coverage, acceptance, realAcceptance, deepAcceptance, error, refresh };
|
||||
return { catalog, gpus, condaEnvs, runtimeReadiness, capabilities, agentEvaluation, jobs, results, curves, weightManifest, datasets, datasetValidations, coverage, acceptance, realAcceptance, realTrainAcceptance, deepAcceptance, error, refresh };
|
||||
}
|
||||
|
||||
function StatusPill({ status }: { status: string }) {
|
||||
@@ -467,7 +470,7 @@ function JobProgressBar({ progress }: { progress?: JobProgress }) {
|
||||
}
|
||||
|
||||
function App() {
|
||||
const { catalog, gpus, condaEnvs, runtimeReadiness, capabilities, agentEvaluation, jobs, results, curves, weightManifest, datasets, datasetValidations, coverage, acceptance, realAcceptance, deepAcceptance, error, refresh } = useData();
|
||||
const { catalog, gpus, condaEnvs, runtimeReadiness, capabilities, agentEvaluation, jobs, results, curves, weightManifest, datasets, datasetValidations, coverage, acceptance, realAcceptance, realTrainAcceptance, deepAcceptance, error, refresh } = useData();
|
||||
const [taskType, setTaskType] = useState("mock.echo");
|
||||
const [params, setParams] = useState(JSON.stringify(defaultParams["mock.echo"], null, 2));
|
||||
const [selectedJob, setSelectedJob] = useState<Job | null>(null);
|
||||
@@ -671,6 +674,16 @@ function App() {
|
||||
}
|
||||
}
|
||||
|
||||
async function runRealTrainAcceptance() {
|
||||
setBusy(true);
|
||||
try {
|
||||
await api("/api/acceptance/real-train", { method: "POST" });
|
||||
await refresh();
|
||||
} finally {
|
||||
setBusy(false);
|
||||
}
|
||||
}
|
||||
|
||||
async function runAgentValidation() {
|
||||
setAgentBusy(true);
|
||||
try {
|
||||
@@ -1133,6 +1146,9 @@ function App() {
|
||||
<button className="iconButton" disabled={busy} onClick={runRealAcceptance} title="运行真实数据验收">
|
||||
<FileSearch size={18} />
|
||||
</button>
|
||||
<button className="iconButton" disabled={busy} onClick={runRealTrainAcceptance} title="运行真实短训验收">
|
||||
<Play size={18} />
|
||||
</button>
|
||||
<button className="iconButton" disabled={busy} onClick={runDeepAcceptance} title="运行深度训练验收">
|
||||
<Activity size={18} />
|
||||
</button>
|
||||
@@ -1163,6 +1179,10 @@ function App() {
|
||||
<span>真实数据</span>
|
||||
<strong>{realAcceptance?.available === false ? "New" : realAcceptance?.passed ? "OK" : "Check"}</strong>
|
||||
</div>
|
||||
<div>
|
||||
<span>真实短训</span>
|
||||
<strong>{realTrainAcceptance?.available === false ? "New" : realTrainAcceptance?.passed ? "OK" : "Check"}</strong>
|
||||
</div>
|
||||
<div>
|
||||
<span>深度训练</span>
|
||||
<strong>{deepAcceptance?.available === false ? "New" : deepAcceptance?.passed ? "OK" : "Check"}</strong>
|
||||
@@ -1174,6 +1194,7 @@ function App() {
|
||||
<span>当前用户侧脚本已全部映射到网页任务。</span>
|
||||
<span>最近验收:{acceptance?.created_at ?? "尚未运行"} {acceptance?.run_id ? `#${acceptance.run_id}` : ""}</span>
|
||||
<span>真实数据:{realAcceptance?.created_at ?? "尚未运行"} {realAcceptance?.run_id ? `#${realAcceptance.run_id}` : ""},通过 {realAcceptance?.checks?.filter((item) => item.passed).length ?? 0}/{realAcceptance?.checks?.length ?? 0}</span>
|
||||
<span>真实短训:{realTrainAcceptance?.created_at ?? "尚未运行"} {realTrainAcceptance?.run_id ? `#${realTrainAcceptance.run_id}` : ""},通过 {realTrainAcceptance?.checks?.filter((item) => item.passed).length ?? 0}/{realTrainAcceptance?.checks?.length ?? 0}</span>
|
||||
<span>深度验收:{deepAcceptance?.created_at ?? "尚未运行"} {deepAcceptance?.run_id ? `#${deepAcceptance.run_id}` : ""},通过 {deepAcceptance?.checks?.filter((item) => item.passed).length ?? 0}/{deepAcceptance?.checks?.length ?? 0}</span>
|
||||
<span>模型族 readiness:{acceptance?.model_family_readiness?.checks?.filter((item) => item.passed).length ?? 0}/{acceptance?.model_family_readiness?.checks?.length ?? 0},warnings {acceptance?.model_family_readiness?.warnings?.length ?? 0}</span>
|
||||
</>
|
||||
|
||||
Reference in New Issue
Block a user