Darkflow: ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ошибки graph-yolo.pb для Android

Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ Π½Π° 16 Ρ„Π΅Π²Ρ€. 2017  Β·  4ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ  Β·  Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: thtrieu/darkflow

Π― создал Π΄Π²Π° Ρ„Π°ΠΉΠ»Π°: graph-tiny-yolo-voc.pb ΠΈ graph-yolo.pb.

Ρ„Π°ΠΉΠ» "graph-tiny-yolo-voc.pb" Π² порядкС, Π½ΠΎ ошибка graph-yolo.pb

I/native: tensorflow_inference_jni.cc:139 Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π³Ρ€Π°Ρ„Π° TensorFlow ΠΈΠ· GraphDef.
E/native: tensorflow_inference_jni.cc:146 НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π³Ρ€Π°Ρ„ΠΈΠΊ TensorFlow: Π½Π΅Π²Π΅Ρ€Π½Ρ‹ΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚: Π½Π΅ Π±Ρ‹Π»ΠΎ зарСгистрировано OpKernel для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Op Β«ExtractImagePatchesΒ» с этими Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°ΠΌΠΈ. ЗарСгистрированныС устройства: [ЦП], ЗарСгистрированныС ядра:

[[Π£Π·Π΅Π»: ExtractImagePatches = ExtractImagePatches T=DT_FLOAT, ksizes=[1, 2, 2, 1], padding="VALID", rate=[1, 1, 1, 1], strides=[1, 2, 2, 1] ]]
E/tensorflow: TensorFlowYoloDetector: статус ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ TF: 3

Π‘Π°ΠΌΡ‹ΠΉ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΈΠ΅ Opkernel ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ отсутствиС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ для оборудования, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ этот .pb .
Π§Ρ‚ΠΎΠ±Ρ‹ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ эту ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ, посмотритС Π½Π° класс reorg ΠΈΠ· ./net/ops/convolution.py . Он ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π²Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π° _forward ΠΈ forward . Π’Π΅ΠΊΡƒΡ‰ΠΈΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ forward , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠΌΠ΅Π΅Ρ‚ extract_image_patches β€” встроСнный ΠΌΠ΅Ρ‚ΠΎΠ΄ Ρ‚Π΅Π½Π·ΠΎΡ€Π½ΠΎΠ³ΠΎ ΠΏΠΎΡ‚ΠΎΠΊΠ°.

ΠŸΠΎΠΌΠ΅Π½ΡΠΉΡ‚Π΅ мСстами ΠΈΠΌΠ΅Π½Π° Π΄Π²ΡƒΡ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², ΠΈ Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ мою Ρ€ΡƒΡ‡Π½ΡƒΡŽ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ Opkernel.

ВсС 4 ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΈΠ΅ Opkernel ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ отсутствиС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ для оборудования, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ этот .pb .
Π§Ρ‚ΠΎΠ±Ρ‹ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ эту ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ, посмотритС Π½Π° класс reorg ΠΈΠ· ./net/ops/convolution.py . Он ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π²Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π° _forward ΠΈ forward . Π’Π΅ΠΊΡƒΡ‰ΠΈΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ forward , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠΌΠ΅Π΅Ρ‚ extract_image_patches β€” встроСнный ΠΌΠ΅Ρ‚ΠΎΠ΄ Ρ‚Π΅Π½Π·ΠΎΡ€Π½ΠΎΠ³ΠΎ ΠΏΠΎΡ‚ΠΎΠΊΠ°.

ΠŸΠΎΠΌΠ΅Π½ΡΠΉΡ‚Π΅ мСстами ΠΈΠΌΠ΅Π½Π° Π΄Π²ΡƒΡ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², ΠΈ Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ мою Ρ€ΡƒΡ‡Π½ΡƒΡŽ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ Opkernel.

я ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ» ΠΊΠΎΠ΄, Π½ΠΎ Π½Π΅ ΠΌΠΎΠ³Ρƒ ΡΠ³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ .pb
/usr/bin/python3 ./flow.py --model /home/qkj/projects/dark_flow/darkflow/cfg/yolo-voc.cfg --load /home/qkj/projects/dark_flow/darkflow/bin/yolo- voc.weights --savepb

