콘텐츠로 건너뛰기

YOLO11 모델 형식에서 TF.js 모델 형식으로 내보내기

머신러닝 모델을 브라우저나 Node.js에 직접 배포하는 것은 까다로울 수 있습니다. 모델을 사용하여 사용자 디바이스에서 로컬로 대화형 애플리케이션을 실행할 수 있도록 모델 형식이 빠른 성능에 최적화되어 있는지 확인해야 합니다. TensorFlow .js 또는 TF.js 모델 형식은 최소한의 전력을 사용하면서도 빠른 성능을 제공하도록 설계되었습니다.

' TF.js 모델 형식으로 내보내기' 기능을 사용하면 모델을 최적화하여 Ultralytics YOLO11 모델을 고속 및 로컬에서 실행되는 객체 감지 추론에 최적화할 수 있습니다. 이 가이드에서는 모델을 TF.js 형식으로 변환하는 방법을 안내하여 모델이 다양한 로컬 브라우저와 Node.js 애플리케이션에서 더 쉽게 작동할 수 있도록 합니다.

TF.js로 내보내야 하는 이유는 무엇인가요?

광범위한 TensorFlow 에코시스템의 일부로 TensorFlow 팀에서 개발한 TensorFlow.js로 머신 러닝 모델을 내보내면 머신 러닝 애플리케이션을 배포할 때 많은 이점을 얻을 수 있습니다. 민감한 데이터를 디바이스에 보관하여 사용자 개인정보 보호 및 보안을 강화하는 데 도움이 됩니다. 아래 이미지는 TensorFlow.js 아키텍처와 웹 브라우저와 Node.js에서 머신 러닝 모델이 어떻게 변환되고 배포되는지 보여줍니다.

TF.js 아키텍처

또한 로컬에서 모델을 실행하면 지연 시간이 줄어들고 응답성이 뛰어난 사용자 경험을 제공할 수 있습니다. TensorFlow.js에는 오프라인 기능도 제공되므로 사용자가 인터넷에 연결되지 않은 상태에서도 애플리케이션을 사용할 수 있습니다. TF.js는 확장성을 고려하여 설계되었기 때문에 리소스가 제한된 디바이스에서 복잡한 모델을 효율적으로 실행할 수 있으며 GPU 가속을 지원합니다.

TF.js의 주요 기능

다음은 TF.js를 개발자를 위한 강력한 도구로 만드는 주요 기능입니다:

  • 크로스 플랫폼 지원: TensorFlow.js는 브라우저와 Node.js 환경 모두에서 사용할 수 있으므로 다양한 플랫폼에 유연하게 배포할 수 있습니다. 이를 통해 개발자는 애플리케이션을 더 쉽게 빌드하고 배포할 수 있습니다.

  • 여러 백엔드 지원: TensorFlow.js는 계산을 위한 다양한 백엔드( CPU, GPU 가속을 위한 WebGL, 네이티브에 가까운 실행 속도를 위한 WebAssembly(WASM), 고급 브라우저 기반 머신러닝 기능을 위한 WebGPU 등)를 지원합니다.

  • 오프라인 기능: TensorFlow .js를 사용하면 인터넷 연결 없이도 브라우저에서 모델을 실행할 수 있으므로 오프라인에서 작동하는 애플리케이션을 개발할 수 있습니다.

TensorFlow.js를 사용한 배포 옵션

YOLO11 모델을 TF.js 형식으로 내보내는 프로세스를 살펴보기 전에 이 형식이 사용되는 몇 가지 일반적인 배포 시나리오를 살펴보겠습니다.

TF.js는 머신 러닝 모델을 배포할 수 있는 다양한 옵션을 제공합니다:

  • 브라우저 내 ML 애플리케이션: 브라우저에서 직접 머신 러닝 모델을 실행하는 웹 애플리케이션을 구축할 수 있습니다. 서버 측 계산이 필요하지 않으므로 서버 부하가 줄어듭니다.

  • Node.js 애플리케이션: TensorFlow.js는 서버 측 머신 러닝 애플리케이션을 개발할 수 있도록 Node.js 환경에서의 배포도 지원합니다. 서버의 처리 능력이 필요하거나 서버 측 데이터에 액세스해야 하는 애플리케이션에 특히 유용합니다.

  • Chrome 확장 프로그램: 흥미로운 배포 시나리오는 TensorFlow.js를 사용하여 Chrome 확장 프로그램을 만드는 것입니다. 예를 들어, 사용자가 웹페이지 내의 이미지를 마우스 오른쪽 버튼으로 클릭하여 사전 학습된 ML 모델을 사용하여 이미지를 분류할 수 있는 확장 프로그램을 개발할 수 있습니다. TensorFlow.js를 일상적인 웹 브라우징 환경에 통합하여 머신러닝에 기반한 즉각적인 인사이트 또는 증강 기능을 제공할 수 있습니다.

