For the complete documentation index, see llms.txt. This page is also available as Markdown.

계속하려면

분기의 실행을 조건부로 중지합니다.

사용자 정의 논리 문을 평가하여 워크플로 실행을 조건부로 제어하고, 조건 결과에 따라 지정된 다음 단계로 계속 진행하거나 현재 브랜치를 종료함으로써 동적 분기, 조건부 처리, 워크플로 제어 흐름을 가능하게 합니다.

이 블록의 작동 방식

이 블록은 조건문을 평가하고 워크플로 브랜치가 실행을 계속할지 중지할지를 제어합니다. 이 블록은:

  1. 쿼리 언어 구문을 사용하는 조건문과 평가 매개변수를 입력으로 받습니다

  2. 조건문 정의로부터 평가 함수를 만듭니다

  3. 제공된 평가 매개변수로 조건을 평가합니다(평가 매개변수는 워크플로 입력, 단계 출력 또는 기타 동적 값을 참조할 수 있습니다)

  4. 조건이 다음으로 평가되면 :

    • 지정된 다음 단계 블록

    • 만약 stop_delay 가 구성되어 있으면, 지연된 종료를 가능하게 하기 위해 현재 시간을 기록합니다

  5. 조건이 다음으로 평가되면 거짓:

    • 현재 워크플로 브랜치를 종료합니다(이 브랜치의 하위 블록 실행을 중지합니다)

    • 만약 stop_delay 가 이전에 트리거되었고 지연 기간이 아직 지나지 않았다면, 실행을 다음으로 계속합니다 다음 단계 남은 지연 시간 동안

  6. 실행을 다음 단계로 계속할지 또는 브랜치를 종료할지에 대한 흐름 제어 지시문을 반환합니다

이 블록은 동적 값(워크플로 데이터에서 가져온 값)과 정적 값 사이의 이진 비교(동등, 부등, 초과, 미만 등)를 지원하는 쿼리 언어 시스템을 사용합니다. 조건은 숫자 값, 문자열 값 또는 기타 데이터 유형을 검사할 수 있습니다. 이 stop_delay 기능은 조건이 거짓이 된 후에도 브랜치가 잠시 활성 상태를 유지할 수 있게 하며, 이는 일시적인 상태를 처리하거나 짧은 조건 변동 동안 실행을 유지하는 데 유용합니다(예: 탐지 개수가 임계값 아래로 떨어진 후에도 워크플로를 몇 초 동안 활성 상태로 유지).

일반적인 사용 사례

  • 탐지 개수 기반 조건부 처리: 탐지된 객체 수가 임계값을 초과할 때만 처리를 계속합니다(예: 3개 이상의 객체가 탐지될 때만 알림을 처리하고, 개수가 임계값보다 낮으면 처리를 건너뜁니다)

  • 동적 품질 관리: 이미지 품질 지표, 탐지 신뢰도 점수 또는 모델 출력 결과를 평가하고 품질 기준을 충족할 때만 워크플로 실행을 계속하며, 기준을 충족하지 못하는 브랜치는 종료합니다

  • 조건부 알림: 특정 조건이 충족될 때만 알림을 보내거나 작업을 트리거합니다(예: 신뢰도 점수가 0.9보다 높을 때 또는 특정 객체 클래스가 탐지될 때 알림 블록으로 계속 진행)

  • 브랜치 필터링 및 라우팅: 동적 조건에 따라 워크플로 실행을 서로 다른 브랜치로 라우팅하여, 하나의 경로는 계속 진행하고 나머지는 종료되도록 합니다(예: 모션이 감지되면 비디오 녹화 브랜치를 계속하고, 활동이 없으면 종료)

  • 임계값 기반 작업: 값이 임계값을 만족할 때만 하위 블록을 실행합니다(예: 탐지 개수가 5보다 클 때만 데이터 저장으로 계속 진행하고, 그렇지 않으면 종료합니다. 온도가 임계값보다 높을 때만 처리하고, 낮으면 건너뜁니다)

  • 일시적 상태 처리: 사용 stop_delay 조건이 거짓이 된 후에도 브랜치를 잠시 활성 상태로 유지하여 짧은 조건 변화를 처리하고, 일시적인 변동에 대한 빠른 켜기/끄기 전환을 방지합니다

다른 블록과 연결하기

