ΠΡΠ΅Π΄ Π²Π°Ρ ΠΎΡΠ½ΠΎΠ²ΠΎ Π΅ Π·Π°Π΄Π°ΡΠ°ΡΠ° Π·Π° ΠΎΡΠΊΡΠΈΠ²Π°Π½Π΅ Π½Π° ΠΎΠ±Π΅ΠΊΡΠΈ. ΠΡΠΈΠΎΡΠΈΡΠ΅Ρ Π΅ ΡΠΊΠΎΡΠΎΡΡΡΠ° Π½Π° ΡΠ°Π±ΠΎΡΠ° Ρ ΠΏΡΠΈΠ΅ΠΌΠ»ΠΈΠ²Π° ΡΠΎΡΠ½ΠΎΡΡ. ΠΠ·ΠΈΠΌΠ°ΡΠ΅ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° YOLOv3 ΠΈ Ρ ΠΎΠ±ΡΡΠ°Π²Π°ΡΠ΅ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΎ. Π’ΠΎΡΠ½ΠΎΡΡΡΠ° (mAp75) Π΅ ΠΏΠΎ-Π³ΠΎΠ»ΡΠΌΠ° ΠΎΡ 0.95. ΠΠΎ ΡΠΊΠΎΡΠΎΡΡΡΠ° Π½Π° Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π΅ Π²ΡΠ΅ ΠΎΡΠ΅ Π½ΠΈΡΠΊΠ°. Π³Π»ΡΠΏΠΎΡΡΠΈ.
ΠΠ½Π΅Ρ ΡΠ΅ Π·Π°ΠΎΠ±ΠΈΠΊΠΎΠ»ΠΈΠΌ ΠΊΠ²Π°Π½ΡΡΠ²Π°Π½Π΅ΡΠΎ. Π ΠΏΠΎΠ΄ ΡΠ°Π·ΡΠ΅Π·Π° ΡΠ΅ ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅ΠΌ ΠΠΎΠ΄Π΅Π» Π Π΅Π·ΠΈΡΠ±Π° β ΠΈΠ·ΡΡΠ·Π²Π°Π½Π΅ Π½Π° ΠΈΠ·Π»ΠΈΡΠ½ΠΈ ΡΠ°ΡΡΠΈ ΠΎΡ ΠΌΡΠ΅ΠΆΠ°ΡΠ° Π·Π° ΡΡΠΊΠΎΡΡΠ²Π°Π½Π΅ Π½Π° ΠΈΠ·Π²ΠΎΠ΄Π° Π±Π΅Π· Π·Π°Π³ΡΠ±Π° Π½Π° ΡΠΎΡΠ½ΠΎΡΡ. Π―ΡΠ½ΠΎ Π΅ ΠΊΡΠ΄Π΅, ΠΊΠΎΠ»ΠΊΠΎ ΠΈ ΠΊΠ°ΠΊ Π΄Π° ΡΠ΅ ΡΠ΅ΠΆΠ΅. ΠΠ΅ΠΊΠ° Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ ΠΊΠ°ΠΊ Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ ΡΠΎΠ²Π° ΡΡΡΠ½ΠΎ ΠΈ ΠΊΡΠ΄Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π³ΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠ°ΡΠ΅. Π ΠΊΡΠ°Ρ ΠΈΠΌΠ° Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ Π½Π° keras.
Π²ΡΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
ΠΠ° ΠΏΡΠ΅Π΄ΠΈΡΠ½ΠΎΡΠΎ ΠΌΠΈ ΠΌΡΡΡΠΎ Π½Π° ΡΠ°Π±ΠΎΡΠ°, Macroscop Π² ΠΠ΅ΡΠΌ, ΠΏΡΠΈΠ΄ΠΎΠ±ΠΈΡ Π΅Π΄ΠΈΠ½ Π½Π°Π²ΠΈΠΊ - Π²ΠΈΠ½Π°Π³ΠΈ Π΄Π° ΡΠ»Π΅Π΄Ρ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈΡΠ΅. Π Π²ΠΈΠ½Π°Π³ΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΠ²Π°ΠΉΡΠ΅ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΌΡΠ΅ΠΆΠ°ΡΠ° ΡΡΠ΅Π· ΡΠΈΠ»ΡΡΡ Π·Π° Π°Π΄Π΅ΠΊΠ²Π°ΡΠ½ΠΎΡΡ. ΠΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ Π½Π°ΠΉ-ΠΌΠΎΠ΄Π΅ΡΠ½ΠΎΡΠΎ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²ΠΎΡΠΎ Π½Π΅ ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π²Π° ΡΠΎΠ·ΠΈ ΡΠΈΠ»ΡΡΡ, ΠΊΠΎΠ΅ΡΠΎ ΠΌΠ΅ Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ Pruning.
Π Π΅Π·ΠΈΡΠ±Π°ΡΠ° Π΅ ΡΡΠ°ΡΠ° ΡΠ΅ΠΌΠ°, ΠΊΠΎΡΡΠΎ Π±Π΅ΡΠ΅ ΠΎΠ±ΡΡΠΆΠ΄Π°Π½Π° Π²
ΠΠΎ Π½Π΅ΠΊΠ° Π³ΠΎ ΡΠ°Π·Π΄Π΅Π»ΠΈΠΌ
ΠΠΎΠ³Π»Π΅Π΄ ΠΊΡΠΌ Π±ΠΈΠΎΠ»ΠΎΠ³ΠΈΡΡΠ°
ΠΠ±ΠΈΡΠ°ΠΌ, ΠΊΠΎΠ³Π°ΡΠΎ Deep Learning ΡΠ°Π·Π³Π»Π΅ΠΆΠ΄Π° ΠΈΠ΄Π΅ΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΈΠ΄Π²Π°Ρ ΠΎΡ Π±ΠΈΠΎΠ»ΠΎΠ³ΠΈΡΡΠ°. ΠΠ° ΡΡΡ
, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ Π½Π° Π΅Π²ΠΎΠ»ΡΡΠΈΡΡΠ°, ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π²ΡΡΠ²Π° (Π·Π½Π°Π΅ΡΠ΅ Π»ΠΈ, ΡΠ΅ ReLU Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π΅Π½ Π½Π°
ΠΡΠΎΡΠ΅ΡΡΡ Π½Π° ΠΌΠΎΠ΄Π΅Π»Π½ΠΎ ΠΏΠΎΠ΄ΡΡΠ·Π²Π°Π½Π΅ ΡΡΡΠΎ Π΅ Π±Π»ΠΈΠ·ΡΠΊ Π΄ΠΎ Π±ΠΈΠΎΠ»ΠΎΠ³ΠΈΡΡΠ°. Π Π΅Π°ΠΊΡΠΈΡΡΠ° Π½Π° ΠΌΡΠ΅ΠΆΠ°ΡΠ° ΡΡΠΊ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΡΡΠ°Π²Π½ΠΈ Ρ ΠΏΠ»Π°ΡΡΠΈΡΠ½ΠΎΡΡΡΠ° Π½Π° ΠΌΠΎΠ·ΡΠΊΠ°. Π ΠΊΠ½ΠΈΠ³Π°ΡΠ° ΠΈΠΌΠ° Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠ°.
- ΠΠΎΠ·ΡΠΊΡΡ Π½Π° ΠΆΠ΅Π½Π°, ΡΠΎΠ΄Π΅Π½Π° ΡΠ°ΠΌΠΎ Ρ Π΅Π΄Π½Π°ΡΠ° ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π°, ΡΠ΅ Π΅ ΠΏΡΠ΅ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π» Π΄Π° ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΈΡΠ΅ Π½Π° Π»ΠΈΠΏΡΠ²Π°ΡΠ°ΡΠ° ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π°.
- Π§ΠΎΠ²Π΅ΠΊΡΡ ΠΈΠ·ΡΡΡΠ΅Π»Ρ ΡΠ°ΡΡΡΠ° ΠΎΡ ΠΌΠΎΠ·ΡΠΊΠ° ΡΠΈ, ΠΎΡΠ³ΠΎΠ²ΠΎΡΠ½Π° Π·Π° Π·ΡΠ΅Π½ΠΈΠ΅ΡΠΎ. Π‘ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π° Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π΄ΡΡΠ³ΠΈ ΡΠ°ΡΡΠΈ Π½Π° ΠΌΠΎΠ·ΡΠΊΠ° ΠΏΠΎΠ΅Ρ Π° ΡΠ΅Π·ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ. (Π½Π΅ ΡΠ΅ ΠΎΠΏΠΈΡΠ²Π°ΠΌΠ΅ Π΄Π° ΠΏΠΎΠ²ΡΠ°ΡΡΠΌΠ΅)
ΠΠΎ ΡΡΡΠΈΡ Π½Π°ΡΠΈΠ½ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ·ΡΠ΅ΠΆΠ΅ΡΠ΅ Π½ΡΠΊΠΎΠΈ ΠΎΡ ΡΠ»Π°Π±ΠΈΡΠ΅ ΠΈΠ·Π²ΠΈΠ²ΠΊΠΈ ΠΎΡ Π²Π°ΡΠΈΡ ΠΌΠΎΠ΄Π΅Π». Π ΠΊΡΠ°Π΅Π½ ΡΠ»ΡΡΠ°ΠΉ ΠΎΡΡΠ°Π½Π°Π»ΠΈΡΠ΅ ΡΠ½ΠΎΠΏΠΎΠ²Π΅ ΡΠ΅ ΠΏΠΎΠΌΠΎΠ³Π½Π°Ρ Π·Π° Π·Π°ΠΌΡΠ½Π°ΡΠ° Π½Π° ΠΎΡΡΡΠ·Π°Π½ΠΈΡΠ΅.
Π₯Π°ΡΠ΅ΡΠ²Π°ΡΠ΅ Π»ΠΈ Transfer Learning ΠΈΠ»ΠΈ ΡΡΠΈΡΠ΅ ΠΎΡ Π½ΡΠ»Π°ΡΠ°?
ΠΠ°ΡΠΈΠ°Π½Ρ Π½ΠΎΠΌΠ΅Ρ Π΅Π΄Π½ΠΎ. ΠΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ Transfer Learning Π½Π° Yolov3. Retina, Mask-RCNN ΠΈΠ»ΠΈ U-Net. ΠΠΎ ΠΏΡΠ΅Π· ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π΅ Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° ΡΠ°Π·ΠΏΠΎΠ·Π½Π°Π²Π°ΠΌΠ΅ 80 ΠΊΠ»Π°ΡΠ° ΠΎΠ±Π΅ΠΊΡΠΈ, ΠΊΠ°ΠΊΡΠΎ Π² COCO. Π ΠΌΠΎΡΡΠ° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ° Π²ΡΠΈΡΠΊΠΎ Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΎ Π΄ΠΎ 1-2 ΠΊΠ»Π°Ρ. ΠΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈ, ΡΠ΅ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° Π·Π° 80 ΠΊΠ»Π°ΡΠ° Π΅ ΠΈΠ·Π»ΠΈΡΠ½Π° ΡΡΠΊ. Π’ΠΎΠ²Π° ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°, ΡΠ΅ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π΅ Π½Π°ΠΌΠ°Π»Π΅Π½Π°. ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π° Π±ΠΈΡ ΠΈΡΠΊΠ°Π» Π΄Π° Π½Π°ΠΏΡΠ°Π²Ρ ΡΠΎΠ²Π°, Π±Π΅Π· Π΄Π° Π³ΡΠ±Ρ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°ΡΠΈΡΠ΅ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΡΡΠ΅Π½ΠΈΡΠ°Π½ΠΈ ΡΠ΅ΠΆΠ΅ΡΡΠΈ.
ΠΠ°ΡΠΈΠ°Π½Ρ Π½ΠΎΠΌΠ΅Ρ Π΄Π²Π΅. ΠΠΎΠΆΠ΅ Π±ΠΈ ΠΈΠΌΠ°ΡΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ Π΄Π°Π½Π½ΠΈ ΠΈ ΠΈΠ·ΡΠΈΡΠ»ΠΈΡΠ΅Π»Π½ΠΈ ΡΠ΅ΡΡΡΡΠΈ ΠΈΠ»ΠΈ ΠΏΡΠΎΡΡΠΎ ΡΠ΅ Π½ΡΠΆΠ΄Π°Π΅ΡΠ΅ ΠΎΡ ΡΡΠΏΠ΅ΡΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°. Π½ΡΠΌΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΠΎ Π²ΠΈΠ΅ ΠΈΠ·ΡΡΠ°Π²Π°ΡΠ΅ ΠΌΡΠ΅ΠΆΠ°ΡΠ° ΠΎΡ Π½ΡΠ»Π°ΡΠ°. ΠΠ±ΠΈΡΠ°ΠΉΠ½Π°ΡΠ° ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° Π΅ Π΄Π° ΡΠ΅ ΡΠ°Π·Π³Π»Π΅Π΄Π° ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅, Π΄Π° ΡΠ΅ ΠΈΠ·Π±Π΅ΡΠ΅ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°, ΠΊΠΎΡΡΠΎ Π΅ ΠΠ ΠΠΠΠΠΠΠ ΠΏΠΎ ΠΌΠΎΡΠ½ΠΎΡΡ, ΠΈ Π΄Π° ΡΠ΅ Π½Π°ΡΠΈΡΠ½Π°Ρ ΠΎΡΠΏΠ°Π΄Π½Π°Π»ΠΈΡΠ΅ ΠΎΡ ΠΏΡΠ΅ΠΊΠ²Π°Π»ΠΈΡΠΈΠΊΠ°ΡΠΈΡ. ΠΠΈΠ΄ΡΡ 0.6 ΠΎΡΠΏΠ°Π΄Π°Π½ΠΈΡ, ΠΠ°ΡΠ».
Π Π² Π΄Π²Π°ΡΠ° ΡΠ»ΡΡΠ°Ρ ΠΌΡΠ΅ΠΆΠ°ΡΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ Π½Π°ΠΌΠ°Π»Π΅Π½Π°. ΠΠΎΡΠΈΠ²ΠΈΡΠ°Π½. Π‘Π΅Π³Π° Π½Π΅ΠΊΠ° Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ ΠΊΠ°ΠΊΡΠ² Π²ΠΈΠ΄ ΡΠ΅Π·ΠΈΡΠ±Π° Π΅ ΠΎΠ±ΡΡΠ·Π²Π°Π½Π΅ΡΠΎ
ΠΠ±Ρ Π°Π»Π³ΠΎΡΠΈΡΡΠΌ
Π Π΅ΡΠΈΡ ΠΌΠ΅, ΡΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΏΡΠ΅ΠΌΠ°Ρ Π½Π΅ΠΌ ΠΏΠ°ΡΠΊΠΈΡΠ΅. ΠΠ·Π³Π»Π΅ΠΆΠ΄Π° Π΄ΠΎΡΡΠ° ΠΏΡΠΎΡΡΠΎ:
ΠΡΠ΅ΠΌΠ°Ρ Π²Π°Π½Π΅ΡΠΎ Π½Π° Π²ΡΡΠΊΠ° ΠΊΠΎΠ½Π²ΠΎΠ»ΡΡΠΈΡ Π΅ ΡΡΡΠ΅ΡΠΈΡΠ°ΡΠΎ Π·Π° ΠΌΡΠ΅ΠΆΠ°ΡΠ°, ΠΊΠΎΠ΅ΡΠΎ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ Π²ΠΎΠ΄ΠΈ Π΄ΠΎ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ Π½Π° Π³ΡΠ΅ΡΠΊΠ°ΡΠ°. ΠΡ Π΅Π΄Π½Π° ΡΡΡΠ°Π½Π°, ΡΠΎΠ²Π° ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ Π½Π° Π³ΡΠ΅ΡΠΊΠ°ΡΠ° Π΅ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡ Π·Π° ΡΠΎΠ²Π° ΠΊΠΎΠ»ΠΊΠΎ ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ ΠΏΡΠ΅ΠΌΠ°Ρ Π²Π°ΠΌΠ΅ Π½Π°Π²ΠΈΠ²ΠΊΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π³ΠΎΠ»ΡΠΌΠΎ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠΊΠ°Π·Π²Π°, ΡΠ΅ ΠΏΡΠ°Π²ΠΈΠΌ Π½Π΅ΡΠΎ Π½Π΅ΡΠ΅Π΄Π½ΠΎ). ΠΠΎ ΠΌΠ°Π»ΠΊΠΎ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ Π΅ Π½Π°ΠΏΡΠ»Π½ΠΎ ΠΏΡΠΈΠ΅ΠΌΠ»ΠΈΠ²ΠΎ ΠΈ ΡΠ΅ΡΡΠΎ ΡΠ΅ Π΅Π»ΠΈΠΌΠΈΠ½ΠΈΡΠ° ΡΡΠ΅Π· ΠΏΠΎΡΠ»Π΅Π΄Π²Π°ΡΠΎ Π»Π΅ΠΊΠΎ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ Ρ ΠΌΠ°Π»ΡΠΊ LR. ΠΠΎΠ±Π°Π²Π΅ΡΠ΅ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½Π° ΡΡΡΠΏΠΊΠ° Π·Π° ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅:
Π‘Π΅Π³Π° ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ ΠΊΠΎΠ³Π° ΠΈΡΠΊΠ°ΠΌΠ΅ Π΄Π° ΡΠΏΡΠ΅ΠΌ ΡΠΈΠΊΡΠ»Π° Learning<->Pruning. Π’ΡΠΊ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠΌΠ° Π΅ΠΊΠ·ΠΎΡΠΈΡΠ½ΠΈ ΠΎΠΏΡΠΈΠΈ, ΠΊΠΎΠ³Π°ΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° Π½Π°ΠΌΠ°Π»ΠΈΠΌ ΠΌΡΠ΅ΠΆΠ°ΡΠ° Π΄ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΡΠ°Π·ΠΌΠ΅Ρ ΠΈ ΡΠΊΠΎΡΠΎΡΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π·Π° ΠΌΠΎΠ±ΠΈΠ»Π½ΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π°). ΠΠ°ΠΉ-ΡΠ΅ΡΡΠΎ ΡΡΠ΅ΡΠ°Π½ΠΈΡΡ Π²Π°ΡΠΈΠ°Π½Ρ ΠΎΠ±Π°ΡΠ΅ Π΅ Π΄Π° ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠΈΡΠ΅ ΡΠΈΠΊΡΠ»Π°, Π΄ΠΎΠΊΠ°ΡΠΎ Π³ΡΠ΅ΡΠΊΠ°ΡΠ° ΡΡΠ°Π½Π΅ ΠΏΠΎ-Π²ΠΈΡΠΎΠΊΠ° ΠΎΡ Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎΡΠΎ. ΠΠΎΠ±Π°Π²Π΅ΡΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΠ΅:
Π ΡΠ°ΠΊΠ°, Π°Π»Π³ΠΎΡΠΈΡΡΠΌΡΡ ΡΡΠ°Π²Π° ΡΡΠ΅Π½. ΠΡΡΠ°Π²Π° Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ ΠΊΠ°ΠΊ Π΄Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠΌ ΠΈΠ·ΡΡΠΈΡΠΈΡΠ΅ Π½Π°Π²ΠΈΠ²ΠΊΠΈ.
Π’ΡΡΡΠ΅Π½Π΅ Π½Π° ΠΈΠ·ΡΡΠΈΡΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈ
Π’ΡΡΠ±Π²Π° Π΄Π° ΠΏΡΠ΅ΠΌΠ°Ρ Π½Π΅ΠΌ Π½ΡΠΊΠΎΠΈ Π½Π°Π²ΠΈΠ²ΠΊΠΈ. ΠΠ° Π±ΡΡΠ·Π°ΡΠ΅ Π½Π°ΠΏΡΠ΅Π΄ ΠΈ Π΄Π° βΠ·Π°ΡΡΡΠ΅Π»ΡΡΠ΅β Π²ΡΠ΅ΠΊΠΈ Π΅ Π»ΠΎΡΠ° ΠΈΠ΄Π΅Ρ, Π²ΡΠΏΡΠ΅ΠΊΠΈ ΡΠ΅ ΡΠ΅ ΡΠ°Π±ΠΎΡΠΈ. ΠΠΎ ΡΡΠΉ ΠΊΠ°ΡΠΎ ΠΈΠΌΠ°ΡΠ΅ Π³Π»Π°Π²Π°, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΠΎΠΌΠΈΡΠ»ΠΈΡΠ΅ ΠΈ Π΄Π° ΡΠ΅ ΠΎΠΏΠΈΡΠ°ΡΠ΅ Π΄Π° ΠΈΠ·Π±Π΅ΡΠ΅ΡΠ΅ βΡΠ»Π°Π±ΠΈβ Π½Π°Π²ΠΈΠ²ΠΊΠΈ Π·Π° ΠΏΡΠ΅ΠΌΠ°Ρ Π²Π°Π½Π΅. ΠΠΌΠ° Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΎΠΏΡΠΈΠΈ:
ΠΠ°ΠΉ-ΠΌΠ°Π»ΠΊΠ° L1-ΠΌΡΡΠΊΠ° ΠΈΠ»ΠΈ low_magnitude_pruning . ΠΠ΄Π΅ΡΡΠ°, ΡΠ΅ Π½Π°Π²ΠΈΠ²ΠΊΠΈΡΠ΅ Ρ ΠΌΠ°Π»ΠΊΠΈ ΡΠ΅Π³Π»Π° ΠΈΠΌΠ°Ρ ΠΌΠ°Π»ΡΠΊ ΠΏΡΠΈΠ½ΠΎΡ Π·Π° ΠΊΡΠ°ΠΉΠ½ΠΎΡΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅- ΠΠ°ΠΉ-ΠΌΠ°Π»ΠΊΠ°ΡΠ° L1-ΠΌΡΡΠΊΠ°, ΠΊΠ°ΡΠΎ ΡΠ΅ Π²Π·Π΅ΠΌΠ°Ρ ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ ΡΡΠ΅Π΄Π½ΠΎΡΠΎ ΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΡΠΎ ΠΎΡΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΠ΅. ΠΠΎΠΏΡΠ»Π²Π°ΠΌΠ΅ Ρ ΠΎΡΠ΅Π½ΠΊΠ° Π·Π° Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠ° Π½Π° ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ΡΠΎ.
ΠΠ°ΡΠΊΠΈΡΠ°Π½Π΅ Π½Π° Π½Π°Π²ΠΈΠ²ΠΊΠΈ ΠΈ ΠΈΠ·ΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠ΅Π·ΠΈ, ΠΊΠΎΠΈΡΠΎ Π²Π»ΠΈΡΡΡ Π½Π°ΠΉ-ΠΌΠ°Π»ΠΊΠΎ Π½Π° ΠΊΡΠ°ΠΉΠ½Π°ΡΠ° ΡΠΎΡΠ½ΠΎΡΡ . ΠΠΎ-ΡΠΎΡΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° Π½Π΅Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΈ Π½Π°Π²ΠΈΠ²ΠΊΠΈ, Π½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π΅ΠΌΠΊΠΈ ΠΈ ΡΠ΅ΡΡΡΡΠΎΠ΅ΠΌΠΊΠΈ.- ΠΡΡΠ³ΠΈ
ΠΡΡΠΊΠ° ΠΎΡ ΠΎΠΏΡΠΈΠΈΡΠ΅ ΠΈΠΌΠ° ΠΏΡΠ°Π²ΠΎ Π½Π° ΠΆΠΈΠ²ΠΎΡ ΠΈ ΡΠ²ΠΎΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ Π½Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅. Π’ΡΠΊ ΡΠ°Π·Π³Π»Π΅ΠΆΠ΄Π°ΠΌΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΠ° Ρ Π½Π°ΠΉ-ΠΌΠ°Π»ΠΊΠ°ΡΠ° L1-ΠΌΡΡΠΊΠ°
Π ΡΡΠ΅Π½ ΠΏΡΠΎΡΠ΅Ρ Π·Π° YOLOv3
ΠΡΠΈΠ³ΠΈΠ½Π°Π»Π½Π°ΡΠ° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° ΡΡΠ΄ΡΡΠΆΠ° ΠΎΡΡΠ°ΡΡΡΠ½ΠΈ Π±Π»ΠΎΠΊΠΎΠ²Π΅. ΠΠΎ ΠΊΠΎΠ»ΠΊΠΎΡΠΎ ΠΈ Π΄Π° ΡΠ° Π³ΠΎΡΠΈΠ½ΠΈ Π·Π° Π΄ΡΠ»Π±ΠΎΠΊΠΈΡΠ΅ ΠΌΡΠ΅ΠΆΠΈ, Π΄ΠΎΠ½ΡΠΊΡΠ΄Π΅ ΡΠ΅ Π½ΠΈ ΠΏΡΠ΅ΡΠ°Ρ. Π’ΡΡΠ΄Π½ΠΎΡΡΡΠ° Π΅, ΡΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ·ΡΡΠΈΠ΅ΡΠ΅ ΡΡΠ³Π»Π°ΡΡΠ²Π°Π½ΠΈΡ Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠΈ Π² ΡΠ΅Π·ΠΈ ΡΠ»ΠΎΠ΅Π²Π΅:
ΠΠ°ΡΠΎΠ²Π° Π½Π΅ΠΊΠ° ΠΈΠ·Π±Π΅ΡΠ΅ΠΌ ΡΠ»ΠΎΠ΅Π²Π΅, ΠΎΡ ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎ Π΄Π° ΠΈΠ·ΡΡΠΈΠ΅ΠΌ ΡΡΠ³Π»Π°ΡΡΠ²Π°Π½ΠΈΡΡΠ°:
Π‘Π΅Π³Π° Π½Π΅ΠΊΠ° ΠΈΠ·Π³ΡΠ°Π΄ΠΈΠΌ ΡΠ°Π±ΠΎΡΠ΅Π½ ΡΠΈΠΊΡΠ»:
- ΠΠ°ΡΠ²Π°Π½Π΅ Π½Π° Π°ΠΊΡΠΈΠ²Π°ΡΠΈΠΈ
- Π Π°Π·Π±Π΅ΡΠ΅ΡΠ΅ ΠΊΠΎΠ»ΠΊΠΎ Π΄Π° ΠΎΡΡΠ΅ΠΆΠ΅ΡΠ΅
- ΠΡΡΡΠ·Π²Π°ΠΌ
- ΠΠ·ΡΡΠ°Π²Π°Π½Π΅ Π½Π° 10 Π΅ΠΏΠΎΡ ΠΈ Ρ LR=1e-4
- Π’Π΅ΡΡΠ²Π°Π½Π΅
Π Π°Π·ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π½Π°Π²ΠΈΠ²ΠΊΠΈ Π΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, Π·Π° Π΄Π° ΡΠ΅ ΠΎΡΠ΅Π½ΠΈ ΠΊΠΎΠ»ΠΊΠΎ ΡΠ°ΡΡ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΏΡΠ΅ΠΌΠ°Ρ Π½Π΅ΠΌ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° ΡΡΡΠΏΠΊΠ°. ΠΡΠΈΠΌΠ΅ΡΠΈ Π·Π° ΡΠ°Π·ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅:
ΠΠΈΠΆΠ΄Π°ΠΌΠ΅, ΡΠ΅ ΠΏΠΎΡΡΠΈ Π½Π°Π²ΡΡΠΊΡΠ΄Π΅ 5% ΠΎΡ Π½Π°ΠΌΠΎΡΠΊΠΈΡΠ΅ ΠΈΠΌΠ°Ρ ΠΌΠ½ΠΎΠ³ΠΎ Π½ΠΈΡΠΊΠ° L1-Π½ΠΎΡΠΌΠ° ΠΈ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π³ΠΈ ΠΏΡΠ΅ΠΌΠ°Ρ Π½Π΅ΠΌ. ΠΠ° Π²ΡΡΠΊΠ° ΡΡΡΠΏΠΊΠ° ΡΠΎΠ²Π° ΡΠ°Π·ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ ΡΠ΅ ΠΏΠΎΠ²ΡΠ°ΡΡ ΠΈ ΡΠ΅ ΠΏΡΠ΅ΡΠ΅Π½ΡΠ²Π° ΠΊΠΎΠΈ ΡΠ»ΠΎΠ΅Π²Π΅ ΠΈ ΠΊΠΎΠ»ΠΊΠΎ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΠΈΠ·ΡΡΠ·Π°Π½ΠΈ.
Π¦Π΅Π»ΠΈΡΡ ΠΏΡΠΎΡΠ΅Ρ Π±Π΅ΡΠ΅ Π·Π°Π²ΡΡΡΠ΅Π½ Π² 4 ΡΡΡΠΏΠΊΠΈ (ΡΠΈΡΡΠΈ ΡΡΠΊ ΠΈ Π½Π°Π²ΡΡΠΊΡΠ΄Π΅ Π·Π° RTX 2060 Super):
Π‘ΡΡΠΏΠΊΠ° | mAp75 | ΠΡΠΎΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ, ΠΌΠΈΠ»ΠΈΠΎΠ½ | Π Π°Π·ΠΌΠ΅Ρ Π½Π° ΠΌΡΠ΅ΠΆΠ°ΡΠ°, mb | ΠΡ ΠΏΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΎ, % | ΠΡΠ΅ΠΌΠ΅ Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅, Π³-ΠΆΠΎ | Π‘ΡΡΡΠΎΡΠ½ΠΈΠ΅ Π½Π° ΠΎΠ±ΡΡΠ·Π²Π°Π½Π΅ |
---|---|---|---|---|---|---|
0 | 0.9656 | 60 | 241 | 100 | 180 | - |
1 | 0.9622 | 55 | 218 | 91 | 175 | 5% ΠΎΡ Π²ΡΠΈΡΠΊΠΈ |
2 | 0.9625 | 50 | 197 | 83 | 168 | 5% ΠΎΡ Π²ΡΠΈΡΠΊΠΈ |
3 | 0.9633 | 39 | 155 | 64 | 155 | 15% Π·Π° ΡΠ»ΠΎΠ΅Π²Π΅ Ρ 400+ Π½Π°Π²ΠΈΠ²ΠΊΠΈ |
4 | 0.9555 | 31 | 124 | 51 | 146 | 10% Π·Π° ΡΠ»ΠΎΠ΅Π²Π΅ Ρ 100+ Π½Π°Π²ΠΈΠ²ΠΊΠΈ |
ΠΠ΄ΠΈΠ½ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»Π΅Π½ Π΅ΡΠ΅ΠΊΡ Π±Π΅ΡΠ΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ ΠΊΡΠΌ ΡΡΡΠΏΠΊΠ° 2 - ΠΏΠ°ΡΡΠΈΠ΄Π° Ρ ΡΠ°Π·ΠΌΠ΅Ρ 4 ΡΠ΅ ΠΏΠΎΠ±ΠΈΡΠ° Π² ΠΏΠ°ΠΌΠ΅ΡΡΠ°, ΠΊΠΎΠ΅ΡΠΎ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΡΡΠΊΠΎΡΠΈ ΠΏΡΠΎΡΠ΅ΡΠ° Π½Π° Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅.
ΠΠ° ΡΡΡΠΏΠΊΠ° 4 ΠΏΡΠΎΡΠ΅ΡΡΡ Π±Π΅ΡΠ΅ ΡΠΏΡΡΠ½, Π·Π°ΡΠΎΡΠΎ Π΄ΠΎΡΠΈ Π΄ΡΠ»Π³ΠΎΡΡΠΎΡΠ½ΠΎΡΠΎ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ Π½Π΅ ΠΏΠΎΠ²ΠΈΡΠΈ mAp75 Π΄ΠΎ ΡΡΠ°ΡΠΈΡΠ΅ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ.
Π ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π½Π° ΡΠΎΠ²Π° ΡΡΠΏΡΡ
ΠΌΠ΅ Π΄Π° ΡΡΠΊΠΎΡΠΈΠΌ ΠΈΠ·Π²ΠΎΠ΄Π° Ρ 15%, Π½Π°ΠΌΠ°Π»Π΅ΡΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ° Ρ 35% ΠΈ Π΄Π° Π½Π΅ Π³ΡΠ±ΡΡ ΡΠΎΡΠ½ΠΎ.
ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡ Π·Π° ΠΏΠΎ-ΠΏΡΠΎΡΡΠΈ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΈ
ΠΠ° ΠΏΠΎ-ΠΏΡΠΎΡΡΠΈ ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΈ (Π±Π΅Π· ΡΡΠ»ΠΎΠ²Π½ΠΎ Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅, ΠΊΠΎΠ½ΠΊΠ°ΡΠ΅ΡΠ½Π°ΡΠΈΡ ΠΈ ΠΎΡΡΠ°ΡΡΡΠ½ΠΈ Π±Π»ΠΎΠΊΠΎΠ²Π΅) Π΅ Π½Π°ΠΏΡΠ»Π½ΠΎ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΄Π° ΡΠ΅ ΡΡΡΡΠ΅Π΄ΠΎΡΠΎΡΠΈΡΠ΅ Π²ΡΡΡ Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° Π²ΡΠΈΡΠΊΠΈ ΠΊΠΎΠ½Π²ΠΎΠ»ΡΡΠΈΠΎΠ½Π½ΠΈ ΡΠ»ΠΎΠ΅Π²Π΅ ΠΈ Π΄Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠ°ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΠ° Π½Π° ΠΈΠ·ΡΡΠ·Π²Π°Π½Π΅ Π½Π° Π½Π°Π²ΠΈΠ²ΠΊΠΈ.
ΠΡΠΈΠ»ΠΎΠΆΠΈΡ
ΡΠ°Π·ΠΈ ΠΎΠΏΡΠΈΡ
ΠΡΠΎΡΡΠΎ Π΅: ΠΈΠΌΠ°ΡΠ΅ Π½ΡΠΆΠ΄Π° ΡΠ°ΠΌΠΎ ΠΎΡ ΡΡΠ½ΠΊΡΠΈΡ Π·Π° Π·Π°Π³ΡΠ±Π°, ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΎΡ ΠΈ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠΈ Π½Π° ΠΏΠ°ΡΡΠΈΠ΄ΠΈ:
import pruning
from keras.optimizers import Adam
from keras.utils import Sequence
train_batch_generator = BatchGenerator...
score_batch_generator = BatchGenerator...
opt = Adam(lr=1e-4)
pruner = pruning.Pruner("config.json", "categorical_crossentropy", opt)
pruner.prune(train_batch, valid_batch)
ΠΠΊΠΎ Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ:
{
"input_model_path": "model.h5",
"output_model_path": "model_pruned.h5",
"finetuning_epochs": 10, # the number of epochs for train between pruning steps
"stop_loss": 0.1, # loss for stopping process
"pruning_percent_step": 0.05, # part of convs for delete on every pruning step
"pruning_standart_deviation_part": 0.2 # shift for limit pruning part
}
ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π° Π΅ Π²ΡΠ²Π΅Π΄Π΅Π½ΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅, Π±Π°Π·ΠΈΡΠ°Π½ΠΎ Π½Π° ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΡΠΎ ΠΎΡΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΠ΅. Π¦Π΅Π»ΡΠ° Π΅ Π΄Π° ΡΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈ ΡΠ°ΡΡΡΠ°, ΠΊΠΎΡΡΠΎ ΡΠ΅ ΠΏΡΠ΅ΠΌΠ°Ρ Π²Π°, ΠΊΠ°ΡΠΎ ΡΠ΅ ΠΈΠ·ΠΊΠ»ΡΡΠ°Ρ Π½Π°Π²ΠΈΠ²ΠΊΠΈ Ρ Π²Π΅ΡΠ΅ βΠ΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΈβ L1 ΠΌΠ΅ΡΠΊΠΈ:
ΠΠΎ ΡΠΎΠ·ΠΈ Π½Π°ΡΠΈΠ½ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°ΠΌΠ΅ Π΄Π° ΠΏΡΠ΅ΠΌΠ°Ρ Π²Π°ΡΠ΅ ΡΠ°ΠΌΠΎ ΡΠ»Π°Π±ΠΈ Π½Π°Π²ΠΈΠ²ΠΊΠΈ ΠΎΡ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠΈ, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ Π½Π° Π΄ΡΡΠ½Π°ΡΠ°, ΠΈ Π΄Π° Π½Π΅ Π·Π°ΡΡΠ³Π°ΠΌΠ΅ ΠΏΡΠ΅ΠΌΠ°Ρ Π²Π°Π½Π΅ΡΠΎ ΠΎΡ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠΈ, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ Π½Π° Π»ΡΠ²Π°ΡΠ°:
ΠΠΎΠ³Π°ΡΠΎ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΡΠΎ ΡΠ΅ Π΄ΠΎΠ±Π»ΠΈΠΆΠΈ Π΄ΠΎ Π½ΠΎΡΠΌΠ°Π»Π½ΠΎΡΠΎ, ΠΊΠΎΠ΅ΡΠΈΡΠΈΠ΅Π½ΡΡΡ pruning_standart_deviation_part ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΈΠ·Π±ΡΠ°Π½ ΠΎΡ:
ΠΡΠ΅ΠΏΠΎΡΡΡΠ²Π°ΠΌ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π° 2 ΡΠΈΠ³ΠΌΠ°. ΠΠ»ΠΈ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ³Π½ΠΎΡΠΈΡΠ°ΡΠ΅ ΡΠ°Π·ΠΈ ΡΡΠ½ΠΊΡΠΈΡ, ΠΎΡΡΠ°Π²ΡΠΉΠΊΠΈ ΡΡΠΎΠΉΠ½ΠΎΡΡ < 1.0.
Π Π΅Π·ΡΠ»ΡΠ°ΡΡΡ Π΅ Π³ΡΠ°ΡΠΈΠΊΠ° Π½Π° ΡΠ°Π·ΠΌΠ΅ΡΠ° Π½Π° ΠΌΡΠ΅ΠΆΠ°ΡΠ°, Π·Π°Π³ΡΠ±Π°ΡΠ° ΠΈ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° ΡΠ°Π±ΠΎΡΠ° Π½Π° ΠΌΡΠ΅ΠΆΠ°ΡΠ° Π·Π° ΡΠ΅Π»ΠΈΡ ΡΠ΅ΡΡ, Π½ΠΎΡΠΌΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° Π΄ΠΎ 1.0. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΊ ΡΠ°Π·ΠΌΠ΅ΡΡΡ Π½Π° ΠΌΡΠ΅ΠΆΠ°ΡΠ° Π±Π΅ΡΠ΅ Π½Π°ΠΌΠ°Π»Π΅Π½ ΠΏΠΎΡΡΠΈ 2 ΠΏΡΡΠΈ Π±Π΅Π· Π·Π°Π³ΡΠ±Π° Π½Π° ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ (ΠΌΠ°Π»ΠΊΠ° ΠΊΠΎΠ½Π²ΠΎΠ»ΡΡΠΈΠΎΠ½Π½Π° ΠΌΡΠ΅ΠΆΠ° ΡΡΡ 100k ΡΠ΅Π³Π»Π°):
Π‘ΠΊΠΎΡΠΎΡΡΡΠ° Π½Π° Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π΅ ΠΎΠ±Π΅ΠΊΡ Π½Π° Π½ΠΎΡΠΌΠ°Π»Π½ΠΈ ΠΊΠΎΠ»Π΅Π±Π°Π½ΠΈΡ ΠΈ ΠΎΡΡΠ°Π²Π° ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅ΠΏΡΠΎΠΌΠ΅Π½Π΅Π½Π°. ΠΠΌΠ° ΠΎΠ±ΡΡΠ½Π΅Π½ΠΈΠ΅ Π·Π° ΡΠΎΠ²Π°:
- ΠΡΠΎΡΡ Π½Π° Π½Π°Π²ΠΈΠ²ΠΊΠΈΡΠ΅ ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½Ρ ΠΎΡ ΡΠ΄ΠΎΠ±Π΅Π½ (32, 64, 128) Π΄ΠΎ Π½Π΅ Π½Π°ΠΉ-ΡΠ΄ΠΎΠ±Π΅Π½ Π·Π° Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°ΡΡΠΈ - 27, 51 ΠΈ Ρ.Π½. Π’ΡΠΊ ΠΌΠΎΠΆΠ΅ ΠΈ Π΄Π° Π³ΡΠ΅ΡΠ°, Π½ΠΎ Π½Π°ΠΉ-Π²Π΅ΡΠΎΡΡΠ½ΠΎ ΠΈΠΌΠ° Π΅ΡΠ΅ΠΊΡ.
- ΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° Π½Π΅ Π΅ ΡΠΈΡΠΎΠΊΠ°, Π½ΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½Π°. ΠΠ°ΠΌΠ°Π»ΡΠ²Π°ΠΉΠΊΠΈ ΡΠΈΡΠΈΠ½Π°ΡΠ°, Π½ΠΈΠ΅ Π½Π΅ Π²Π»ΠΈΡΠ΅ΠΌ Π½Π° Π΄ΡΠ»Π±ΠΎΡΠΈΠ½Π°ΡΠ°. Π’Π°ΠΊΠ° Π½Π°ΠΌΠ°Π»ΡΠ²Π°ΠΌΠ΅ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ΡΠΎ, Π½ΠΎ Π½Π΅ ΠΏΡΠΎΠΌΠ΅Π½ΡΠΌΠ΅ ΡΠΊΠΎΡΠΎΡΡΡΠ°.
Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΡΠΎ ΡΠ΅ ΠΈΠ·ΡΠ°Π·ΡΠ²Π° Π² Π½Π°ΠΌΠ°Π»ΡΠ²Π°Π½Π΅ Π½Π° Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° CUDA ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Ρ 20-30%, Π½ΠΎ Π½Π΅ ΠΈ Π² Π½Π°ΠΌΠ°Π»ΡΠ²Π°Π½Π΅ Π½Π° Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅
Π Π΅Π·ΡΠ»ΡΠ°ΡΠΈ ΠΎΡ
ΠΠ΅ΠΊΠ° Π΄Π° ΠΎΡΡΠ°Π·ΠΈΠΌ. Π Π°Π·Π³Π»Π΅Π΄Π°Ρ ΠΌΠ΅ 2 Π²Π°ΡΠΈΠ°Π½ΡΠ° Π·Π° ΡΡΠΊΡΠ°ΡΠ°Π²Π°Π½Π΅ - Π·Π° YOLOv3 (ΠΊΠΎΠ³Π°ΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ°Π±ΠΎΡΠΈΡΠ΅ Ρ ΡΡΡΠ΅ΡΠ΅ ΡΠΈ) ΠΈ Π·Π° ΠΌΡΠ΅ΠΆΠΈ Ρ ΠΏΠΎ-ΠΏΡΠΎΡΡΠ° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°. ΠΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π²ΠΈΠ΄ΠΈ, ΡΠ΅ ΠΈ Π² Π΄Π²Π°ΡΠ° ΡΠ»ΡΡΠ°Ρ Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΄Π° ΡΠ΅ ΠΏΠΎΡΡΠΈΠ³Π½Π΅ Π½Π°ΠΌΠ°Π»ΡΠ²Π°Π½Π΅ Π½Π° ΡΠ°Π·ΠΌΠ΅ΡΠ° Π½Π° ΠΌΡΠ΅ΠΆΠ°ΡΠ° ΠΈ ΡΡΠΊΠΎΡΡΠ²Π°Π½Π΅ Π±Π΅Π· Π·Π°Π³ΡΠ±Π° Π½Π° ΡΠΎΡΠ½ΠΎΡΡ. Π Π΅Π·ΡΠ»ΡΠ°ΡΠΈ:
- ΠΠ°ΠΌΠ°Π»ΡΠ²Π°Π½Π΅ Π½Π° ΡΠ°Π·ΠΌΠ΅ΡΠ°
- ΠΡΠ³Π°Π½Π΅ Π·Π° ΡΡΠΊΠΎΡΠ΅Π½ΠΈΠ΅
- ΠΠ°ΠΌΠ°Π»ΡΠ²Π°Π½Π΅ Π½Π° Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° CUDA
- Π ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π½Π° ΡΠΎΠ²Π° Π΅ΠΊΠΎΠ»ΠΎΠ³ΠΎΡΡΠΎΠ±ΡΠ°Π·Π½ΠΎΡΡ (ΠΠΈΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°ΠΌΠ΅ Π±ΡΠ΄Π΅ΡΠΎΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΡΠ½ΠΈ ΡΠ΅ΡΡΡΡΠΈ. ΠΡΠΊΡΠ΄Π΅ ΡΠΎΠ²Π΅ΠΊ Π΅ ΡΠ°ΡΡΠ»ΠΈΠ²
ΠΡΠ΅ΡΠ° Π’ΡΠ½Π±Π΅ΡΠ³ )
ΠΠΏΠ΅Π½Π΄ΠΈΠΊΡ
- Π‘Π»Π΅Π΄ ΡΡΡΠΏΠΊΠ°ΡΠ° Π½Π° ΠΏΠΎΠ΄ΡΡΠ·Π²Π°Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΡΠ΅ ΠΊΠ²Π°Π½ΡΡΠ²Π°Π½Π΅ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Ρ TensorRT)
- Tensorflow ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π·Π°
Π½ΠΈΡΠΊΠΎ_ΠΌΠ°Π³Π½ΠΈΡΡΠ΄Π½ΠΎ_ΠΏΠΎΠ΄ΡΡΠ·Π²Π°Π½Π΅ . ΠΡΡΡΠΈ ΡΠ°Π±ΠΎΡΠ°. Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ ΠΡΠΊΠ°ΠΌ Π΄Π° ΡΠ΅ ΡΠ°Π·Π²ΠΈΠ²Π°ΠΌ ΠΈ ΡΠ΅ ΡΠ΅ ΡΠ°Π΄Π²Π°ΠΌ Π΄Π° ΠΏΠΎΠΌΠΎΠ³Π½Π°
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: www.habr.com