YOLO11 모델을 TensorFlow.js로 내보내기

YOLO11 모델을 TF.js로 변환하여 모델 호환성 및 배포 유연성을 확장할 수 있습니다.

설치

필요한 패키지를 설치하려면 실행합니다:

설치

# Install the required package for YOLO11
pip install ultralytics

설치 과정과 관련된 자세한 지침과 모범 사례는 Ultralytics 설치 가이드를 참조하세요. YOLO11 에 필요한 패키지를 설치하는 동안 문제가 발생하면 일반적인 문제 가이드를 참조하여 해결 방법과 팁을 확인하세요.

사용법

사용 지침을 살펴보기 전에 모든 Ultralytics YOLO11 모델에서 내보내기를 사용할 수 있지만, 선택한 모델이 내보내기 기능을 지원하는지 여기에서 확인할 수 있다는 점에 유의하세요.

사용법

from ultralytics import YOLO

# Load the YOLO11 model
model = YOLO("yolo11n.pt")

# Export the model to TF.js format
model.export(format="tfjs")  # creates '/yolo11n_web_model'

# Load the exported TF.js model
tfjs_model = YOLO("./yolo11n_web_model")

# Run inference
results = tfjs_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLO11n PyTorch model to TF.js format
yolo export model=yolo11n.pt format=tfjs # creates '/yolo11n_web_model'

# Run inference with the exported model
yolo predict model='./yolo11n_web_model' source='https://ultralytics.com/images/bus.jpg'

내보내기 인수

인수 유형 기본값 설명
format str 'tfjs' 내보낸 모델의 대상 형식으로, 다양한 배포 환경과의 호환성을 정의합니다.
imgsz int 또는 tuple 640 모델 입력에 사용할 원하는 이미지 크기입니다. 정사각형 이미지의 경우 정수 또는 튜플일 수 있습니다. (height, width) 를 입력합니다.
half bool False FP16(반정밀) 양자화를 활성화하여 모델 크기를 줄이고 지원되는 하드웨어에서 추론 속도를 높일 수 있습니다.
int8 bool False INT8 양자화를 활성화하여 모델을 더욱 압축하고 주로 에지 디바이스의 경우 정확도 손실을 최소화하면서 추론 속도를 높입니다.
nms bool False 정확하고 효율적인 검출 후처리에 필수적인 비최대 억제(NMS)를 추가합니다.
batch int 1 내보내기 모델 일괄 추론 크기 또는 내보낸 모델이 동시에 처리할 최대 이미지 수를 지정합니다. predict 모드로 전환합니다.

내보내기 프로세스에 대한 자세한 내용은 내보내기 관련 문서 페이지(Ultralytics )를 참조하세요.

내보낸 YOLO11 TensorFlow .js 모델 배포하기

이제 YOLO11 모델을 TF.js 형식으로 내보냈으므로 다음 단계는 배포하는 것입니다. TF.js 모델을 실행하기 위한 기본적이고 권장되는 첫 번째 단계는 YOLO("./yolo11n_web_model") 메서드에 대한 사용 코드 스니펫을 참조하세요.

그러나 TF.js 모델 배포에 대한 자세한 지침은 다음 리소스를 참조하세요:

요약

이 가이드에서는 Ultralytics YOLO11 모델을 TensorFlow.js 형식으로 내보내는 방법에 대해 알아보았습니다. TF .js로 내보내면 다양한 플랫폼에서 YOLO11 모델을 최적화, 배포 및 확장할 수 있는 유연성을 확보할 수 있습니다.

사용법에 대한 자세한 내용은 TensorFlow.js 공식 문서를 참조하세요.

Ultralytics YOLO11 을 다른 플랫폼 및 프레임워크와 통합하는 방법에 대한 자세한 내용은 통합 가이드 페이지를 참조하세요. 프로젝트에서 YOLO11 을 최대한 활용하는 데 도움이 되는 유용한 리소스가 가득합니다.

자주 묻는 질문

Ultralytics YOLO11 모델을 TensorFlow.js 형식으로 내보내려면 어떻게 하나요?

Ultralytics YOLO11 모델을 TensorFlow.js(TF.js) 형식으로 내보내는 방법은 간단합니다. 다음 단계를 따르세요:

