Darkflow: باستخدام مثال android لخطأ الرسم البياني yolo.pb

تم إنشاؤها على ١٦ فبراير ٢٠١٧  ·  4تعليقات  ·  مصدر: thtrieu/darkflow

لقد قمت بإنشاء ملفين رسميين - tiny-yolo-voc.pb و graph-yolo.pb.

الملف "graph-tiny-yolo-voc.pb" على ما يرام ، لكن خطأ في الرسم البياني yolo.pb

أنا / أصلي: tensorflow_inference_jni.cc:139 إنشاء رسم بياني TensorFlow من GraphDef.
E / native: tensorflow_inference_jni.cc:146 تعذر إنشاء رسم بياني TensorFlow: وسيطة غير صالحة: لم يتم تسجيل OpKernel لدعم Op 'ExtractImagePatches' مع هذه attrs. الأجهزة المسجلة: [CPU] ، النواة المسجلة:

[[Node: 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 init status: 3

التعليق الأكثر فائدة

يعني عدم وجود Opkernel عدم وجود تطبيق للأجهزة التي تعمل على هذا .pb .
لحل هذه المشكلة ، انظر إلى الفئة reorg من ./net/ops/convolution.py . له طريقتان _forward و forward . الخيار الافتراضي الحالي هو استخدام forward ، والذي يحتوي على extract_image_patches - وهي طريقة مضمنة في tensorflow.

قم بتبديل أسماء طريقتين وستستخدم التطبيق اليدوي الخاص بي ، والذي يجب ألا يكون لديه مشكلة في تطبيق Opkernel.

ال 4 كومينتر

يعني عدم وجود Opkernel عدم وجود تطبيق للأجهزة التي تعمل على هذا .pb .
لحل هذه المشكلة ، انظر إلى الفئة reorg من ./net/ops/convolution.py . له طريقتان _forward و forward . الخيار الافتراضي الحالي هو استخدام forward ، والذي يحتوي على extract_image_patches - وهي طريقة مضمنة في tensorflow.

قم بتبديل أسماء طريقتين وستستخدم التطبيق اليدوي الخاص بي ، والذي يجب ألا يكون لديه مشكلة في تطبيق 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 - سيفيب

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 (* args)
ملف "/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__
إلى الأمام ()
ملف "/home/qkj/projects/dark_flow/darkflow/net/ops/convolution.py" ، السطر 13 ، إلى الأمام
لأني في النطاق (ساعة / ثانية):
TypeError: لا يمكن تفسير الكائن "float" على أنه عدد صحيح

فئة reorg (BaseOp):
def إلى الأمام (النفس):
inp = self.inp.out
الشكل = inp.get_shape (). as_list ()
_ ، ح ، ث ، ج = الشكل
s = self.lay.stride
خارج = قائمة ()
لأني في النطاق (ساعة / ثانية):
row_i = قائمة ()
لـ j في النطاق (w / s):
سي ، sj = s * i ، s * j
boxij = inp [:، si: si + s ، sj: sj + s ،:]
flatij = tf.reshape (boxij، [-1،1،1، c 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. الرجاء مساعدتي في إصلاح هذا !!!

[[Node: 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 التقييمات