워크플로우 배포
Workflow를 배포하는 네 가지 방법이 있습니다:
이미지를 다음으로 전송하여 Roboflow API Workflow를 사용해 처리합니다.
다음을 생성하세요 Roboflow Dedicated Deployment 오직 귀하만을 위해 프로비저닝된 인프라에서.
자체 하드웨어에서 Workflow를 실행하려면 다음을 사용하세요 Roboflow Inference.
다음을 예약하세요 Roboflow Cloud에서 배치 작업 코딩 없이 대량의 데이터를 자동으로 처리할 수 있습니다.
자체 하드웨어에서 Workflow를 실행하면 이미지와 비디오 파일(일반 웹캠 및 전문가용 CCTV 카메라).
온프레미스 배포를 선택하면 Inference를 배포할 수 있는 모든 시스템에서 Workflows를 실행할 수 있습니다. 여기에는 다음이 포함됩니다:
NVIDIA Jetson
AWS EC2, GCP Cloud 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
와 workflow-id
를 Roboflow 워크스페이스 이름과 Workflow ID로 교체하세요.
이 값들을 찾으려면 Roboflow Workflow를 열고 "Deploy Workflow"를 클릭하세요. 그런 다음, 페이지에 나타나는 코드 스니펫에서 워크스페이스 이름과 Workflow ID를 복사하세요.
로컬 실행은 CPU와 NVIDIA CUDA GPU 장치에서 작동합니다. 최고의 성능을 위해 NVIDIA Jetson 또는 NVIDIA GPU가 장착된 클라우드 서버와 같은 GPU 지원 장치에 배포하세요.
비디오 스트림 처리 (RTSP, 웹캠)
Workflow를 비디오 스트림의 프레임에 배포할 수 있습니다. 이는 웹캠이나 RTSP 스트림일 수 있습니다. 또한 비디오 파일에도 Workflow를 실행할 수 있습니다.
먼저, Inference를 설치하세요:
pip install inference # GPU 머신의 경우 inference-gpu
Inference 설치에는 몇 분이 걸릴 수 있습니다.
그런 다음, 새 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, # 비디오 경로, RSTP 스트림, 장치 id(int, 내장 웹캠은 보통 0), 또는 RTSP 스트림 url
on_prediction=my_sink
)
pipeline.start() #파이프라인 시작
pipeline.join() #파이프라인 스레드 종료 대기
위에서 API_KEY
를 Roboflow API 키로 교체하세요. 그리고 workspace-name
와 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?