From b58a63f06a5f3dd0b153bdfaa5046378eca95ccc Mon Sep 17 00:00:00 2001 From: nihuini Date: Wed, 1 Nov 2017 14:36:20 +0800 Subject: [PATCH] special case for SoftmaxOutput --- tools/mxnet/mxnet2ncnn.cpp | 42 ++++++++++++++++++++++++++++++++++++-- 1 file changed, 40 insertions(+), 2 deletions(-) diff --git a/tools/mxnet/mxnet2ncnn.cpp b/tools/mxnet/mxnet2ncnn.cpp index a5c822fbe..edb6e4848 100644 --- a/tools/mxnet/mxnet2ncnn.cpp +++ b/tools/mxnet/mxnet2ncnn.cpp @@ -478,7 +478,7 @@ static bool read_mxnet_param(const char* parampath, std::vector& par shape.resize(ndim); fread(&shape[0], 1, ndim * sizeof(int64_t), fp); } - else if (magic == 0xF993FAC9) + else if (magic == 0xF993FAC8) { fread(&ndim, 1, sizeof(uint32_t), fp); @@ -718,10 +718,18 @@ int main(int argc, char** argv) { fprintf(pp, "%-16s", "BatchNorm"); } + else if (n.op == "Concat") + { + fprintf(pp, "%-16s", "Concat"); + } else if (n.op == "Convolution") { fprintf(pp, "%-16s", "Convolution"); } + else if (n.op == "Dropout") + { + fprintf(pp, "%-16s", "Dropout"); + } else if (n.op == "elemwise_add") { fprintf(pp, "%-16s", "Eltwise"); @@ -754,6 +762,10 @@ int main(int argc, char** argv) { fprintf(pp, "%-16s", "Pooling"); } + else if (n.op == "SoftmaxOutput") + { + fprintf(pp, "%-16s", "Softmax"); + } else { fprintf(stderr, "%s not supported yet!\n", n.op.c_str()); @@ -770,6 +782,12 @@ int main(int argc, char** argv) } } + if (n.op == "SoftmaxOutput") + { + // drop label + input_size--; + } + fprintf(pp, " %-32s %d 1", n.name.c_str(), input_size); for (int j=0; j