이 블록은 워크플로 실행 흐름을 제어하며 다음과 같이 연결할 수 있습니다:

  • 탐지 또는 분석 블록 다음에 (예: 객체 탐지, 분류, 키포인트 탐지) 탐지 개수, 신뢰도 점수, 클래스 이름 또는 기타 예측 결과를 평가하고 분석 결과에 따라 조건부로 처리를 계속합니다

  • 데이터 처리 블록 다음에 (예: 속성 정의, 표현식, 델타 필터) 계산된 값, 지표 또는 처리된 데이터를 평가하고, 처리 결과에 따라 후속 블록이 실행될지 제어합니다

  • 알림 블록 앞에 (예: 이메일 알림, Slack 알림, Twilio SMS 알림) 특정 조건이 충족될 때만 알림을 조건부로 트리거하여 불필요한 경고를 방지합니다

  • 데이터 저장 블록 앞에 (예: 로컬 파일 싱크, CSV 포맷터, Roboflow 데이터셋 업로드, Webhook 싱크) 특정 기준이 충족될 때만 데이터를 조건부로 저장하거나 전송하여 저장되거나 전송되는 항목을 필터링합니다

  • 워크플로 단계 사이에서 조건부 처리 경로를 만들어, 서로 다른 브랜치가 동적 조건에 따라 실행되도록 하며, 복잡한 워크플로 논리와 의사결정 트리를 가능하게 합니다

  • 병렬 브랜치에서 여러 조건부 경로를 만들어, 워크플로의 서로 다른 부분이 각각의 조건에 따라 독립적으로 계속 진행되거나 종료되도록 합니다

유형 식별자

단계에서 다음 식별자를 사용하세요 "type" 필드: roboflow_core/continue_if@v1 워크플로에 블록을 단계로 추가하려면.

속성

이름

유형

설명

참조

이름

문자열

이 단계의 고유 식별자를 입력하세요..

조건문

문장 그룹

쿼리 언어 구문을 사용하여 조건 논리를 정의합니다. 평가할 조건을 지정합니다(예: 비교, 같음 검사, 수치 비교). 조건은 evaluation_parameters에 참조된 동적 피연산자를 (Number) ==, (Number) >, (Number) <, (String) == 등과 같은 비교자(comparator)를 사용하여 정적 값과 비교하는 이진 문장으로 구성된 StatementGroup 구문을 사용해 구성됩니다. 예: 동적 값 'left'를 (Number) ==를 사용하여 정적 값 1과 비교합니다..

stop_delay

실수

조건이 거짓이 된 후 브랜치를 종료하기 전에 실행을 계속할 초 수입니다. 조건이 이전에는 참이었다가 거짓이 되면, 종료되기 전 이 지연 시간 동안 실행이 next_steps로 계속됩니다. 이는 일시적인 상태 변화를 처리하거나 빠른 켜기/끄기 전환을 방지하는 데 유용합니다. 적용되려면 0보다 커야 합니다. 조건이 거짓이 되면 즉시 종료하도록 0(기본값)으로 설정하세요..

참조 열은 다음에서 사용할 수 있는 동적 값으로 속성을 매개변수화할 수 있는 가능성을 나타냅니다 워크플로 런타임. 참조: 바인딩 자세한 정보는 참고하세요.

입력 및 출력 바인딩

사용 가능한 연결은 바인딩 종류에 따라 달라집니다. 어떤 바인딩 종류가 조건이 참이면 계속 버전 v1 가 있습니다.

입력 및 출력 바인딩
  • 입력

    • 평가 매개변수 (*): 조건문에서 사용되는 피연산자 이름을 워크플로의 실제 값에 매핑하는 사전입니다. 이 매개변수는 조건문에서 평가되는 동적 데이터를 제공합니다. 키는 조건의 피연산자 이름(예: 'left', 'right')과 일치하며, 값은 워크플로 입력, 단계 출력 또는 계산된 값을 참조하는 선택자입니다. 예: {'left': '$steps.detection.count', 'threshold': 5} 여기서 'left'는 condition_statement에서 참조됩니다..

    • 다음 단계 (단계): 조건이 참으로 평가되면 실행할 워크플로 단계 목록입니다. 이 단계들은 조건이 충족될 때 제어 흐름을 받아 워크플로 브랜치가 계속 실행되도록 합니다. 비어 있으면 조건이 참이더라도 브랜치는 종료됩니다. 각 단계 선택자는 조건이 통과될 때 실행되어야 하는 워크플로의 블록을 참조합니다..

    • stop_delay (실수): 조건이 거짓이 된 후 브랜치를 종료하기 전에 실행을 계속할 초 수입니다. 조건이 이전에는 참이었다가 거짓이 되면, 종료되기 전 이 지연 시간 동안 실행이 next_steps로 계속됩니다. 이는 일시적인 상태 변화를 처리하거나 빠른 켜기/끄기 전환을 방지하는 데 유용합니다. 적용되려면 0보다 커야 합니다. 조건이 거짓이 되면 즉시 종료하도록 0(기본값)으로 설정하세요..

  • 출력

JSON 정의 예시

마지막 업데이트

도움이 되었나요?