Traceback (послСдний послСдний Π²Ρ‹Π·ΠΎΠ²):
Π€Π°ΠΉΠ» "./flow.py", строка 42, Π²
tfnet = TFNet(Π€Π›ΠΠ“Π˜)
Π€Π°ΠΉΠ» "/home/qkj/projects/dark_flow/darkflow/net/build.py", строка 50, Π² __init__
self.build_forward()
Π€Π°ΠΉΠ» "/home/qkj/projects/dark_flow/darkflow/net/build.py", строка 70, Π² build_forward
состояниС = op_create(*Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹)
Π€Π°ΠΉΠ» "/home/qkj/projects/dark_flow/darkflow/net/ops/__init__.py", строка 27, Π² op_create
Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ op_types layer_type
Π€Π°ΠΉΠ» "/home/qkj/projects/dark_flow/darkflow/net/ops/baseop.py", строка 42, Π² __init__
self.forward ()
Π€Π°ΠΉΠ» "/home/qkj/projects/dark_flow/darkflow/net/ops/convolution.py", строка 13, Π²ΠΏΠ΅Ρ€Π΅Π΄
для i Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ (Ρ‡/с):
TypeError: ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ 'float' Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ ΠΊΠ°ΠΊ Ρ†Π΅Π»ΠΎΠ΅ число

рСорганизация класса (BaseOp):
Π·Π°Ρ‰ΠΈΡ‚Π° Π²ΠΏΠ΅Ρ€Π΅Π΄ (я):
Π²Ρ…ΠΎΠ΄ = self.inp.out
Ρ„ΠΎΡ€ΠΌΠ° = inp.get_shape().as_list()
_, Ρ‡, ш, с = Ρ„ΠΎΡ€ΠΌΠ°
s = self.lay.stride
Π²Ρ‹Ρ…ΠΎΠ΄ = список()
для i Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ (Ρ‡/с):
row_i = список()
для j в диапазонС (w/s):
si, sj = s * i, s * j
boxij = inp[:, si: si+s, sj: sj+s,:]
flatij = tf.reshape(boxij, [-1,1,1,c s s])
row_i += [flatij]
Π²Ρ‹Ρ…ΠΎΠ΄ += [tf.concat(2, row_i)]
self.out = tf.concat (1, Π²Ρ‹Ρ…ΠΎΠ΄)

def _forward(self):
    inp = self.inp.out
    s = self.lay.stride
    self.out = tf.extract_image_patches(
        inp, [1,s,s,1], [1,s,s,1], [1,1,1,1], 'VALID')

Π­ΠΉ, это ошибка ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π΅ с Python2 Π½Π° Python3. Бпасибо Π·Π° ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ Π½Π° это, я ΠΎΠ±Π½ΠΎΠ²ΠΈΠ» ΠΊΠΎΠ΄.

Π£ мСня такая ΠΆΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, ΠΈ я помСнял мСстами ΠΈΠΌΠ΅Π½Π° Π΄Π²ΡƒΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Π½ΠΎ Ρ„Π°ΠΉΠ» yolo.pb ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ Π² Android. ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, ΠΏΠΎΠΌΠΎΠ³ΠΈΡ‚Π΅ ΠΌΠ½Π΅ это ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ!!!

[[Π£Π·Π΅Π»: ExtractImagePatches = ExtractImagePatches[T=DT_FLOAT, ksizes=[1, 2, 2, 1], padding="VALID", rate=[1, 1, 1, 1], strides=[1, 2, 2 , 1]] (47-дырявый)]]

Бпасибо

Π‘Ρ‹Π»Π° Π»ΠΈ эта страница ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ?
0 / 5 - 0 Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ΠΈ

Π‘ΠΌΠ΅ΠΆΠ½Ρ‹Π΅ вопросы

ShawnDing1994 picture ShawnDing1994  Β·  4ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ

jubjamie picture jubjamie  Β·  4ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ

halt9 picture halt9  Β·  3ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ

ma3252788 picture ma3252788  Β·  3ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ

hrshovon picture hrshovon  Β·  5ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