> 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/yolov7.md).

# YOLOv7

저희는 우리의 [Serverless Hosted API](/roboflow/roboflow-ko/deploy/serverless-hosted-api-v2.md). Roboflow에서는 YOLOv7 학습을 지원하지 않지만, 다음을 할 수 있습니다 [자체 가중치를 업로드하고](/roboflow/roboflow-ko/deploy/upload-custom-weights.md) 그 가중치에 대해 추론을 실행할 수 있습니다.

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

YOLOv7 입력 크기는 Roboflow 외부에서 모델을 학습할 때 설정됩니다(일반적인 값: 640x640 또는 1280x1280).

## 코드 샘플

{% stepper %}
{% step %}

### API Key를 받으세요

Roboflow 계정을 만들고, 다음에서 키를 찾으세요: [Roboflow API 설정 페이지](https://app.roboflow.com/settings/api) 그리고 이를 셸에서 사용할 수 있도록 설정하세요:

```bash
export ROBOFLOW_API_KEY="your-key-here"
```

{% endstep %}

{% step %}

### 종속성을 설치하세요

Inference SDK를 설치하고 [supervision](https://supervision.roboflow.com/) 마스크를 디코딩하고 그리기 위해:

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

{% endstep %}

{% step %}

### 모델을 실행하세요

이 예제는 다음에서 학습된 공개 YOLOv7 인스턴스 세그멘테이션 모델을 실행합니다 [콘크리트 표면 결함](https://universe.roboflow.com/road-ywxxe/concrete-pugqq) (`concrete-pugqq/3`), 그런 다음 supervision을 사용해 예측된 마스크를 렌더링합니다. 자체 가중치를 서빙하려면, 여러분의 `{workspace}/{model-slug}` ID로 호출할 수 있습니다(참조 [Versions, Trainings, and Models](/roboflow/roboflow-ko/train/versions-trainings-and-models.md)).

```python
import os
import cv2
import numpy as np
import requests
import supervision as sv
from inference_sdk import InferenceHTTPClient

content = requests.get("https://media.roboflow.com/docs/concrete-crack.jpg").content
image = cv2.imdecode(np.frombuffer(content, np.uint8), cv2.IMREAD_COLOR)

client = InferenceHTTPClient(
    api_url="https://serverless.roboflow.com",
    api_key=os.environ["ROBOFLOW_API_KEY"],
)
results = client.infer(image, model_id="concrete-pugqq/3")

detections = sv.Detections.from_inference(results)

annotated = sv.MaskAnnotator().annotate(image.copy(), detections)

cv2.imwrite("annotated.png", annotated)
```

<figure><img src="/files/5b979cdf3ec6c1e43d1e61992df7db9285c38ba1" alt=""><figcaption></figcaption></figure>
{% endstep %}
{% endstepper %}

{% 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 %}
