> For the complete documentation index, see [llms.txt](https://docs.roboflow.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.roboflow.com/roboflow/roboflow-ko/workflows/deploy-a-workflow.md).

# Workflow 배포

Workflow를 네 가지 방법으로 배포할 수 있습니다:

1. 이미지를 다음으로 보내세요 [Roboflow API](https://inference.roboflow.com/workflows/modes_of_running/#http-api-request) Workflow를 사용해 처리합니다.
2. 만들어 보세요 [Roboflow Dedicated Deployment](/roboflow/roboflow-ko/deploy/dedicated-deployments.md) 전용으로 제공되는 인프라에서.
3. 다음을 사용하여 자체 하드웨어에서 Workflow를 실행하세요 [Roboflow Inference](https://inference.roboflow.com/install/).
4. 사용 [Batch Processing](/roboflow/roboflow-ko/deploy/batch-processing.md) 대량의 데이터를 코딩 비용 없이 효율적으로 처리하려면.

자체 하드웨어에서 Workflow를 실행하는 경우, 이미지와 비디오 파일 모두에서 실행할 수 있습니다(일반적인 **웹캠** 및 전문 **CCTV 카메라**).

온프레미스 배포를 선택하면 Inference를 배포할 수 있는 모든 시스템에서 Workflows를 실행할 수 있습니다. 여기에는 다음이 포함됩니다:

* NVIDIA Jetson
* AWS EC2, GCP Cloud Engine 및 Azure Virtual Machines
* Raspberry Pi

{% hint style="info" %}
Roboflow Enterprise 고객은 Basler 카메라에서 inference를 실행하는 것과 같은 추가 비디오 스트림 옵션을 이용할 수 있습니다. 제공 사항에 대해 자세히 알아보려면, [Roboflow 영업팀에 문의하세요](https://roboflow.com/sales).
{% endhint %}

### Workflow 배포

Workflow를 배포하려면 Workflows 편집기의 왼쪽 상단 모서리에 있는 "Deploy" 버튼을 클릭하세요. 모든 배포 옵션은 이 페이지에 문서화되어 있습니다.

Workflows 편집기의 코드 스니펫에는 Workflows URL과 API 키가 미리 입력됩니다.

{% hint style="info" %}
Workflows의 사용 한도에 대해 자세히 알아보려면 다음을 참조하세요 [Roboflow 요금 페이지](https://roboflow.com/workflows).
{% endhint %}

#### 이미지 처리

Roboflow API 또는 로컬 Inference 서버를 사용하여 단일 이미지에서 Workflow를 실행할 수 있습니다.

먼저 Roboflow Inference SDK를 설치하세요:

```python
pip install inference-sdk inference-cli 
```

로컬로 실행하는 경우 다음을 따르세요 [공식 Docker 설치 안내](https://docs.docker.com/get-docker/) 기기에 Docker를 설치하고 Inference 서버를 시작하려면:

```
inference server 시작
```

그런 다음 새 Python 파일을 만들고 다음 코드를 추가하세요:

```python
from inference_sdk import InferenceHTTPClient

client = InferenceHTTPClient(
    api_url="https://serverless.roboflow.com",  # or "http://127.0.0.1:9001" for local deployment
    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 workspace 이름과 Workflow ID로.

이 값들을 찾으려면 Roboflow Workflow를 열고 "Deploy Workflow"를 클릭하세요. 그런 다음 페이지에 표시되는 코드 스니펫에서 workspace 이름과 workflow ID를 복사하세요.

로컬 실행은 CPU 및 NVIDIA CUDA GPU 장치에서 작동합니다. 최상의 성능을 위해서는 NVIDIA Jetson 또는 NVIDIA GPU가 탑재된 클라우드 서버와 같은 GPU 지원 장치에 배포하세요.

#### 비디오 스트림 처리(RTSP, 웹캠)

비디오 스트림의 프레임에서 Workflow를 배포할 수 있습니다. 이는 웹캠이나 RTSP 스트림일 수 있습니다. 비디오 파일에서도 Workflow를 실행할 수 있습니다.

먼저 Inference를 설치하세요:

```
pip install inference  # or inference-gpu for GPU machines
```

Inference 설치에는 몇 분 정도 걸릴 수 있습니다.

그런 다음 새 Python 파일을 만들고 다음 코드를 추가하세요:

```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 workspace 이름과 Workflow ID로.

이 값들을 찾으려면 Roboflow Workflow를 열고 "Deploy Workflow"를 클릭하세요. 그런 다음 페이지에 표시되는 코드 스니펫에서 workspace 이름과 workflow ID를 복사하세요.

위 코드를 실행하면 Workflow가 비디오 또는 비디오 스트림에서 실행됩니다.

#### 데이터 일괄 처리

Roboflow Batch Processing 서비스를 사용하면 이미지와 비디오 파일 디렉터리로 구성된 전체 데이터 배치를 효율적으로 처리할 수 있습니다. 이 완전 관리형 솔루션은 코딩이나 로컬 계산이 필요하지 않습니다. 데이터와 Workflow만 선택하면 나머지는 Roboflow가 처리합니다.

Batch Processing과의 상호작용은 UI, CLI 및 REST API 모두를 지원합니다. 아래에는 CLI 명령을 제시합니다. 살펴보세요 [모든 옵션](https://inference.roboflow.com/workflows/batch_processing/about/#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>
```
