> 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/deploy/supported-models/roboflow-3.md).

# Roboflow 3.0

Roboflow 3.0은 Roboflow의 자체 모델 아키텍처입니다. 객체 탐지, 인스턴스 세분화, 분류, 키포인트 탐지를 지원합니다. Roboflow 플랫폼에서 Roboflow 3.0 모델을 학습하고, 다음을 통해 배포합니다 [Serverless Hosted API](/roboflow/roboflow-ko/deploy/serverless-hosted-api-v2.md).

자체 호스팅 배포에 대해서는 다음을 참조하세요 [Roboflow Inference](https://inference.roboflow.com/).

{% hint style="info" %}
Roboflow 3.0에는 공개 기본 COCO 별칭이 없습니다. 학습한 자체 모델은 다음을 사용하여 호출합니다 `project/version` 식별자 [Roboflow Project](https://app.roboflow.com/).
{% endhint %}

## 코드 샘플

다음 패키지를 설치하세요: [Inference SDK](https://inference.roboflow.com/) 및 [supervision](https://supervision.roboflow.com/):

```bash
pip install inference-sdk supervision
```

아래 샘플은 여러분이 학습한 Roboflow 3.0 모델에 대해 inference를 실행합니다. 다음을 바꾸세요 `your-project/1` 를 모델 URL과 버전으로. 다음을 전달하세요 [Roboflow API Key](https://app.roboflow.com/settings/api) 다음을 통해 `API_KEY` 환경 변수입니다.

### 객체 탐지

```python
import os
import cv2
import urllib.request
import supervision as sv
from inference_sdk import InferenceHTTPClient

image_url = "https://storage.googleapis.com/com-roboflow-marketing/notebooks/examples/cars-highway.png"
image_path = "cars-highway.png"
urllib.request.urlretrieve(image_url, image_path)

image = cv2.imread(image_path)

client = InferenceHTTPClient(
    api_url="https://serverless.roboflow.com",
    api_key=os.getenv("API_KEY"),
)
result = client.infer(image, model_id="your-project/1")

detections = sv.Detections.from_inference(result)
labels = [
    f"{class_name} {confidence:.2f}"
    for class_name, confidence
    in zip(detections.data.get("class_name", []), detections.confidence)
]

annotated = sv.BoxAnnotator().annotate(scene=image.copy(), detections=detections)
annotated = sv.LabelAnnotator().annotate(scene=annotated, detections=detections, labels=labels)
cv2.imwrite("output.png", annotated)
```

### 인스턴스 세분화

```python
import os
import cv2
import urllib.request
import supervision as sv
from inference_sdk import InferenceHTTPClient

image_url = "https://storage.googleapis.com/com-roboflow-marketing/notebooks/examples/bicycle.png"
image_path = "bicycle.png"
urllib.request.urlretrieve(image_url, image_path)

image = cv2.imread(image_path)

client = InferenceHTTPClient(
    api_url="https://serverless.roboflow.com",
    api_key=os.getenv("API_KEY"),
)
result = client.infer(image, model_id="your-project/1")

detections = sv.Detections.from_inference(result)
labels = [
    f"{class_name} {confidence:.2f}"
    for class_name, confidence
    in zip(detections.data.get("class_name", []), detections.confidence)
]

annotated = sv.MaskAnnotator().annotate(scene=image.copy(), detections=detections)
annotated = sv.LabelAnnotator().annotate(scene=annotated, detections=detections, labels=labels)
cv2.imwrite("output.png", annotated)
```

### 키포인트 탐지

```python
import os
import cv2
import urllib.request
import supervision as sv
from inference_sdk import InferenceHTTPClient

image_url = "https://storage.googleapis.com/com-roboflow-marketing/notebooks/examples/person-walking.png"
image_path = "person-walking.png"
urllib.request.urlretrieve(image_url, image_path)

image = cv2.imread(image_path)

client = InferenceHTTPClient(
    api_url="https://serverless.roboflow.com",
    api_key=os.getenv("API_KEY"),
)
result = client.infer(image, model_id="your-project/1")

key_points = sv.KeyPoints.from_inference(result)

annotated = sv.EdgeAnnotator(color=sv.Color.BLUE, thickness=2).annotate(
    scene=image.copy(), key_points=key_points
)
annotated = sv.VertexAnnotator(color=sv.Color.GREEN, radius=5).annotate(
    scene=annotated, key_points=key_points
)
cv2.imwrite("output.png", annotated)
```

### Classification

분류 응답에는 신뢰도를 포함한 클래스 예측 목록이 들어 있으므로 시각화는 적용할 수 없습니다. 응답에서 상위 클래스를 직접 읽으세요.

```python
import os
import cv2
import urllib.request
from inference_sdk import InferenceHTTPClient

image_url = "https://storage.googleapis.com/com-roboflow-marketing/notebooks/examples/cars-highway.png"
image_path = "cars-highway.png"
urllib.request.urlretrieve(image_url, image_path)

image = cv2.imread(image_path)

client = InferenceHTTPClient(
    api_url="https://serverless.roboflow.com",
    api_key=os.getenv("API_KEY"),
)
result = client.infer(image, model_id="your-project/1")

print(f"Top class: {result['top']} ({result['confidence']:.4f})")
```

{% hint style="info" %}
설정 `api_url` 을 배포 대상에 맞게 다음으로 설정하세요:

* `https://serverless.roboflow.com` Serverless Hosted API용.
* `http://localhost:9001` 로컬 [Inference](https://inference.roboflow.com/) 서버.
* 당신의 [Dedicated Deployment](/roboflow/roboflow-ko/deploy/dedicated-deployments.md) 비공개 엔드포인트용 URL입니다.
  {% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.roboflow.com/roboflow/roboflow-ko/deploy/supported-models/roboflow-3.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
