Tencent / ncnn

ncnn is a high-performance neural network inference framework optimized for the mobile platform
Other
20.54k stars 4.18k forks source link

_copy not supported yet! #417

Closed KangolHsu closed 5 years ago

KangolHsu commented 6 years ago

model in https://github.com/deepinsight/insightface

LResNet34E-IR@BaiduDrive Performance:(model-r34-amf-slim.zip)

mxnet2ncnn model-r34-amf/model-symbol.json model-r34-amf/model-0000.params model-r34-amf.param model-r34-amf.bin

ERRO _copy not supported yet

KangolHsu commented 6 years ago

By adding code in https://github.com/Tencent/ncnn/blob/307a77f04be29875f40d337cfff6df747df09de6/tools/mxnet/mxnet2ncnn.cpp#L748


        else if (n.op == "_copy")
        {
            fprintf(pp, "%-16s", "BinaryOp");
        }
qidiso commented 6 years ago

do solve the bug?i meet this error too.pls tell me

lovehuanhuan commented 6 years ago

unaryop.h line 31 enum { Operation_ABS = 0, Operation_NEG = 1, Operation_FLOOR = 2, Operation_CEIL = 3, Operation_SQUARE= 4, Operation_SQRT = 5, Operation_RSQRT = 6, Operation_EXP = 7, Operation_LOG = 8, Operation_SIN = 9, Operation_COS = 10, Operation_TAN = 11, Operation_ASIN = 12, Operation_ACOS = 13, Operation_ATAN = 14, Operation_RECIPROCAL = 15, /zzp/ Operation_COPY = 16 };

unaryop.cpp line 188 /zzp/ if (op_type == Operation_COPY) return unary_op_inplace< unary_op_copy >(bottom_top_blob);

mxnet2ncnn.cpp line 748 else if (n.op == "_copy") { //fprintf(pp, "%-16s", "BinaryOp");

        fprintf(pp, "%-16s", "UnaryOp");

    }

that's it

bzzhc commented 6 years ago

copy 是一个什么操作呢,这个怎么定义 @lovehuanhuan

datafarmers commented 5 years ago

@lovehuanhuan unary_op_copy 这个操作你是怎么定义的?

loscheris commented 5 years ago

I tried @KangolHsu 's method, but it gives different prediction results for the same image each time. I also attempted @lovehuanhuan 's method, unfortunately it leads to compilation error, as unary_op_copy is not defined. I finally solved the problem by combining both ideas: which adds

else if (n.op == "_copy")
{
fprintf(pp, "%-16s", "UnaryOp");
}

to mxnet2ncnn.cpp line 912

AI-LLM2 commented 5 years ago

@loscheris 我按照你给出的方法,修改的mxnettoncnn的代码,还是会报错误,请问insightface怎么在ncnn中运行? Detection Time: 0.0985302s Detection Time: 0.182536s layer _copy not exists or registered network graph not ready find_blob_index_by_name data failed find_blob_index_by_name fc1 failed 段错误 (核心已转储)

cyrusbehr commented 5 years ago

@lovehuanhuan any updates? You didn't provide a definition for unary_op_copy in your fix

nihui commented 5 years ago

_copy conversion implemented in https://github.com/Tencent/ncnn/commit/d67d2531ae5c630757d0144359a31701af8de9f6