사용법

from ultralytics import YOLO

# Load the YOLO11 model
model = YOLO("yolo11n.pt")

# Export the model to TF.js format
model.export(format="tfjs")  # creates '/yolo11n_web_model'

# Load the exported TF.js model
tfjs_model = YOLO("./yolo11n_web_model")

# Run inference
results = tfjs_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLO11n PyTorch model to TF.js format
yolo export model=yolo11n.pt format=tfjs # creates '/yolo11n_web_model'

# Run inference with the exported model
yolo predict model='./yolo11n_web_model' source='https://ultralytics.com/images/bus.jpg'

지원되는 내보내기 옵션에 대한 자세한 내용은 배포 옵션에 대한Ultralytics 문서 페이지를 참조하세요.

YOLO11 모델을 TensorFlow.js로 내보내야 하는 이유는 무엇인가요?

YOLO11 모델을 TensorFlow.js로 내보내면 다음과 같은 몇 가지 이점이 있습니다:

  1. 로컬 실행: 모델을 브라우저 또는 Node.js에서 직접 실행하여 지연 시간을 줄이고 사용자 경험을 향상시킬 수 있습니다.
  2. 크로스 플랫폼 지원: TF.js는 여러 환경을 지원하므로 유연하게 배포할 수 있습니다.
  3. 오프라인 기능: 인터넷 연결 없이도 애플리케이션이 작동하도록 하여 안정성과 개인 정보 보호를 보장합니다.
  4. GPU 가속: GPU 가속을 위해 WebGL을 활용하여 리소스가 제한된 디바이스에서 성능을 최적화합니다.

종합적인 개요는 TensorFlow.js와의 통합을 참조하세요.

TensorFlow.js는 브라우저 기반 머신 러닝 애플리케이션에 어떤 이점이 있나요?

TensorFlow.js는 브라우저와 Node.js 환경에서 ML 모델을 효율적으로 실행하기 위해 특별히 설계되었습니다. 브라우저 기반 애플리케이션에 이점을 제공하는 방법은 다음과 같습니다:

  • 지연 시간 단축: 머신 러닝 모델을 로컬에서 실행하여 서버 측 계산에 의존하지 않고 즉각적인 결과를 제공합니다.
  • 개인정보 보호 향상: 사용자의 디바이스에 민감한 데이터를 보관하여 보안 위험을 최소화합니다.
  • 오프라인 사용을 활성화합니다: 인터넷 연결 없이도 모델을 작동할 수 있어 일관된 기능을 보장합니다.
  • 여러 백엔드 지원: 다양한 계산 요구 사항에 맞게 CPU, WebGL, WebAssembly(WASM), WebGPU와 같은 백엔드로 유연성을 제공합니다.

TF.js에 대해 자세히 알아보고 싶으신가요? 공식 TensorFlow.js 가이드를 확인하세요.

YOLO11 모델을 배포하기 위한 TensorFlow.js의 주요 기능은 무엇인가요?

TensorFlow.js의 주요 기능은 다음과 같습니다:

  • 크로스 플랫폼 지원: TF.js는 웹 브라우저와 Node.js 모두에서 사용할 수 있어 광범위한 배포 유연성을 제공합니다.
  • 여러 백엔드: CPU , WebGL( GPU 가속용), WebAssembly(WASM), 고급 작업을 위한 WebGPU를 지원합니다.
  • 오프라인 기능: 인터넷 연결 없이 브라우저에서 직접 모델을 실행할 수 있어 반응형 웹 애플리케이션을 개발하는 데 이상적입니다.

배포 시나리오 및 자세한 내용은 배포 옵션 섹션( TensorFlow.js를 사용한 배포 옵션)을 참조하세요.

TensorFlow.js를 사용하여 서버 측 Node.js 애플리케이션에 YOLO11 모델을 배포할 수 있나요?

예, TensorFlow.js를 사용하면 Node.js 환경에서 YOLO11 모델을 배포할 수 있습니다. 이를 통해 서버의 처리 능력과 서버 측 데이터에 대한 액세스의 이점을 활용하는 서버 측 머신 러닝 애플리케이션을 구현할 수 있습니다. 일반적인 사용 사례로는 백엔드 서버의 실시간 데이터 처리 및 머신 러닝 파이프라인이 있습니다.

Node.js 배포를 시작하려면 TensorFlow 에서 Node.js에서 TensorFlow.js 실행하기 가이드를 참조하세요.

11개월 전 생성됨 ✏️ 3 일 전 업데이트 됨

댓글