Workflow 배포
Workflow는 네 가지 방법으로 배포할 수 있습니다:
이미지를 Roboflow API 로 전송하여 Workflow로 처리합니다.
를 생성합니다 Roboflow Dedicated Deployment 귀하만을 위해 전용으로 프로비저닝된 인프라에 배포합니다.
자체 하드웨어에서 Workflow를 실행하려면 Roboflow Inference.
를 예약합니다 Roboflow Cloud에서 배치 작업 코딩 없이 대량의 데이터를 자동으로 처리합니다.
자체 하드웨어에서 Workflow를 실행하면 이미지와 비디오 파일(일반 웹캠 및 전문 CCTV 카메라).
온프레미스 배포를 선택하면 Inference를 배포할 수 있는 모든 시스템에서 Workflows를 실행할 수 있습니다. 여기에는 다음이 포함됩니다:
NVIDIA Jetson
AWS EC2, GCP Compute Engine 및 Azure Virtual Machines
Raspberry Pi
Workflow 배포
Workflow를 배포하려면 Workflows 편집기 왼쪽 상단의 "Deploy" 버튼을 클릭하세요. 모든 배포 옵션은 이 페이지에 문서화되어 있습니다.
Workflows 편집기의 코드 스니펫은 귀하의 Workflows URL과 API 키로 미리 채워집니다.
이미지 처리
Roboflow API 또는 로컬 Inference 서버를 사용하여 단일 이미지에서 Workflow를 실행할 수 있습니다.
먼저 Roboflow Inference SDK를 설치하세요:
pip install inference-sdk inference-cli 로컬에서 실행하는 경우, 다음 지침을 따르세요 공식 Docker 설치 지침 머신에 Docker를 설치하고 Inference 서버를 시작하려면:
inference server start그런 다음 새 Python 파일을 만들고 다음 코드를 추가하세요:
from inference_sdk import InferenceHTTPClient
client = InferenceHTTPClient(
api_url="https://detect.roboflow.com", # 로컬 배포의 경우 "http://127.0.0.1:9001"
api_key="API_KEY"
)
result = client.run_workflow(
workspace_name="workspace-name",
workflow_id="workflow-id",
images={
"image": "YOUR_IMAGE.jpg"
}
)
위에서, API_KEY 를 귀하의 Roboflow API 키로 교체하세요. 다음을 교체하세요 workspace-name 이제 GPU TRT 컨테이너가 Docker에서 실행 중입니다. 다른 Ubuntu 터미널을 열어 Docker 컨테이너로 추론 데이터를 보낼 준비를 합니다. 다음을 사용하세요: workflow-id 을(를) 귀하의 Roboflow 워크스페이스 이름과 Workflow ID로 교체하세요.
이 값을 찾으려면 Roboflow Workflow를 열고 "Deploy Workflow"를 클릭하세요. 그런 다음 페이지에 표시되는 코드 스니펫에서 워크스페이스 이름과 workflow ID를 복사하세요.
로컬 실행은 CPU 및 NVIDIA CUDA GPU 장치에서 작동합니다. 최상의 성능을 위해 NVIDIA Jetson과 같은 GPU 지원 장치나 NVIDIA GPU가 있는 클라우드 서버에 배포하세요.
비디오 스트림 처리 (RTSP, 웹캠)
비디오 스트림의 프레임에서 Workflow를 배포할 수 있습니다. 이는 웹캠이나 RTSP 스트림일 수 있습니다. 비디오 파일에서도 Workflow를 실행할 수 있습니다.
먼저 Inference를 설치하세요:
pip install inference # GPU 머신의 경우 inference-gpuInference 설치에는 몇 분 정도 걸릴 수 있습니다.
그런 다음 새 Python 파일을 만들고 다음 코드를 추가하세요:
# InferencePipeline 객체를 가져옵니다
from inference import InferencePipeline
def my_sink(result, video_frame):
print(result) # 각 프레임의 예측으로 무언가를 수행합니다
# 파이프라인 객체 초기화
pipeline = InferencePipeline.init_with_workflow(
api_key="API_KEY",
workspace_name="workspace-name",
workflow_id="workflow-id",
video_reference=0, # 비디오 경로, RTSP 스트림, 장치 ID(int, 내장 웹캠은 보통 0), 또는 RTSP 스트림 URL
on_prediction=my_sink
)
pipeline.start() # 파이프라인 시작
pipeline.join() # 파이프라인 스레드 완료를 대기
위에서, API_KEY 를 귀하의 Roboflow API 키로 교체하세요. 다음을 교체하세요 workspace-name 이제 GPU TRT 컨테이너가 Docker에서 실행 중입니다. 다른 Ubuntu 터미널을 열어 Docker 컨테이너로 추론 데이터를 보낼 준비를 합니다. 다음을 사용하세요: workflow-id 을(를) 귀하의 Roboflow 워크스페이스 이름과 Workflow ID로 교체하세요.
이 값을 찾으려면 Roboflow Workflow를 열고 "Deploy Workflow"를 클릭하세요. 그런 다음 페이지에 표시되는 코드 스니펫에서 워크스페이스 이름과 workflow ID를 복사하세요.
위 코드를 실행하면 Workflow가 비디오 또는 비디오 스트림에서 실행됩니다.
데이터 배치 처리
Roboflow Batch Processing 서비스를 사용하면 이미지 및 비디오 파일 디렉토리와 같은 전체 데이터 배치를 효율적으로 처리할 수 있습니다. 이 완전 관리형 솔루션은 코딩이나 로컬 계산이 필요 없습니다. 데이터를 선택하고 Workflow를 선택하면 Roboflow가 나머지를 처리합니다.
Batch Processing은 UI, CLI 및 REST API 상호작용을 모두 지원합니다. 아래에는 CLI 명령을 제시합니다. 다음에서 모든 옵션.
처리를 실행하려면 Inference CLI를 설치하세요:
pip install inference-cli그런 다음 데이터를 수집할 수 있습니다:
inference rf-cloud data-staging create-batch-of-images \
--images-dir <your-images-dir-path> \
--batch-id <your-batch-id>데이터가 로드되면 처리 작업을 시작하세요:
inference rf-cloud batch-processing process-images-with-workflow \
--workflow-id <workflow-id> \
--batch-id <batch-id>작업 진행 상황은 다음 명령으로 표시할 수 있습니다:
inference rf-cloud batch-processing show-job-details \
--job-id <your-job-id> # job-id는 작업을 생성할 때 표시됩니다작업이 완료되면 결과를 내보내세요:
inference rf-cloud data-staging export-batch \
--target-dir <dir-to-export-result> \
--batch-id <output-batch-of-a-job>Last updated
Was this helpful?