워크플로 배포
워크플로를 배포하는 네 가지 방법: 로보플로 API, 전용 배포, 자체 호스팅 Inference, 또는 일괄 처리.
워크플로를 네 가지 방법으로 배포할 수 있습니다:
이미지를 다음으로 전송하세요: Roboflow API 에서 워크플로를 사용해 처리하세요.
다음을 생성하세요: Roboflow 전용 배포 를 귀하의 전용 인프라에 배포하세요.
다음을 사용하여 자신의 하드웨어에서 워크플로를 실행하세요 Roboflow Inference.
다음을 사용하세요: 배치 처리 를 사용해 코딩 비용을 효율적으로 들이지 않고 대량의 데이터를 처리하세요.
어떤 옵션을 사용해야 하나요?
HTTP API (Roboflow 호스팅 또는 자체 호스팅 inference 서버)
애플리케이션을 Python 이외의 언어로 유지한 채 워크플로를 독립형 서비스로 사용하거나, 연산 집약적인 작업을 전용 서버로 오프로드하려는 경우.
Serverless 또는 자체 호스팅 Inference Server에서 워크플로를 통해 비디오 파일, 웹캠, 카메라 스트림을 처리합니다.
명령줄에서 코드 없이 이미지, 디렉터리 또는 비디오 파일을 처리합니다.
저장된 이미지와 비디오에 대한 대규모 비동기 작업으로, 귀하를 위해 프로비저닝된 인프라를 사용합니다.
inference Python 패키지
Execution Engine을 HTTP를 거치지 않고 완전히 제어하면서 Python 애플리케이션 내부에서 직접 실행합니다. 다음을 참조하세요: 실행 엔진.
Roboflow 호스팅 API에서 워크플로를 실행할 때는 다음 두 가지 제한을 고려해야 합니다:
워크플로 런타임은 최대 20초입니다.
응답 페이로드는 최대 6MB이므로, 시각화 블록이 많거나 입력 이미지가 큰 워크플로는 실패할 수 있습니다.
자체 호스팅 및 전용 배포에는 이러한 제한이 없습니다.
자체 하드웨어에서 워크플로를 실행하면 일반 웹캠 및 전문 CCTV 카메라).
온프레미스 배포를 선택하면 Inference를 배포할 수 있는 모든 시스템에서 워크플로를 실행할 수 있습니다. 여기에는 다음이 포함됩니다:
NVIDIA Jetson
AWS EC2, GCP Cloud Engine, Azure 가상 머신
Raspberry Pi
Roboflow Enterprise 고객은 Basler 카메라에서 추론 실행과 같은 추가 비디오 스트림 옵션을 이용할 수 있습니다. 제공 항목에 대해 자세히 알아보려면, Roboflow 영업팀에 문의하세요.
Workflow 배포하기
워크플로를 배포하려면 워크플로 에디터의 왼쪽 상단 모서리에 있는 "Deploy" 버튼을 클릭하세요. 모든 배포 옵션은 이 페이지에 문서화되어 있습니다.
워크플로 에디터의 코드 스니펫에는 워크플로 URL과 API 키가 미리 입력됩니다.
스니펫은 에디터가 실행 중인 런타임과 일치합니다. 에디터를 로컬 Inference 서버 또는 전용 배포로 전환하면, api_url 각 스니펫의 항목은 해당 서버를 가리키고, 일치하는 탭은 권장으로 표시됩니다. 스니펫은 저장된 워크플로 미리보기에서 예시 이미지를 가져와 채워 넣기도 합니다.
워크플로 사용 제한에 대해 자세히 알아보려면 Roboflow 요금 페이지.
이미지 처리
Roboflow API 또는 로컬 Inference 서버를 사용해 단일 이미지에서 워크플로를 실행할 수 있습니다.
먼저 Roboflow Inference SDK를 설치하세요:
로컬에서 실행하는 경우 공식 Docker 설치 안내 를 따라 머신에 Docker를 설치하고 Inference 서버를 시작하세요:
그다음 새 Python 파일을 만들고 다음 코드를 추가하세요:
위에서 API_KEY 를 Roboflow API 키로 바꾸세요. 다음도 바꾸세요 workspace-name 및 workflow-id 를 Roboflow 워크스페이스 이름과 워크플로 ID로 바꾸세요.
이 값들을 찾으려면 Roboflow 워크플로를 열고 "Deploy Workflow"를 클릭하세요. 그런 다음 페이지에 표시되는 코드 스니펫에서 워크스페이스 이름과 워크플로 ID를 복사하세요.
로컬 실행은 CPU 및 NVIDIA CUDA GPU 장치에서 동작합니다. 최상의 성능을 위해 NVIDIA Jetson이나 NVIDIA GPU가 있는 클라우드 서버 같은 GPU 지원 장치에 배포하세요.
엔드포인트를 어떤 언어에서든 직접 호출하려면 HTTP 요청을 보내세요:
다음의 키는 inputs 객체는 워크플로에 의해 결정되므로, 정의한 입력에 따라 이름이 달라집니다. 다음으로 선언된 입력은 WorkflowImage 다음이 포함된 객체를 사용합니다: type 및 값 키; HTTP를 통해 지원되는 type 값은 url 및 base64.
위 예시는 Roboflow 플랫폼에 저장된 워크플로를 실행합니다. 또한 요청과 함께 전체 워크플로 정의를 보낼 수도 있으며, 이는 API 키로 보호된 블록을 사용하지 않는 처음부터 만든 워크플로에 유용합니다. 다음을 참조하세요: Inference SDK 다음의 사양 인자.
비디오 스트림 처리
Inference SDK WebRTC 클라이언트를 사용하여 웹캠, RTSP 스트림 또는 비디오 파일에서 워크플로를 실행하세요. 동일한 코드는 Serverless와 자체 호스팅 Inference Server에서 모두 동작합니다.
SDK와 WebRTC 종속성을 설치하세요:
자체 호스팅 Inference Server를 시작하거나 https://serverless.roboflow.com 서버 없이 실행할 수 있습니다. 그런 다음 Python 파일을 만드세요:
위에서 API_KEY 를 Roboflow API 키로 바꾸세요. 다음도 바꾸세요 workspace-name 및 workflow-id 를 Roboflow 워크스페이스 이름과 워크플로 ID로 바꾸세요.
이 값들을 찾으려면 Roboflow 워크플로를 열고 "Deploy Workflow"를 클릭하세요. 그런 다음 페이지에 표시되는 코드 스니펫에서 워크스페이스 이름과 워크플로 ID를 복사하세요.
다음을 변경하세요 WebcamSource() 를 비디오가 로컬 웹캠에서 오지 않는 경우 다른 소스로 바꾸세요. 다음을 참조하세요: 워크플로를 이용한 비디오 처리 RTSP 스트림, 비디오 파일, 출력 비디오용.
데이터 배치 처리
Roboflow Batch Processing 서비스를 사용하여 이미지 및 비디오 파일 디렉터리 같은 전체 데이터 배치를 효율적으로 처리할 수 있습니다. 이 완전 관리형 솔루션은 코딩이나 로컬 계산을 요구하지 않습니다. 데이터와 워크플로를 선택하기만 하면 Roboflow가 나머지를 처리합니다.
Batch Processing과의 UI, CLI, REST API 상호작용을 모두 지원합니다. 아래에서는 CLI 명령을 소개합니다. 다음을 알아보세요: 모든 옵션.
처리를 실행하려면 Inference CLI를 설치하세요:
그다음 데이터를 적재할 수 있습니다:
데이터가 로드되면 처리 작업을 시작하세요:
작업 진행 상황은 다음을 사용하여 표시할 수 있습니다:
작업이 완료되면 결과를 내보내세요:
CLI로 로컬 디렉터리 처리
이미 실행 중인 머신에 데이터가 있는 경우, inference-cli 코드 없이 개별 이미지, 이미지 디렉터리 또는 비디오 파일에 대해 워크플로를 실행할 수 있습니다:
출력 디렉터리에는 입력 파일마다 하나의 하위 디렉터리가 있으며, 각 하위 디렉터리에는 results.json 파일이 있어 해당 파일의 워크플로 결과와 실행 중 생성된 이미지가 들어 있고, 또 aggregated_results.csv 파일이 있어 모든 입력의 결과가 하나로 연결되어 있습니다.
다음을 참조하세요: Inference CLI 참조 모든 옵션에 대해.
다음 단계
마지막 업데이트
도움이 되었나요?