openapi: 3.0.0 info: title: Edge Impulse Optimization API version: 1.0.0 servers: - url: https://studio.edgeimpulse.com/v1 security: - ApiKeyAuthentication: [] - JWTAuthentication: [] - JWTHttpHeaderAuthentication: [] tags: - name: Optimization paths: /api/{projectId}/optimize/runs: get: summary: List all tuner runs description: List all the tuner runs for a project. operationId: listTunerRuns tags: - Optimization parameters: - $ref: '#/components/parameters/ProjectIdParameter' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ListTunerRunsResponse' /api/{projectId}/optimize/config: get: summary: Get config description: Get config operationId: getConfig tags: - Optimization parameters: - $ref: '#/components/parameters/ProjectIdParameter' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/OptimizeConfigResponse' post: summary: Update config description: Update config operationId: updateConfig tags: - Optimization parameters: - $ref: '#/components/parameters/ProjectIdParameter' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/OptimizeConfig' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/GenericApiResponse' /api/{projectId}/optimize/all-learn-blocks: get: summary: Get all available learn blocks description: Get all available learn blocks operationId: getAllLearnBlocks tags: - Optimization parameters: - $ref: '#/components/parameters/ProjectIdParameter' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AllLearnBlocksResponse' /api/{projectId}/optimize/window-settings: get: summary: Get window settings description: Get window settings operationId: getWindowSettings tags: - Optimization parameters: - $ref: '#/components/parameters/ProjectIdParameter' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/WindowSettingsResponse' /api/{projectId}/optimize/score-trial: post: summary: Score trial description: Score trial operationId: scoreTrial tags: - Optimization parameters: - $ref: '#/components/parameters/ProjectIdParameter' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/TunerCreateTrialImpulse' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ScoreTrialResponse' /api/{projectId}/optimize/{jobId}/create-trial: post: summary: Create trial description: Create trial operationId: createTrial tags: - Optimization parameters: - $ref: '#/components/parameters/ProjectIdParameter' - $ref: '#/components/parameters/JobIdParameter' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/TunerCreateTrialImpulse' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/GenericApiResponse' /api/{projectId}/optimize/{jobId}/complete-search: post: summary: Complete EON tuner run description: Complete EON tuner run and mark it as succesful operationId: completeSearch tags: - Optimization parameters: - $ref: '#/components/parameters/ProjectIdParameter' - $ref: '#/components/parameters/JobIdParameter' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/TunerCompleteSearch' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/GenericApiResponse' /api/{projectId}/optimize/space: get: summary: Search space description: Search space operationId: getSpace tags: - Optimization parameters: - $ref: '#/components/parameters/ProjectIdParameter' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/OptimizeSpaceResponse' /api/{projectId}/optimize/state: get: summary: Retrieves the EON tuner state description: Retrieves the EON tuner state operationId: getState tags: - Optimization parameters: - $ref: '#/components/parameters/ProjectIdParameter' responses: '200': description: Current EON tuner state content: application/json: schema: $ref: '#/components/schemas/OptimizeStateResponse' delete: summary: Delete EON tuner state description: Completely clears the EON tuner state for this project. operationId: deleteState tags: - Optimization parameters: - $ref: '#/components/parameters/ProjectIdParameter' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/GenericApiResponse' /api/{projectId}/optimize/dsp-parameters: get: summary: Retrieves DSP block parameters description: Retrieves DSP block parameters operationId: getDspParameters tags: - Optimization parameters: - $ref: '#/components/parameters/ProjectIdParameter' - $ref: '#/components/parameters/OptimizeOrganizationIdParameter' - $ref: '#/components/parameters/OptimizeOrganizationDspIdParameter' responses: '200': description: DSP parameters content: application/json: schema: $ref: '#/components/schemas/OptimizeDSPParametersResponse' /api/{projectId}/optimize/transfer-learning-models: get: summary: Retrieves available transfer learning models description: Retrieves available transfer learning models operationId: getTransferLearningModels tags: - Optimization parameters: - $ref: '#/components/parameters/ProjectIdParameter' responses: '200': description: Block info content: application/json: schema: $ref: '#/components/schemas/OptimizeTransferLearningModelsResponse' /api/{projectId}/optimize/trial/{trialId}/stdout: get: summary: Get trial logs description: Get the logs for a trial. operationId: getTrialLogs tags: - Optimization parameters: - $ref: '#/components/parameters/ProjectIdParameter' - $ref: '#/components/parameters/TrialIdParameter' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/LogStdoutResponse' /api/{projectId}/optimize//{jobId}/trial/{trialId}/end-trial: get: summary: End EON tuner trial description: End an EON trial early. This can for example be used to implement early stopping. operationId: endTrial tags: - Optimization parameters: - $ref: '#/components/parameters/ProjectIdParameter' - $ref: '#/components/parameters/JobIdParameter' - $ref: '#/components/parameters/TrialIdParameter' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/GenericApiResponse' /api/{projectId}/optimize/{tunerCoordinatorJobId}/state: get: summary: Retrieves EON tuner state for a run. description: Retrieves the EON tuner state for a specific run. operationId: getTunerRunState tags: - Optimization parameters: - $ref: '#/components/parameters/ProjectIdParameter' - $ref: '#/components/parameters/TunerCoordinatorJobIdParameter' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/OptimizeStateResponse' /api/{projectId}/optimize/{tunerCoordinatorJobId}: post: summary: Update EON tuner state description: Updates the EON tuner state for a specific run. operationId: updateTunerRun tags: - Optimization parameters: - $ref: '#/components/parameters/ProjectIdParameter' - $ref: '#/components/parameters/TunerCoordinatorJobIdParameter' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UpdateTunerRunRequest' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/GenericApiResponse' components: schemas: LogStdoutResponse: allOf: - $ref: '#/components/schemas/GenericApiResponse' - type: object required: - stdout - totalCount properties: stdout: type: array items: type: object required: - created - data properties: created: type: string format: date-time data: type: string logLevel: type: string enum: - error - warn - info - debug totalCount: type: integer description: Total number of logs (only the last 1000 lines are returned) BlockDisplayCategory: description: Category to display this block in the UI. type: string enum: - classical - tao UpdateTunerRunRequest: type: object properties: name: type: string ListTunerRunsResponse: allOf: - $ref: '#/components/schemas/GenericApiResponse' - type: object required: - runs properties: runs: type: array items: $ref: '#/components/schemas/TunerRun' BlockType: type: string enum: - official - personal - enterprise - pro-or-enterprise - community TunerCompleteSearch: type: object required: - success properties: success: type: boolean ScoreTrialResponse: allOf: - $ref: '#/components/schemas/GenericApiResponse' - type: object required: - latency - ram - rom - score properties: score: type: number latency: type: object required: - dspMips - dspMs - learnMaccs - learnMs properties: dspMips: type: number dspMs: type: number learnMaccs: type: number learnMs: type: number ram: type: object required: - dsp - learn properties: dsp: type: number learn: type: number rom: type: object required: - dsp - learn properties: dsp: type: number learn: type: number OptimizeDSPParametersResponse: allOf: - $ref: '#/components/schemas/GenericApiResponse' - type: object required: - parameters properties: parameters: type: object TunerRun: type: object required: - tunerJobId - tunerCoordinatorJobId - index - created - jobStatus properties: tunerJobId: type: integer tunerCoordinatorJobId: type: integer index: type: integer name: type: string created: type: string format: date-time jobStatus: $ref: '#/components/schemas/JobStatus' continuationJobId: type: integer space: type: array description: List of impulses specifying the EON Tuner search space items: $ref: '#/components/schemas/TunerSpaceImpulse' TunerSpaceLearnBlock: type: object additionalProperties: true OptimizeConfig: type: object required: - targetDevice - targetLatency properties: name: type: string targetLatency: type: integer description: Target latency in MS example: 0 targetDevice: type: object required: - name description: Target device properties: name: type: string example: cortex-m4f-80mhz ram: type: integer example: 1024 rom: type: integer example: 1024 compiler: type: array items: type: string precision: type: array items: type: string trainingCycles: type: integer description: Maximum number of training cycles example: 5 tuningMaxTrials: type: integer description: Maximum number of trials example: 2 tuningWorkers: type: integer description: Maximum number of parallel workers/jobs example: 1 initialTrials: type: integer description: Number of initial trials example: 5 optimizationRounds: type: integer description: Number of optimization rounds example: 3 trialsPerOptimizationRound: type: integer description: Number of trials per optimization round example: 3 minMACCS: type: number maxMACCS: type: number tuningAlgorithm: type: string description: Tuning algorithm to use to search hyperparameter space enum: - random - hyperband - bayesian - custom notificationOnCompletion: type: boolean importProjectMetrics: type: boolean description: Whether to import metrics for previous EON tuner runs in the same project to accelerate the hyperparameter search process importResourceMetrics: type: boolean description: Whether to import resource usage (RAM/ROM/latency) metrics to accelerate the hyperparameter search process numImportProjectMetrics: type: number description: Number of project trials to import numImportResourceMetrics: type: number description: Number of resource usage trials to import enableSEM: type: boolean description: Enable standard error of the mean (SEM) accuracySEM: type: number description: Standard error of the trial accuracy mean latencySEM: type: number description: Standard error of the trial latency mean optimizationObjectives: type: array description: Hyperparameter optimization objectives and corresponding weights items: type: object required: - objective - label - weight properties: objective: type: string description: Objective to optimize label: type: string description: Label of the objective weight: type: number description: Weight of the objective rawObjectives: type: string description: Hyperparameter optimization objectives + weights in string format optimizationPrecision: type: string description: Model variant to optimize for enum: - float32 - int8 earlyStopping: type: boolean description: Enable trial level early stopping based on loss metrics during training earlyStoppingWindowSize: type: number description: Stops the EON tuner if the feasible (mean) objective has not improved over the past window_size iterations earlyStoppingImprovementBar: type: number description: Threshold (in [0,1]) for considering relative improvement over the best point. MOMF: type: boolean description: Enable Multi-fidelity Multi-Objective optimization verboseLogging: type: boolean description: Enable verbose logging disableConstraints: type: boolean description: Disable search constraints disableDeduplicate: type: boolean description: Disable trial deduplication tunerSpaceOptions: type: object additionalProperties: type: array items: type: string space: type: array description: List of impulses specifying the EON Tuner search space items: $ref: '#/components/schemas/TunerSpaceImpulse' searchSpaceTemplate: type: object description: Search space template required: - identifier properties: identifier: type: string description: Search space template identifier enum: - speech_keyword - speech_continuous - audio_event - audio_continuous - visual - motion_event - motion_continuous - audio_syntiant - object_detection_bounding_boxes - object_detection_centroids - visual_ad classification: type: boolean description: Whether a classification block should be added to the search space anomaly: type: boolean description: Whether an anomaly block should be added to the search space regression: type: boolean description: Whether a regression block should be added to the search space searchSpaceSource: type: object description: Search space source required: - type properties: type: type: string description: Search space source type enum: - template - run - impulse templateTitle: type: string description: Search space source template title runTitle: type: string description: Search space source run title impulseTitle: type: string description: Search space source impulse title TunerCreateTrialLearnBlock: type: object additionalProperties: true TunerTrial: type: object required: - id - name - status - blocks - impulse properties: id: type: string name: type: string status: type: string enum: - pending - running - completed - failed lastCompletedEpoch: type: string format: date-time lastCompletedTraining: type: string format: date-time retries: type: integer currentEpoch: type: integer workerId: type: string blocks: type: array items: type: object required: - id - type - retries - status - blockId properties: id: type: integer lastActive: type: string format: date-time retries: type: integer status: type: string enum: - pending - running - completed - failed type: type: string enum: - input - dsp - learn modelBlockIndex: type: integer description: Index of corresponding DSP/learn block in the impulse model passed to createTrial() impulse: $ref: '#/components/schemas/TunerTrialImpulse' experiment: type: string original_trial_id: type: string model: type: object additionalProperties: true dspJobId: type: object properties: training: type: number testing: type: number learnJobId: type: number devicePerformance: type: object additionalProperties: true optimizationRound: type: number progress: type: object required: - epoch - loss - val_loss - accuracy - val_accuracy properties: epoch: type: number loss: type: number val_loss: type: number accuracy: type: number val_accuracy: type: number metrics: type: object properties: test: type: object properties: float32: $ref: '#/components/schemas/KerasModelMetadataMetrics' int8: $ref: '#/components/schemas/KerasModelMetadataMetrics' train: type: object properties: float32: $ref: '#/components/schemas/KerasModelMetadataMetrics' int8: $ref: '#/components/schemas/KerasModelMetadataMetrics' validation: type: object properties: float32: $ref: '#/components/schemas/KerasModelMetadataMetrics' int8: $ref: '#/components/schemas/KerasModelMetadataMetrics' impulseAddedToProject: type: object required: - impulseId - link properties: impulseId: type: integer link: type: string KerasCustomMetric: type: object required: - name - value properties: name: description: The name of the metric type: string value: description: The value of this metric for this model type type: string OptimizeStateResponse: allOf: - $ref: '#/components/schemas/GenericApiResponse' - type: object required: - config - status - trials - workers - projectDataType - tunerJobIsRunning - nextRunIndex - isWhitelabel properties: config: $ref: '#/components/schemas/OptimizeConfig' status: type: object required: - numPendingTrials - numRunningTrials - numCompletedTrials - numFailedTrials - numReadyWorkers - numBusyWorkers - numPendingWorkers - status properties: numPendingTrials: type: integer numRunningTrials: type: integer numCompletedTrials: type: integer numFailedTrials: type: integer numReadyWorkers: type: integer numBusyWorkers: type: integer numPendingWorkers: type: integer status: type: string enum: - creating - ready - running - completed tunerJobId: description: Actual tuner process, job message events will be tagged with this ID type: integer tunerCoordinatorJobId: description: The coordinator pod, attach the job runner to this process for finished events type: integer continuationJobId: description: Job ID for the initial job this job continuous the hyperparameter search process for. type: integer tuningAlgorithm: type: string description: Tuning algorithm to use to search hyperparameter space enum: - random - hyperband - bayesian - custom tunerJobIsRunning: description: Whether the job is active (if false => finished) type: boolean trials: type: array items: $ref: '#/components/schemas/TunerTrial' projectDataType: type: string enum: - audio - image - motion - other jobError: type: string workers: type: array items: type: object required: - workerId - status properties: workerId: type: string status: type: string enum: - pending - ready - busy nextRunIndex: type: integer isWhitelabel: type: boolean TunerTrialImpulse: type: object required: - inputBlock - dspBlock - learnBlock properties: inputBlocks: type: array items: $ref: '#/components/schemas/TunerCreateTrialInputBlock' dspBlocks: type: array items: $ref: '#/components/schemas/TunerCreateTrialDSPBlock' learnBlocks: type: array items: $ref: '#/components/schemas/TunerCreateTrialLearnBlock' PublicProjectTierAvailability: description: For public blocks, this indicates the project tiers for which this block is available. type: string enum: - enterprise-only - pro-or-enterprise - all-projects AdditionalMetric: type: object required: - name - value - fullPrecisionValue properties: name: type: string value: type: string fullPrecisionValue: type: number tooltipText: type: string link: type: string TunerSpaceDSPBlock: type: object additionalProperties: true TunerCreateTrialInputBlock: type: object additionalProperties: true OptimizeConfigResponse: allOf: - $ref: '#/components/schemas/GenericApiResponse' - $ref: '#/components/schemas/OptimizeConfig' - type: object properties: device: type: object KerasVisualLayerType: type: string enum: - dense - conv1d - conv2d - reshape - flatten - dropout - batchNormalization - transfer_mobilenetv2_a35 - transfer_mobilenetv2_a1 - transfer_mobilenetv2_a05 - transfer_mobilenetv2_160_a1 - transfer_mobilenetv2_160_a75 - transfer_mobilenetv2_160_a5 - transfer_mobilenetv2_160_a35 - transfer_mobilenetv1_a25_d100 - transfer_mobilenetv1_a2_d100 - transfer_mobilenetv1_a1_d100 - transfer_kws_mobilenetv1_a1_d100 - transfer_kws_mobilenetv2_a35_d100 - transfer_kws_syntiant_ndp10x - transfer_kws_conv2d_tiny - object_ssd_mobilenet_v2_fpnlite_320x320 - fomo_mobilenet_v2_a01 - fomo_mobilenet_v2_a35 - transfer_organization - transfer_akidanet_imagenet_160_a100 - transfer_akidanet_imagenet_160_a50 - transfer_akidanet_imagenet_160_a25 - transfer_akidanet_imagenet_224_a100 - transfer_akidanet_imagenet_224_a50 - transfer_akidanet_imagenet_224_a25 - fomo_akidanet_a50 - fomo_ad_gmm - fomo_ad_patchcore OptimizeSpaceResponse: allOf: - $ref: '#/components/schemas/GenericApiResponse' - type: object required: - impulse properties: impulse: type: array description: List of impulses specifying the EON Tuner search space items: $ref: '#/components/schemas/TunerSpaceImpulse' OptimizeTransferLearningModelsResponse: allOf: - $ref: '#/components/schemas/GenericApiResponse' - type: object required: - models properties: models: type: object required: - image - objectDetection - kws - regression - classification properties: image: type: array items: $ref: '#/components/schemas/TransferLearningModel' objectDetection: type: array items: $ref: '#/components/schemas/TransferLearningModel' kws: type: array items: $ref: '#/components/schemas/TransferLearningModel' regression: type: array items: $ref: '#/components/schemas/TransferLearningModel' classification: type: array items: $ref: '#/components/schemas/TransferLearningModel' WindowSettingsResponse: allOf: - $ref: '#/components/schemas/GenericApiResponse' - type: object required: - windowSettingsEvent - windowSettingsContinuous properties: windowSettingsEvent: type: array items: $ref: '#/components/schemas/WindowSettings' windowSettingsContinuous: type: array items: $ref: '#/components/schemas/WindowSettings' WindowSettings: type: object required: - windowSizeMs - windowIncreaseMs - windowIncreasePct - zeroPadPercentage - windowCount - balanceScore - valid properties: windowSizeMs: type: number windowIncreaseMs: type: number windowIncreasePct: type: number zeroPadPercentage: type: number windowCount: type: integer balanceScore: type: number valid: type: boolean TransferLearningModel: type: object required: - name - shortName - description - hasNeurons - hasDropout - type - author - blockType properties: name: type: string shortName: type: string abbreviatedName: type: string description: type: string hasNeurons: type: boolean hasDropout: type: boolean defaultNeurons: type: integer defaultDropout: type: number defaultLearningRate: type: number defaultTrainingCycles: type: number hasImageAugmentation: type: boolean type: $ref: '#/components/schemas/KerasVisualLayerType' learnBlockType: $ref: '#/components/schemas/LearnBlockType' organizationModelId: type: integer implementationVersion: type: integer repositoryUrl: type: string description: URL to the source code of this custom learn block. author: type: string blockType: $ref: '#/components/schemas/BlockType' customParameters: type: array items: $ref: '#/components/schemas/DSPGroupItem' displayCategory: $ref: '#/components/schemas/BlockDisplayCategory' KerasModelMetadataMetrics: type: object required: - type - loss - confusionMatrix - report - onDevicePerformance - visualization - isSupportedOnMcu - additionalMetrics properties: type: description: The type of model $ref: '#/components/schemas/KerasModelTypeEnum' loss: type: number description: The model's loss on the validation set after training accuracy: type: number description: The model's accuracy on the validation set after training confusionMatrix: type: array example: - - 31 - 1 - 0 - - 2 - 27 - 3 - - 1 - 0 - 39 items: type: array items: type: number report: type: object description: Precision, recall, F1 and support scores onDevicePerformance: type: array items: type: object required: - mcu - name - isDefault - latency - tflite - eon properties: mcu: type: string name: type: string isDefault: type: boolean latency: type: number tflite: type: object required: - ramRequired - romRequired - arenaSize - modelSize properties: ramRequired: type: integer romRequired: type: integer arenaSize: type: integer modelSize: type: integer eon: type: object required: - ramRequired - romRequired - arenaSize - modelSize properties: ramRequired: type: integer romRequired: type: integer arenaSize: type: integer modelSize: type: integer eon_ram_optimized: type: object required: - ramRequired - romRequired - arenaSize - modelSize properties: ramRequired: type: integer romRequired: type: integer arenaSize: type: integer modelSize: type: integer customMetrics: description: Custom, device-specific performance metrics type: array items: $ref: '#/components/schemas/KerasCustomMetric' predictions: type: array items: $ref: '#/components/schemas/ModelPrediction' visualization: type: string enum: - featureExplorer - dataExplorer - none isSupportedOnMcu: type: boolean mcuSupportError: type: string profilingJobId: description: If this is set, then we're still profiling this model. Subscribe to job updates to see when it's done (afterward the metadata will be updated). type: integer profilingJobFailed: description: If this is set, then the profiling job failed (get the status by getting the job logs for 'profilingJobId'). type: boolean additionalMetrics: type: array items: $ref: '#/components/schemas/AdditionalMetric' AllLearnBlocksResponse: allOf: - $ref: '#/components/schemas/GenericApiResponse' - type: object required: - learnBlocks properties: learnBlocks: type: array items: type: object required: - type - title - author - description - name properties: type: $ref: '#/components/schemas/LearnBlockType' title: type: string author: type: string description: type: string name: type: string organizationModelId: type: number experiment: type: string displayCategory: $ref: '#/components/schemas/BlockDisplayCategory' publicProjectTierAvailability: $ref: '#/components/schemas/PublicProjectTierAvailability' TunerSpaceInputBlock: type: object additionalProperties: true DSPGroupItem: type: object required: - name - type - param - defaultValue - readonly - shouldShow - required properties: name: type: string example: Scale axes value: type: string defaultValue: type: string type: type: string example: text help: type: string example: Divide axes by this number param: type: string example: scale-axes selectOptions: type: array items: type: object properties: value: type: string selected: type: boolean optionLabel: type: string readonly: type: boolean shouldShow: type: boolean showIf: type: object required: - parameter - operator - value properties: parameter: type: string operator: type: string enum: - eq - neq value: type: string invalidText: type: string section: type: string description: Interface section to render parameter in. enum: - advanced - augmentation - modelProfiling multiline: type: boolean description: Only valid for type "string". Will render a multiline text area. required: type: boolean hint: type: string description: If set, shows a hint below the input. placeholder: type: string description: Sets the placeholder text on the input element (for types "string", "int", "float" and "secret") ModelPrediction: type: object required: - sampleId - startMs - endMs - prediction properties: sampleId: type: integer startMs: type: number endMs: type: number label: type: string prediction: type: string predictionCorrect: type: boolean f1Score: type: number description: Only set for object detection projects anomalyScores: type: array description: Only set for visual anomaly projects. 2D array of shape (n, n) with raw anomaly scores, where n varies based on the image input size and the specific visual anomaly algorithm used. The scores corresponds to each grid cell in the image's spatial matrix. items: type: array items: type: number TunerCreateTrialImpulse: type: object required: - inputBlock - dspBlock - learnBlock properties: id: type: string experiment: type: string original_trial_id: type: string optimizationRound: type: number inputBlocks: type: array items: $ref: '#/components/schemas/TunerCreateTrialInputBlock' dspBlocks: type: array items: $ref: '#/components/schemas/TunerCreateTrialDSPBlock' learnBlocks: type: array items: $ref: '#/components/schemas/TunerCreateTrialLearnBlock' TunerSpaceImpulse: type: object required: - inputBlocks - dspBlocks - learnBlocks properties: parameters: type: object description: Hyperparameters with potential values that can be used in any block in this impulse inputBlocks: type: array description: Input Blocks that are part of this impulse items: $ref: '#/components/schemas/TunerSpaceInputBlock' dspBlocks: type: array description: DSP Blocks that are part of this impulse items: $ref: '#/components/schemas/TunerSpaceDSPBlock' learnBlocks: type: array description: Learning Blocks that are part of this impulse items: type: array items: $ref: '#/components/schemas/TunerSpaceLearnBlock' KerasModelTypeEnum: type: string enum: - int8 - float32 - akida - requiresRetrain TunerCreateTrialDSPBlock: type: object additionalProperties: true JobStatus: type: string enum: - cancelled - creating - failed - pending - running - success LearnBlockType: type: string description: The type of learning block (anomaly, keras, keras-transfer-image, keras-transfer-kws, keras-object-detection, keras-regression). Each behaves differently. enum: - anomaly - anomaly-gmm - keras - keras-transfer-image - keras-transfer-kws - keras-object-detection - keras-regression - keras-akida - keras-akida-transfer-image - keras-akida-object-detection - keras-visual-anomaly GenericApiResponse: type: object required: - success properties: success: type: boolean description: Whether the operation succeeded error: type: string description: Optional error description (set if 'success' was false) parameters: TrialIdParameter: name: trialId in: path required: true description: trial ID schema: type: string OptimizeOrganizationIdParameter: name: organizationId in: query required: true description: Organization ID schema: type: integer ProjectIdParameter: name: projectId in: path required: true description: Project ID schema: type: integer JobIdParameter: name: jobId in: path required: true description: Job ID schema: type: integer TunerCoordinatorJobIdParameter: name: tunerCoordinatorJobId in: path required: true description: Tuner coordinator job ID schema: type: integer OptimizeOrganizationDspIdParameter: name: organizationDspId in: query required: true description: Organization DSP ID schema: type: integer securitySchemes: ApiKeyAuthentication: type: apiKey in: header name: x-api-key JWTAuthentication: type: apiKey in: cookie name: jwt JWTHttpHeaderAuthentication: type: apiKey in: header name: x-jwt-token