λ°°ν¬λ₯Ό μν΄ YOLOv8 μμ TF GraphDef μΌλ‘ λ΄λ³΄λ΄λ λ°©λ²
YOLOv8 κ³Ό κ°μ μ΅μ²¨λ¨ μ»΄ν¨ν° λΉμ λͺ¨λΈμ λ€μν νκ²½μ λ°°ν¬ν λ νΈνμ± λ¬Έμ κ° λ°μν μ μμ΅λλ€. Googleμ TensorFlow GraphDef λλ TF GraphDef μμλ νλ«νΌμ λ 립μ μΈ μ§λ ¬νλ λͺ¨λΈ ννμ μ 곡ν¨μΌλ‘μ¨ ν΄κ²°μ± μ μ μν©λλ€. TF GraphDef λͺ¨λΈ νμμ μ¬μ©νλ©΄ λͺ¨λ°μΌ λλ°μ΄μ€λ νΉμ νλμ¨μ΄μ κ°μ΄ μ 체 TensorFlow μμ½μμ€ν μ μ¬μ©ν μ μλ νκ²½μμ YOLOv8 λͺ¨λΈμ λ°°ν¬ν μ μμ΅λλ€.
μ΄ κ°μ΄λμμλ λͺ¨λΈμ λ΄λ³΄λ΄λ λ°©λ²μ λ¨κ³λ³λ‘ μλ΄ν©λλ€. Ultralytics YOLOv8 λͺ¨λΈμ TF GraphDef λͺ¨λΈ νμμΌλ‘ λ΄λ³΄λ΄λ λ°©λ²μ λ¨κ³λ³λ‘ μλ΄ν©λλ€. λͺ¨λΈμ λ³ννλ©΄ λ°°ν¬λ₯Ό κ°μννκ³ YOLOv8 μ μ»΄ν¨ν° λΉμ κΈ°λ₯μ λ λ€μν μ ν리μΌμ΄μ κ³Ό νλ«νΌμμ μ¬μ©ν μ μμ΅λλ€.
TF GraphDef μΌλ‘ λ΄λ³΄λ΄μΌ νλ μ΄μ ?
TF GraphDef μ Googleμμ κ°λ°ν TensorFlow μμ½μμ€ν μ κ°λ ₯ν κ΅¬μ± μμμ λλ€. YOLOv8 κ³Ό κ°μ λͺ¨λΈμ μ΅μ ννκ³ λ°°ν¬νλ λ° μ¬μ©ν μ μμ΅λλ€. TF GraphDef μΌλ‘ λ΄λ³΄λ΄λ©΄ λͺ¨λΈμ μ°κ΅¬μ©μμ μ€μ μ ν리μΌμ΄μ μΌλ‘ μ΄λν μ μμ΅λλ€. μ΄λ₯Ό ν΅ν΄ μ 체 TensorFlow νλ μμν¬κ° μλ νκ²½μμλ λͺ¨λΈμ μ€νν μ μμ΅λλ€.
GraphDef νμμ λͺ¨λΈμ μ§λ ¬νλ κ³μ° κ·Έλνλ‘ λνλ λλ€. μ΄λ₯Ό ν΅ν΄ μμ ν΄λ©, μμν, κ·Έλν λ³νκ³Ό κ°μ λ€μν μ΅μ ν κΈ°λ²μ μ¬μ©ν μ μμ΅λλ€. μ΄λ¬ν μ΅μ νλ₯Ό ν΅ν΄ ν¨μ¨μ μΈ μ€ν, λ©λͺ¨λ¦¬ μ¬μ©λ κ°μ, μΆλ‘ μλ ν₯μμ 보μ₯ν©λλ€.
GraphDef λͺ¨λΈμ GPU, TPU, AI μΉ©κ³Ό κ°μ νλμ¨μ΄ κ°μκΈ°λ₯Ό μ¬μ©ν μ μμ΄ YOLOv8 μΆλ‘ νμ΄νλΌμΈμ μ±λ₯μ ν¬κ² ν₯μμν¬ μ μμ΅λλ€. TF GraphDef νμμ λͺ¨λΈκ³Ό ν΄λΉ μ’ μμ±μ΄ ν¬ν¨λ λ 립ν ν¨ν€μ§λ₯Ό μμ±νμ¬ λ€μν μμ€ν μΌλ‘μ λ°°ν¬ λ° ν΅ν©μ κ°μνν©λλ€.
μ£Όμ κΈ°λ₯ TF GraphDef λͺ¨λΈ
TF GraphDef λ λͺ¨λΈ λ°°ν¬ λ° μ΅μ νλ₯Ό κ°μνν μ μλ μ°¨λ³νλ κΈ°λ₯μ μ 곡ν©λλ€.
μ£Όμ νΉμ§μ λ€μκ³Ό κ°μ΅λλ€:
-
λͺ¨λΈ μ§λ ¬ν: TF GraphDef μ TensorFlow λͺ¨λΈμ νλ«νΌμ λ 립μ μΈ νμμΌλ‘ μ§λ ¬ννμ¬ μ μ₯νλ λ°©λ²μ μ 곡ν©λλ€. μ΄ μ§λ ¬νλ ννμ μ¬μ©νλ©΄ μλ³Έ Python μ½λλ² μ΄μ€ μμ΄λ λͺ¨λΈμ λ‘λνκ³ μ€νν μ μμΌλ―λ‘ λ°°ν¬κ° λ μ¬μμ§λλ€.
-
κ·Έλν μ΅μ ν: TF GraphDef μ μ¬μ©νλ©΄ κ³μ° κ·Έλνλ₯Ό μ΅μ νν μ μμ΅λλ€. μ΄λ¬ν μ΅μ νλ₯Ό ν΅ν΄ μ€ν νλ¦μ κ°μννκ³ , μ€λ³΅μ μ€μ΄λ©°, νΉμ νλμ¨μ΄μ λ§κ² μμ μ μ‘°μ νμ¬ μ±λ₯μ ν₯μμν¬ μ μμ΅λλ€.
-
λ°°ν¬ μ μ°μ±: GraphDef νμμΌλ‘ λ΄λ³΄λΈ λͺ¨λΈμ 리μμ€κ° μ νλ λλ°μ΄μ€, μΉ λΈλΌμ°μ , νΉμ νλμ¨μ΄κ° μ€μΉλ μμ€ν λ± λ€μν νκ²½μμ μ¬μ©ν μ μμ΅λλ€. λ°λΌμ TensorFlow λͺ¨λΈμ λ νλκ² λ°°ν¬ν μ μλ κ°λ₯μ±μ΄ μ΄λ¦½λλ€.
-
νλ‘λμ ν¬μ»€μ€: GraphDef λ νλ‘λμ λ°°ν¬λ₯Ό μν΄ μ€κ³λμμ΅λλ€. ν¨μ¨μ μΈ μ€ν, μ§λ ¬ν κΈ°λ₯ λ° μ€μ μ¬μ© μ¬λ‘μ λΆν©νλ μ΅μ νλ₯Ό μ§μν©λλ€.
λ°°ν¬ μ΅μ TF GraphDef
YOLOv8 λͺ¨λΈμ TF GraphDef λ‘ λ΄λ³΄λ΄λ νλ‘μΈμ€λ₯Ό μ΄ν΄λ³΄κΈ° μ μ μ΄ νμμ΄ μ¬μ©λλ λͺ κ°μ§ μΌλ°μ μΈ λ°°ν¬ μν©μ μ΄ν΄λ³΄κ² μ΅λλ€.
λ€μν νλ«νΌμμ TF GraphDef μΌλ‘ ν¨μ¨μ μΌλ‘ λ°°ν¬νλ λ°©λ²μ λ€μκ³Ό κ°μ΅λλ€.
-
TensorFlow μλΉ: μ΄ νλ μμν¬λ νλ‘λμ νκ²½μ TensorFlow λͺ¨λΈμ λ°°ν¬νλλ‘ μ€κ³λμμ΅λλ€. TensorFlow Servingμ λͺ¨λΈ κ΄λ¦¬, λ²μ κ΄λ¦¬ λ° λκ·λͺ¨μ ν¨μ¨μ μΈ λͺ¨λΈ μ 곡μ μν μΈνλΌλ₯Ό μ 곡ν©λλ€. GraphDef κΈ°λ° λͺ¨λΈμ νλ‘λμ μΉ μλΉμ€ λλ APIμ μννκ² ν΅ν©ν μ μλ λ°©λ²μ λλ€.
-
λͺ¨λ°μΌ λ° μλ² λλ λλ°μ΄μ€: TensorFlow Liteμ κ°μ λꡬλ₯Ό μ¬μ©νλ©΄ TF GraphDef λͺ¨λΈμ μ€λ§νΈν°, νλΈλ¦Ώ λ° λ€μν μλ² λλ μ₯μΉμ μ΅μ νλ νμμΌλ‘ λ³νν μ μμ΅λλ€. κ·Έλ° λ€μ λͺ¨λΈμ λ‘컬μμ μ€νλλ μ¨λλ°μ΄μ€ μΆλ‘ μ μ¬μ©ν μ μμΌλ©°, μ’ μ’ μ±λ₯ ν₯μκ³Ό μ€νλΌμΈ κΈ°λ₯μ μ 곡ν©λλ€.
-
μΉ λΈλΌμ°μ : TensorFlow.jsλ₯Ό μ¬μ©νλ©΄ μΉ λΈλΌμ°μ λ΄μμ TF GraphDef λͺ¨λΈμ μ§μ λ°°ν¬ν μ μμ΅λλ€. μ΄λ JavaScriptλ₯Ό ν΅ν΄ YOLOv8 μ κΈ°λ₯μ μ¬μ©νμ¬ ν΄λΌμ΄μΈνΈ μΈ‘μμ μ€νλλ μ€μκ° κ°μ²΄ νμ§ μ ν리μΌμ΄μ μ μν κΈΈμ μ΄μ΄μ€λλ€.
-
νΉμ νλμ¨μ΄: TF GraphDef νλ«νΌμ ꡬμ λ°μ§ μλ νΉμ± λλΆμ κ°μκΈ° λ° TPU(Tensor μ²λ¦¬ μ₯μΉ)μ κ°μ λ§μΆ€ν νλμ¨μ΄λ₯Ό νκ²ν ν μ μμ΅λλ€. μ΄λ¬ν μ₯μΉλ μ°μ° μ§μ½μ μΈ λͺ¨λΈμ μ±λ₯ μ΄μ μ μ 곡ν μ μμ΅λλ€.
YOLOv8 λͺ¨λΈλ‘ λ΄λ³΄λ΄κΈ° TF GraphDef
YOLOv8 κ°μ²΄ κ°μ§ λͺ¨λΈμ λ€μν μμ€ν κ³Ό νΈνλλ TF GraphDef νμμΌλ‘ λ³ννμ¬ μ¬λ¬ νλ«νΌμμ μ±λ₯μ κ°μ ν μ μμ΅λλ€.
μ€μΉ
νμν ν¨ν€μ§λ₯Ό μ€μΉνλ €λ©΄ μ€νν©λλ€:
μ€μΉ κ³Όμ κ³Ό κ΄λ ¨λ μμΈν μ§μΉ¨κ³Ό λͺ¨λ² μ¬λ‘λ Ultralytics μ€μΉ κ°μ΄λλ₯Ό μ°Έμ‘°νμΈμ. YOLOv8 μ νμν ν¨ν€μ§λ₯Ό μ€μΉνλ λμ λ¬Έμ κ° λ°μνλ©΄ μΌλ°μ μΈ λ¬Έμ κ°μ΄λλ₯Ό μ°Έμ‘°νμ¬ ν΄κ²° λ°©λ²κ³Ό νμ νμΈνμΈμ.
μ¬μ©λ²
μ¬μ© μ§μΉ¨μ μ΄ν΄λ³΄κΈ° μ μ λͺ¨λ Ultralytics YOLOv8 λͺ¨λΈμμ λ΄λ³΄λ΄κΈ°λ₯Ό μ¬μ©ν μ μμ§λ§, μ νν λͺ¨λΈμ΄ λ΄λ³΄λ΄κΈ° κΈ°λ₯μ μ§μνλμ§ μ¬κΈ°μμ νμΈν μ μλ€λ μ μ μ μνμΈμ.
μ¬μ©λ²
from ultralytics import YOLO
# Load the YOLOv8 model
model = YOLO('yolov8n.pt')
# Export the model to TF GraphDef format
model.export(format='pb') # creates 'yolov8n.pb'
# Load the exported TF GraphDef model
tf_graphdef_model = YOLO('yolov8n.pb')
# Run inference
results = tf_graphdef_model('https://ultralytics.com/images/bus.jpg')
μ§μλλ λ΄λ³΄λ΄κΈ° μ΅μ μ λν μμΈν λ΄μ©μ λ°°ν¬ μ΅μ μ λνUltralytics λ¬Έμ νμ΄μ§λ₯Ό μ°Έμ‘°νμΈμ.
λ΄λ³΄λ΄κΈ° λ°°ν¬ YOLOv8 TF GraphDef λͺ¨λΈ
YOLOv8 λͺ¨λΈμ TF GraphDef νμμΌλ‘ λ΄λ³΄λΈ νμλ λ€μ λ¨κ³λ λ°°ν¬μ λλ€. TF GraphDef λͺ¨λΈμ μ€ννκΈ° μν κΈ°λ³Έμ μ΄κ³ κΆμ₯λλ 첫 λ²μ§Έ λ¨κ³λ μμ μ¬μ© μ½λ μ‘°κ°μ νμλ λλ‘ YOLO("model.pb") λ©μλλ₯Ό μ¬μ©νλ κ²μ λλ€.
νμ§λ§ TF GraphDef λͺ¨λΈ λ°°ν¬μ λν μμΈν λ΄μ©μ λ€μ 리μμ€λ₯Ό μ°Έμ‘°νμΈμ:
-
TensorFlow μλΉ: νλ‘λμ νκ²½μμ λ¨Έμ λ¬λ λͺ¨λΈμ ν¨μ¨μ μΌλ‘ λ°°ν¬νκ³ μλΉμ€νλ λ°©λ²μ μλ €μ£Όλ TensorFlow μλΉμ λν κ°μ΄λμ λλ€.
-
TensorFlow Lite: μ΄ νμ΄μ§μμλ TensorFlow Liteλ₯Ό μ¬μ©νμ¬ λ¨Έμ λ¬λ λͺ¨λΈμ μ¨λλ°μ΄μ€ μΆλ‘ μ μ΅μ νλ νμμΌλ‘ λ³ννλ λ°©λ²μ μ€λͺ ν©λλ€.
-
TensorFlow.js: TensorFlow λλ Keras λͺ¨λΈμ μΉ μ ν리μΌμ΄μ μμ μ¬μ©ν μ μλλ‘ TensorFlow.js νμμΌλ‘ λ³ννλ λ°©λ²μ μλ €μ£Όλ λͺ¨λΈ λ³ν κ°μ΄λμ λλ€.
μμ½
μ΄ κ°μ΄λμμλ Ultralytics YOLOv8 λͺ¨λΈμ TF GraphDef νμμΌλ‘ λ΄λ³΄λ΄λ λ°©λ²μ λν΄ μ΄ν΄λ³΄μμ΅λλ€. μ΄λ κ² νλ©΄ μ΅μ νλ YOLOv8 λͺ¨λΈμ λ€μν νκ²½μ μ μ°νκ² λ°°ν¬ν μ μμ΅λλ€.
μ¬μ©λ²μ λν μμΈν λ΄μ©μ TF GraphDef 곡μ λ¬Έμλ₯Ό μ°Έμ‘°νμΈμ.
Ultralytics YOLOv8 μ λ€λ₯Έ νλ«νΌ λ° νλ μμν¬μ ν΅ν©νλ λ°©λ²μ λν μμΈν λ΄μ©μ ν΅ν© κ°μ΄λ νμ΄μ§λ₯Ό μ°Έμ‘°νμΈμ. νλ‘μ νΈμμ YOLOv8 μ μ΅λν νμ©νλ λ° λμμ΄ λλ νλ₯ν 리μμ€μ μΈμ¬μ΄νΈκ° μμ΅λλ€.
μμ± 2024-03-22, μ λ°μ΄νΈ 2024-04-03
μμ±μ: 리μ¦μ 무λμλ₯΄ (1), λ²ν ν (1), μλΉλΌλ―Έ λΉλ (1)