반응형
TensorFlow Lite에서 GPU를 사용하려다 다음과 같은 오류를 겪으셨다면 이 글이 도움이 될 것입니다:
Cannot access class 'org.tensorflow.lite.gpu.GpuDelegateFactory.Options'. Check your module classpath for missing or conflicting dependencies
🔍 문제 원인
이 오류는 GpuDelegate
를 생성할 때 내부적으로 사용되는 GpuDelegateFactory.Options
클래스가 프로젝트에 포함되지 않았을 때 발생합니다. 대부분의 경우, TensorFlow GPU 관련 라이브러리가 누락되었거나 잘못된 버전을 사용한 경우입니다.
✅ 해결 방법
아래와 같이 정확한 TensorFlow Lite GPU 의존성을 build.gradle.kts
에 추가하세요:
implementation("org.tensorflow:tensorflow-lite:2.17.0")
implementation("org.tensorflow:tensorflow-lite-support:0.5.0")
implementation("org.tensorflow:tensorflow-lite-metadata:0.5.0")
implementation("org.tensorflow:tensorflow-lite-gpu:2.17.0")
implementation("org.tensorflow:tensorflow-lite-gpu-api:2.17.0")
🧪 적용 예제
아래는 CompatibilityList를 사용하여 GPU delegate를 안전하게 적용하는 Kotlin 예제입니다:
import org.tensorflow.lite.Interpreter
import org.tensorflow.lite.gpu.CompatibilityList
import org.tensorflow.lite.gpu.GpuDelegate
val compatList = CompatibilityList()
val options = Interpreter.Options().apply {
if (compatList.isDelegateSupportedOnThisDevice) {
val delegateOptions = compatList.bestOptionsForThisDevice
addDelegate(GpuDelegate(delegateOptions))
} else {
setNumThreads(4) // CPU fallback
}
}
val interpreter = Interpreter(model, options)
interpreter.run(input, output)
📌 마무리
이 오류는 TensorFlow Lite를 GPU 환경에서 실행할 때 자주 발생합니다. 정확한 버전의 의존성과 CompatibilityList
기반 처리를 통해 안정적으로 해결할 수 있습니다.
java.lang.NoClassDefFoundError: Failed resolution of: Lorg/tensorflow/lite/gpu/GpuDelegateFactory$Options 는 위 예제를 참고하시면 해결할수있을거에요 ^^
반응형
'코틀린 > 에러모음' 카테고리의 다른 글
[Android/Kotlin] OpenCV MatAt.kt IR 오류 해결 방법 (1) | 2025.04.23 |
---|