85 lines
2.3 KiB
JavaScript
85 lines
2.3 KiB
JavaScript
|
|
// Copyright (C) CVAT.ai Corporation
|
||
|
|
//
|
||
|
|
// SPDX-License-Identifier: MIT
|
||
|
|
|
||
|
|
function defaultTaskSpec({
|
||
|
|
labelName,
|
||
|
|
labelType,
|
||
|
|
taskName,
|
||
|
|
serverFiles,
|
||
|
|
startFrame,
|
||
|
|
frameFilter,
|
||
|
|
segmentSize,
|
||
|
|
validationParams,
|
||
|
|
projectID,
|
||
|
|
}) {
|
||
|
|
const taskSpec = {
|
||
|
|
labels: [
|
||
|
|
{ name: labelName, attributes: [], type: labelType || 'any' },
|
||
|
|
],
|
||
|
|
name: taskName,
|
||
|
|
project_id: projectID || null,
|
||
|
|
source_storage: { location: 'local' },
|
||
|
|
target_storage: { location: 'local' },
|
||
|
|
};
|
||
|
|
|
||
|
|
if (segmentSize) {
|
||
|
|
taskSpec.segment_size = segmentSize;
|
||
|
|
}
|
||
|
|
|
||
|
|
const dataSpec = {
|
||
|
|
server_files: serverFiles,
|
||
|
|
image_quality: 70,
|
||
|
|
use_zip_chunks: true,
|
||
|
|
use_cache: true,
|
||
|
|
sorting_method: (validationParams && validationParams.mode === 'gt_pool') ? 'random' : 'lexicographical',
|
||
|
|
};
|
||
|
|
if (startFrame) {
|
||
|
|
dataSpec.start_frame = startFrame;
|
||
|
|
}
|
||
|
|
if (frameFilter) {
|
||
|
|
dataSpec.frame_filter = frameFilter;
|
||
|
|
}
|
||
|
|
|
||
|
|
const extras = {};
|
||
|
|
if (validationParams) {
|
||
|
|
const convertedParams = {};
|
||
|
|
if (validationParams.mode) {
|
||
|
|
convertedParams.mode = validationParams.mode;
|
||
|
|
}
|
||
|
|
if (validationParams.frameSelectionMethod) {
|
||
|
|
convertedParams.frame_selection_method = validationParams.frameSelectionMethod;
|
||
|
|
}
|
||
|
|
if (validationParams.randomSeed) {
|
||
|
|
convertedParams.random_seed = validationParams.randomSeed;
|
||
|
|
}
|
||
|
|
if (validationParams.frames) {
|
||
|
|
convertedParams.frames = validationParams.frames;
|
||
|
|
}
|
||
|
|
if (validationParams.frameCount) {
|
||
|
|
convertedParams.frame_count = validationParams.frameCount;
|
||
|
|
}
|
||
|
|
if (validationParams.frameShare) {
|
||
|
|
convertedParams.frame_share = validationParams.frameShare;
|
||
|
|
}
|
||
|
|
if (validationParams.framesPerJobCount) {
|
||
|
|
convertedParams.frames_per_job_count = validationParams.framesPerJobCount;
|
||
|
|
}
|
||
|
|
if (validationParams.framesPerJobShare) {
|
||
|
|
convertedParams.frames_per_job_share = validationParams.framesPerJobShare;
|
||
|
|
}
|
||
|
|
|
||
|
|
extras.validation_params = convertedParams;
|
||
|
|
}
|
||
|
|
|
||
|
|
return {
|
||
|
|
taskSpec,
|
||
|
|
dataSpec,
|
||
|
|
extras,
|
||
|
|
};
|
||
|
|
}
|
||
|
|
|
||
|
|
module.exports = {
|
||
|
|
defaultTaskSpec,
|
||
|
|
};
|