Link to this sectionYOLO26 모델 형식에서 TF.js 모델 형식으로 내보내기#
머신러닝 모델을 브라우저나 Node.js 환경에 직접 배포하는 것은 까다로울 수 있습니다. 사용자의 장치에서 대화형 애플리케이션을 로컬로 실행하려면 모델 형식이 더 빠른 성능을 낼 수 있도록 최적화되어야 합니다. TensorFlow.js 또는 TF.js 모델 형식은 최소한의 전력을 사용하면서 빠른 성능을 제공하도록 설계되었습니다.
The 'export to TF.js model format' feature allows you to optimize your Ultralytics YOLO26 models for high-speed and locally-run object detection inference. In this guide, we'll walk you through converting your models to the TF.js format, making it easier for your models to perform well on various local browsers and Node.js applications.
Link to this sectionTF.js로 내보내야 하는 이유는 무엇인가요?#
더 넓은 TensorFlow 생태계의 일부로 TensorFlow 팀이 개발한 TensorFlow.js로 머신러닝 모델을 내보내면 머신러닝 애플리케이션 배포 시 여러 가지 이점을 얻을 수 있습니다. 이는 민감한 데이터를 장치 내에 유지함으로써 사용자 개인정보 보호와 보안을 강화하는 데 도움이 됩니다. 아래 이미지는 TensorFlow.js 아키텍처와 머신러닝 모델이 웹 브라우저 및 Node.js에서 어떻게 변환되고 배포되는지를 보여줍니다.
모델을 로컬에서 실행하면 지연 시간이 줄어들고 더 반응성이 뛰어난 사용자 경험을 제공합니다. 또한 TensorFlow.js는 오프라인 기능을 지원하여 인터넷 연결 없이도 애플리케이션을 사용할 수 있게 해줍니다. TF.js는 확장성을 고려해 설계되었으며 GPU 가속을 지원하므로, 리소스가 제한된 장치에서도 복잡한 모델을 효율적으로 실행할 수 있습니다.
Link to this sectionTF.js의 주요 기능#
개발자를 위한 TF.js의 강력한 주요 기능은 다음과 같습니다.
-
크로스 플랫폼 지원: TensorFlow.js는 브라우저와 Node.js 환경 모두에서 사용할 수 있어 다양한 플랫폼에 걸쳐 유연한 배포가 가능합니다. 이를 통해 개발자는 애플리케이션을 보다 쉽게 구축하고 배포할 수 있습니다.
-
다중 백엔드 지원: TensorFlow.js는 CPU, GPU 가속을 위한 WebGL, 거의 네이티브에 가까운 실행 속도를 위한 WebAssembly(WASM), 고급 브라우저 기반 머신러닝 기능을 위한 WebGPU를 포함하여 계산을 위한 다양한 백엔드를 지원합니다.
-
오프라인 기능: TensorFlow.js를 사용하면 인터넷 연결 없이도 브라우저에서 모델을 실행할 수 있어 오프라인 환경에서도 작동하는 애플리케이션 개발이 가능합니다.
Link to this sectionTensorFlow.js를 활용한 배포 옵션#
YOLO26 모델을 TF.js 형식으로 내보내는 과정을 시작하기 전에, 이 형식이 사용되는 일반적인 배포 시나리오를 살펴보겠습니다.
TF.js는 머신러닝 모델을 배포하기 위한 다양한 옵션을 제공합니다.
-
브라우저 내 ML 애플리케이션: 브라우저에서 머신러닝 모델을 직접 실행하는 웹 애플리케이션을 구축할 수 있습니다. 서버 측 계산의 필요성이 제거되어 서버 부하가 줄어듭니다.
-
Node.js 애플리케이션: TensorFlow.js는 Node.js 환경에서의 배포도 지원하여 서버 측 머신러닝 애플리케이션 개발을 가능하게 합니다. 서버의 처리 능력이 필요하거나 서버 측 데이터에 액세스해야 하는 애플리케이션에 특히 유용합니다.
-
Chrome 확장 프로그램: 흥미로운 배포 시나리오 중 하나는 TensorFlow.js를 사용하여 Chrome 확장 프로그램을 만드는 것입니다. 예를 들어, 사용자가 웹페이지 내의 이미지에서 마우스 오른쪽 버튼을 클릭하여 사전 학습된 ML 모델을 사용하여 이미지를 분류할 수 있는 확장 프로그램을 개발할 수 있습니다. TensorFlow.js는 일상적인 웹 브라우징 경험에 통합되어 머신러닝을 기반으로 즉각적인 통찰력이나 보조 기능을 제공할 수 있습니다.
Link to this sectionYOLO26 모델을 TensorFlow.js로 내보내기#
YOLO26 모델을 TF.js로 변환하여 모델 호환성과 배포 유연성을 확장할 수 있습니다.
Link to this section설치#
필수 패키지를 설치하려면 다음 명령어를 실행하십시오:
# Install the required package for YOLO26
pip install ultralytics설치 과정과 관련된 자세한 지침 및 모범 사례는 Ultralytics 설치 가이드를 확인하십시오. YOLO26을 위한 필수 패키지를 설치하는 동안 어려움이 발생하면 일반 문제 가이드에서 해결 방법과 팁을 확인하시기 바랍니다.
Link to this section사용법#
모든 Ultralytics YOLO26 모델은 즉시 내보내기를 지원하도록 설계되어 있어, 선호하는 배포 워크플로우에 쉽게 통합할 수 있습니다. 지원되는 내보내기 형식 및 구성 옵션 전체 목록을 확인하여 애플리케이션에 가장 적합한 설정을 선택하십시오.
TF.js 형식은 Ultralytics에서 내보내기 전용입니다. 예측(Predict) 및 검증(Validate) 기능은 로컬에서 사용할 수 없습니다. 내보낸 모델은 TensorFlow.js 런타임을 사용하여 브라우저나 Node.js 애플리케이션에 배포하십시오.
from ultralytics import YOLO
# Load a YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to TF.js format
model.export(format="tfjs") # creates '/yolo26n_web_model'Ultralytics는 로컬 TF.js 추론 백엔드를 제공하지 않으므로 yolo predict 및 yolo val은 _web_model을 로드할 수 없습니다. 대신 웹이나 Node.js 애플리케이션에서 TensorFlow.js 런타임과 함께 내보낸 모델을 실행하십시오.
Link to this section내보내기 인수#
| 인수 | 유형 | 기본값 | 설명 |
|---|---|---|---|
format | str | 'tfjs' | 내보낸 모델의 대상 형식으로, 다양한 배포 환경과의 호환성을 정의합니다. |
imgsz | int 또는 tuple | 640 | 모델 입력에 필요한 이미지 크기입니다. 정사각형 이미지의 경우 정수를 사용하거나, 특정 치수의 경우 튜플 (height, width)을 사용할 수 있습니다. |
half | bool | False | FP16(반정밀도) 양자화를 활성화하여 모델 크기를 줄이고 지원되는 하드웨어에서 추론 속도를 잠재적으로 향상시킵니다. |
int8 | bool | False | INT8 양자화를 활성화하여 모델을 추가로 압축하고 정확도 손실을 최소화하면서 추론 속도를 높입니다. 주로 에지 디바이스에 사용됩니다. |
nms | bool | False | 정확하고 효율적인 탐지 후처리에 필수적인 NMS(Non-Maximum Suppression)를 추가합니다. |
batch | int | 1 | 내보낸 모델의 추론 배치 크기나 predict 모드에서 내보낸 모델이 동시에 처리할 최대 이미지 수를 지정합니다. |
data | str | 'coco8.yaml' | 양자화에 필수적인 데이터셋 구성 파일 경로(기본값: coco8.yaml)입니다. |
fraction | float | 1.0 | INT8 양자화 보정에 사용할 데이터셋의 비율을 지정합니다. 전체 데이터셋의 일부만 사용하여 보정할 수 있어 실험 시나 리소스가 제한된 경우에 유용합니다. INT8이 활성화된 상태에서 지정하지 않으면 전체 데이터셋이 사용됩니다. |
device | str | None | 내보내기를 위한 장치를 지정합니다: CPU (device=cpu), Apple 실리콘용 MPS (device=mps). |
내보내기 프로세스에 대한 자세한 내용은 내보내기에 관한 Ultralytics 문서 페이지를 방문하십시오.
Link to this section내보낸 YOLO26 TensorFlow.js 모델 배포#
YOLO26 모델을 TF.js 형식으로 내보냈으므로 이제 다음 단계는 배포입니다. Ultralytics는 로컬 TF.js 추론 백엔드를 제공하지 않으므로 내보낸 _web_model은 브라우저 또는 Node.js 애플리케이션의 TensorFlow.js 런타임에서 직접 실행되도록 설계되었습니다.
TF.js 모델 배포에 대한 자세한 지침은 다음 리소스를 참조하십시오.
-
Chrome 확장 프로그램: TF.js 모델을 Chrome 확장 프로그램으로 배포하는 방법에 대한 개발자 문서입니다.
-
Node.js에서 TensorFlow.js 실행하기: Node.js에서 TensorFlow.js를 직접 실행하는 방법에 대한 TensorFlow 블로그 게시물입니다.
-
TensorFlow.js 배포 - 클라우드 플랫폼의 Node 프로젝트: 클라우드 플랫폼에 TensorFlow.js 모델을 배포하는 방법에 대한 TensorFlow 블로그 게시물입니다.
Link to this section요약#
이 가이드에서는 Ultralytics YOLO26 모델을 TensorFlow.js 형식으로 내보내는 방법을 배웠습니다. TF.js로 내보내면 다양한 플랫폼에서 YOLO26 모델을 최적화하고 배포하며 확장할 수 있는 유연성을 얻게 됩니다.
사용법에 대한 자세한 내용은 TensorFlow.js 공식 문서를 방문하십시오.
Ultralytics YOLO26을 다른 플랫폼 및 프레임워크와 통합하는 방법에 대한 자세한 내용은 통합 가이드 페이지를 확인하는 것을 잊지 마십시오. 프로젝트에서 YOLO26을 최대한 활용하는 데 도움이 되는 훌륭한 리소스가 많이 포함되어 있습니다.
Link to this sectionFAQ#
Link to this sectionUltralytics YOLO26 모델을 TensorFlow.js 형식으로 어떻게 내보내나요?#
Ultralytics YOLO26 모델을 TensorFlow.js (TF.js) 형식으로 내보내는 것은 간단합니다. 다음 단계를 따를 수 있습니다.
from ultralytics import YOLO
# Load a YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to TF.js format
model.export(format="tfjs") # creates '/yolo26n_web_model'
# Deploy the exported '_web_model' with the TensorFlow.js runtime in a browser or Node.js app.
# Ultralytics does not provide a local TF.js inference backend.지원되는 내보내기 옵션에 대한 자세한 내용은 배포 옵션에 대한 Ultralytics 문서 페이지를 방문하십시오.
Link to this sectionYOLO26 모델을 TensorFlow.js로 내보내야 하는 이유는 무엇인가요?#
YOLO26 모델을 TensorFlow.js로 내보내면 다음과 같은 여러 가지 이점이 있습니다.
- 로컬 실행: 모델을 브라우저나 Node.js에서 직접 실행할 수 있어 지연 시간이 줄어들고 사용자 경험이 향상됩니다.
- 크로스 플랫폼 지원: TF.js는 여러 환경을 지원하여 배포의 유연성을 제공합니다.
- 오프라인 기능: 인터넷 연결 없이도 애플리케이션이 작동하게 하여 안정성과 개인정보 보호를 보장합니다.
- GPU 가속: WebGL을 활용하여 GPU 가속을 수행함으로써 리소스가 제한된 장치에서의 성능을 최적화합니다.
Link to this sectionTensorFlow.js가 브라우저 기반 머신러닝 애플리케이션에 어떤 이점을 주나요?#
TensorFlow.js는 브라우저 및 Node.js 환경에서 ML 모델을 효율적으로 실행하도록 특별히 설계되었습니다. 브라우저 기반 애플리케이션에 주는 이점은 다음과 같습니다.
- 지연 시간 감소: 머신러닝 모델을 로컬에서 실행하여 서버 측 계산에 의존하지 않고 즉각적인 결과를 제공합니다.
- 개인정보 보호 개선: 민감한 데이터를 사용자의 장치에 유지하여 보안 위험을 최소화합니다.
- 오프라인 사용 가능: 모델이 인터넷 연결 없이 작동할 수 있어 일관된 기능을 보장합니다.
- 다중 백엔드 지원: CPU, WebGL, WebAssembly(WASM), WebGPU와 같은 백엔드를 제공하여 다양한 계산 요구 사항에 유연하게 대응합니다.
TF.js에 대해 더 알고 싶으신가요? 공식 TensorFlow.js 가이드를 확인하세요.
Link to this sectionYOLO26 모델 배포를 위한 TensorFlow.js의 주요 기능은 무엇인가요?#
TensorFlow.js의 주요 기능은 다음과 같습니다.
- 크로스 플랫폼 지원: TF.js는 웹 브라우저와 Node.js 모두에서 사용할 수 있어 광범위한 배포 유연성을 제공합니다.
- 다중 백엔드: CPU, GPU 가속을 위한 WebGL, WebAssembly(WASM), 고급 작업을 위한 WebGPU를 지원합니다.
- 오프라인 기능: 모델을 인터넷 연결 없이 브라우저에서 직접 실행할 수 있어 반응형 웹 애플리케이션 개발에 이상적입니다.
배포 시나리오 및 더 자세한 정보는 TensorFlow.js를 활용한 배포 옵션 섹션을 참조하십시오.
Link to this sectionTensorFlow.js를 사용하여 서버 측 Node.js 애플리케이션에 YOLO26 모델을 배포할 수 있나요?#
네, TensorFlow.js를 사용하면 Node.js 환경에 YOLO26 모델을 배포할 수 있습니다. 이를 통해 서버의 처리 능력과 서버 측 데이터 액세스의 이점을 활용하는 서버 측 머신러닝 애플리케이션을 구현할 수 있습니다. 일반적인 사용 사례로는 백엔드 서버에서의 실시간 데이터 처리 및 머신러닝 파이프라인이 있습니다.
Node.js 배포를 시작하려면 TensorFlow의 Node.js에서 TensorFlow.js 실행하기 가이드를 참조하십시오.