κ·Έλμ cmd c:\dark\darkflow-master>python flow --model cfg/yolov2-tiny.cfg --load bin/yolov2-tiny.weightsμμ μ΄ λͺ
λ Ήμ μ¬μ©ν λ
κ·Έλ° λ€μμ΄ μ€λ₯κ° λνλ©λλ€.
μ΄ λ¬Έμ λ₯Ό ν΄κ²°νλλ‘ λμμ£ΌμΈμ.
μλ
νμΈμ, μ λμ΄ λ¬Έμ κ° μμ΅λλ€.
κ°μ yolov2-μμ.
AssertionError: 63820056λ°μ΄νΈλ₯Ό μμνκ³ 63820060μ μ°Ύμμ΅λλ€.
μ무λ μ°λ¦¬λ₯Ό λμΈ μ μμ΅λκΉ?
μ€, μμλ!
λ΄κ° μ¬κΈ°μμ 무μμ λ°κ²¬νλμ§ λ³΄λ¬ μ€μΈμ!
https://sites.google.com/view/tensorflow-example-java-api/complete-guide-to-train-yolo/convert-darknet-weights-to-pb-file
κ·Έ λ§ν¬λ₯Ό μ£Όμ
μ κ°μ¬ν©λλ€
κ·Έλ¦¬κ³ btw λΉμ μ μ΄ darkflow 물건μμ μ°λ¦¬κ° μλ‘λ₯Ό λμΈ μ μλλ‘ μ μκ² μ°λ½νμκ² μ΅λκΉ?
λλ small-yoloκ° μλλΌ yoloμ κ°μ μ€λ₯λ₯Ό κ²ͺμμ΅λλ€.
cfg νμΌμμ λλΉμ λμ΄λ₯Ό μ€μ΄μμμ€. λ¬Έμ κ° ν΄κ²°λμμ΅λλ€.
λλΉμ λμ΄ κ°μ 32μ λ°°μμ¬μΌ ν©λλ€.
λλ κ°μ λ¬Έμ κ°μλ€. yolov2.cfgλ₯Ό 3κ°μ ν΄λμ€λ‘ μμ νκ³ yolov2.weightsλ₯Ό μ¬μ©νμ¬ λ΄ λ°μ΄ν° μΈνΈλ₯Ό νλ ¨νμ΅λλ€.
μ΄ λ¬Έμ λ₯Ό ν΄κ²°νκΈ° μν΄ https://sites.google.com/view/tensorflow-example-java-api/complete-guide-to-train-yolo/convert-darknet-weights-to-pb-file λ°©λ²μ μλνμ΅λλ€. κ·Έλ¬λ μλνμ§ μμ΅λλ€. μ€νμ
= 16μ μ€νμ
= 20, μ¬μ§μ΄ μ€νμ
= 40μΌλ‘ λ°κΏ¨μ΅λλ€.
zihang@derek :~/project/darkflow$ νλ¦ --model cfg/yolov2-3c.cfg --load bin/yolov2.weights --train --annotation κΈ°μ°¨/μ£Όμ --dataset κΈ°μ°¨/μ΄λ―Έμ§ --gpu 1.0
/home/zihang/anaconda3/envs/tensorflow/lib/python3.6/site-packages/darkflow/dark/darknet.py:54: UserWarning: ./cfg/yolov2.cfgλ₯Ό μ°Ύμ μ μμ΅λλ€. cfg/yolov2-3cλ₯Ό μ¬μ©νμΈμ. λμ cfg
cfg_path, FLAGS.model))
cfg/yolov2-3c.cfg ꡬ문 λΆμ
bin/yolov2.weights λ‘λ μ€...
μμΆμ (κ°μ₯ μ΅κ·Ό νΈμΆ λ§μ§λ§):
νμΌ "/home/zihang/anaconda3/envs/tensorflow/bin/flow", 6ν, in
cliHandler(sys.argv)
νμΌ "/home/zihang/anaconda3/envs/tensorflow/lib/python3.6/site-packages/darkflow/cli.py", 26ν, cliHandler
tfnet = TFNet(FLAGS)
νμΌ "/home/zihang/anaconda3/envs/tensorflow/lib/python3.6/site-packages/darkflow/net/build.py", 58ν, __init__
λ€ν¬λ· = λ€ν¬λ·(FLAGS)
νμΌ "/home/zihang/anaconda3/envs/tensorflow/lib/python3.6/site-packages/darkflow/dark/darknet.py", 27ν, __init__
self.load_weights()
load_weightsμ νμΌ "/home/zihang/anaconda3/envs/tensorflow/lib/python3.6/site-packages/darkflow/dark/darknet.py", 82ν
wgts_loader = loader.create_loader( μΈμ)νμΌ "/home/zihang/anaconda3/envs/tensorflow/lib/python3.6/site-packages/darkflow/utils/loader.py", 105ν, create_loaderload_type(κ²½λ‘, cfg) λ°ννμΌ "/home/zihang/anaconda3/envs/tensorflow/lib/python3.6/site-packages/darkflow/utils/loader.py", 19ν, __init__self.load( μΈμ)
νμΌ "/home/zihang/anaconda3/envs/tensorflow/lib/python3.6/site-packages/darkflow/utils/loader.py", 77ν, λ‘λ μ€
Walker.offset, Walker.size)
AssertionError: 202355760λ°μ΄νΈ μμ, 203934260 λ°κ²¬
μ λ κ°μ μλ¬μ λλ€.... ν΄κ²°μ΄ μλλ€μ..... λκ° λμμ£ΌμΈμ
μ€, μμλ!
λ΄κ° μ¬κΈ°μμ 무μμ λ°κ²¬νλμ§ λ³΄λ¬ μ€μΈμ!
https://sites.google.com/view/tensorflow-example-java-api/complete-guide-to-train-yolo/convert-darknet-weights-to-pb-file
μ΄μ λ₯Ό μ΄ν΄νμ§ λͺ»νμ§λ§ μλν©λλ€!!! κ°μ¬ ν΄μ!!
@dudqls1994
1. μ°μ , μ°λΆν¬μμ anaconda2λ‘ tensorflowλ₯Ό λ¨Όμ μ€μΉνμ΅λλ€(λ²μ 2 λλ 3μ μν₯μ λ―ΈμΉμ§ μμ΅λλ€).
2. darkflowμ νμν μ€μΉ νκ²½μ Python3 μ΄λ―λ‘ anaconda2μ Python2λ₯Ό python3.5λ‘ μ
κ·Έλ μ΄λ ν©λλ€. Ubuntu μμ€ν
μλ python2.7μ΄ κΈ°λ³ΈμΌλ‘ μ 곡λ©λλ€. darkflow μ¬μ© μ source activate py35λ₯Ό μ¬μ©νμ¬ Python3.5 νκ²½μ μ§μ
νμ¬ μ¬μ©ν©λλ€. νλ¦ λͺ
λ Ήμ΄ μνν©λλ€.
3. λ€μμΌλ‘ darkflowλ₯Ό μ무λ°λ μ€μΉν μ μμ§λ§ py35 νκ²½μ μ€μΉν΄μΌ νλ©° Python νκ²½ μμ€λ‘ λ³κ²½νμ¬ py35λ₯Ό νμ±νν λ€μ μ€μΉνλ©΄ darkflow ν΄λκ° νμλ©λλ€. μ΄ ν΄λλ μ€μΉμμ μΈλͺ¨κ° μμ΅λλ€. of darkflow κ·Έκ²μ μλμΌλ‘ aaconda2/envs/py34/lib/python3.5/site-packages/darkflow/utilsμ 볡μ¬λ©λλ€. λ³κ²½μ μ λλ ν 리μ λ‘λμ
λλ€.py ν 121, self.offset = 16μ self.offset = 20μΌλ‘ λ³κ²½
μ€, μμλ!
λ΄κ° μ¬κΈ°μμ 무μμ λ°κ²¬νλμ§ λ³΄λ¬ μ€μΈμ!
https://sites.google.com/view/tensorflow-example-java-api/complete-guide-to-train-yolo/convert-darknet-weights-to-pb-file
κ³ λ§μμ, λΉμ μ μλͺ μ μμΈμ λλ€
@ideaRunner μ루μ
μ μλ μλλ μ λλ‘ μλνμ΅λλ€! @ideaRunner κ°μ¬ν©λλ€! μ€ν¬λ¦°μ·μ 첨λΆνμ§ λͺ»ν΄ μ£μ‘ν©λλ€. λ¬Έμ λ₯Ό μ¬νν΄μΌ ν©λλ€.
μ£Όμ: λμ€νλ μ΄μ λμΌν GPUλ₯Ό μ¬μ©νλ κ²½μ° 0.8μ GPUλ₯Ό μ¬μ©νλ λ° λ¬Έμ κ° λ°μν μ μμΌλ―λ‘ GPU μ¬μ©λμ 0.7λ‘ μ€μ΄λ κ²μ΄ μ’μ΅λλ€. κ·Έλ¬λ©΄ μ λλ‘ μλν©λλ€!
μ€, μμλ!
λ΄κ° μ¬κΈ°μμ 무μμ λ°κ²¬νλμ§ λ³΄λ¬ μ€μΈμ!
https://sites.google.com/view/tensorflow-example-java-api/complete-guide-to-train-yolo/convert-darknet-weights-to-pb-file
λ°λΌμ μΈμ κ°λ λμ΄μ§ μ μλ λ§ν¬λ‘ μ΄λν νμκ° μμ΅λλ€.
μ루μ μ λ§€μ° κ°λ¨ν©λλ€. ./darkflow/utils/loader.py νμΌμμ self.offset = 16 νμ μμ νκ³ self.offset = 20μΌλ‘ λ°κΎΈκ² μ΅λλ€.
λλ₯Ό μν΄ κ·Έκ²μ μλνμ§ μμλ€. κΈ°λμ λ°κ²¬μ μ°¨μ΄κ° λ§μ΄ μ€μ΄λ€μμ§λ§
μ€, μμλ!
λ΄κ° μ¬κΈ°μμ 무μμ λ°κ²¬νλμ§ λ³΄λ¬ μ€μΈμ!
https://sites.google.com/view/tensorflow-example-java-api/complete-guide-to-train-yolo/convert-darknet-weights-to-pb-fileλ°λΌμ μΈμ κ°λ λμ΄μ§ μ μλ λ§ν¬λ‘ μ΄λν νμκ° μμ΅λλ€.
μ루μ μ λ§€μ° κ°λ¨ν©λλ€. ./darkflow/utils/loader.py νμΌμμ self.offset = 16 νμ μμ νκ³ self.offset = 20μΌλ‘ λ°κΎΈκ² μ΅λλ€.
λλ₯Ό μν΄ κ·Έκ²μ μλνμ§ μμλ€. κΈ°λμ λ°κ²¬μ μ°¨μ΄κ° λ§μ΄ μ€μ΄λ€μμ§λ§
λλ κ°μ λ¬Έμ κ° μμμ§λ§ μ¬λ°λ₯Έ self.offsetμΌλ‘ ν΄κ²°ν μ μμ΅λλ€.
44948596λ°μ΄νΈμΈ κ²½μ° 44948600μ μ°Ύμμ΅λλ€.
μ°¨μ΄(44948600-44948596)κ° self.offsetμ μΆκ°λμ΄μΌ ν¨μ μλ―Έν©λλ€.
self.offset= self.offset + 4 μ°¨μ΄ (44948600- 44948596 )
μΌκ΅΄ μλ°λ₯ *
κ°μ¬ν©λλ€ @shalin51
@shalin51 μ κ±·κΈ° κΈ°λ₯μ΄ λ€μκ³Ό κ°μμΌ ν¨μ μλ―Έν©λκΉ?
def λ보(μμ , ν¬κΈ°):
self.of: λ°ν μμ
end_point = self.offset + 4 * (44948600- 44948596 )
end_point <= self.size μ£Όμ₯, \
'μ΄κ³Ό μ½κΈ°{}'.format(self.path)
κ·Έλ¬λ©΄ ν¬κΈ° 맀κ°λ³μλ₯Ό μμ ν΄μΌ ν©λκΉ?
λ΄ μ루μ μ λ€μκ³Ό κ°μ΅λλ€.
pip install -e .
λ€μ μ€μΉκ·Έκ²μ λλ₯Ό μν΄ μλν©λλ€.
μ£Όμ: cfg νμΌκ³Ό weights λ° labels.txtκ° μλ‘ μΌμΉνλμ§ νμΈν΄μΌ ν©λλ€.
λλ λ¬Έμ λ₯Ό ν΄κ²°νλ€.
"loader.py" νμΌμ μ°Ύμ "self.offset" κ°μ λ³κ²½ν©λλ€.
μ
λ°μ΄νΈλ self.offset = old_offset_value + (found_value - expected_value)
μ λ ν΄κ²°νμ΅λλ€.
~/darkflow/utilsμμ self.offset κ°μ '20' "loader.py"λ‘ λ³κ²½νλ μ€μ λλ€.
μ μ΄κ²μ΄ μλνλμ§ λͺ¨λ₯΄κ² μ΅λλ€. νμ§λ§ μΌμ΄μΌ!
μμ μ§μ λ λͺ¨λ λ°©λ²μ μλνμ΅λλ€. κ·Έλ¬λ κ·Έκ²μ μ무κ²λ μλνμ§ μλ κ² κ°μ΅λλ€!!
μ΄ λ¬Έμ λ₯Ό ν΄κ²°ν λ€λ₯Έ λ°©λ²μ΄ μμ΅λκΉ!!
μ€, μμλ!
λ΄κ° μ¬κΈ°μμ 무μμ λ°κ²¬νλμ§ λ³΄λ¬ μ€μΈμ!
https://sites.google.com/view/tensorflow-example-java-api/complete-guide-to-train-yolo/convert-darknet-weights-to-pb-file
μμ§ν μ΄λ»κ² μλνλμ§ λͺ¨λ₯΄κ² μ§λ§ λ΄ λ¬Έμ λ₯Ό ν΄κ²°νμ΅λλ€. νλ₯ν©λλ€!!
diff --git a/darkflow/utils/loader.py b/darkflow/utils/loader.py
μμΈ 723560d..e2fdaea 100644
--- a/darkflow/utils/loader.py
+++ b/darkflow/utils/loader.py
@@ -118,7 +118,8 @@ ν΄λμ€ weights_walker(κ°μ²΄):
λͺ¨μ = (), λͺ¨λ = 'r', μ€νμ
= 0,
dtype = '({})i4,'.νμ(4))
self.transpose = λ©μ΄μ > 1000 λλ λ§μ΄λ > 1000
- self.offset = 16
+ self.offset = 20
def walk(self, size):
if self.eof: return None
κ°μ₯ μ μ©ν λκΈ
μ€, μμλ!
λ΄κ° μ¬κΈ°μμ 무μμ λ°κ²¬νλμ§ λ³΄λ¬ μ€μΈμ!
https://sites.google.com/view/tensorflow-example-java-api/complete-guide-to-train-yolo/convert-darknet-weights-to-pb-file