Skip to content
This repository was archived by the owner on Nov 17, 2023. It is now read-only.
This repository was archived by the owner on Nov 17, 2023. It is now read-only.

Building MxNet with CPP_PACKAGE on Windows10 (2019-07-23) #15632

@visionNoob

Description

@visionNoob

This document gives a information about Building MxNet with CPP_PACKAGE on Windows10.
If you think it is inappropriate, please close the issue.

Hello. I'm visionNoob.
I think many people are struggling with building MxNet on win10, including me.
Finally, I (partially) succeed in building MxNet on win10.

Environment

Windows 10 Education
Visual Studio 2015
python 3.6(7.5.0)
Nvidia CUDA 9.0(V9.0.176)
Intel® MKL 2019(V2019.4.245)
OpenCV 4.1.0(released in 2019-04-08)

contents

1. MxNet : https://github.com/Vigilans/incubator-mxnet/tree/patch-1 (not merged yet)

I cloned MxNet source from https://github.com/Vigilans/incubator-mxnet/tree/patch-1
see PR #15144
this branch handle several issues( #14116#15143 that make failure in generated op.h.)

2. Visual Studio 2015(vc14)

I think CUDA Visual Studio Integration is also needed for stable building for cuda.
And update 3 also needed.

3. OpenCV

I use "OpenCV 4.1.0 official release version" not build from source. I tried to use OpenCV that builds myself with extra-modules but with this, fail to build mxnet. I don't know why.

4. Cmake version

I use latest version of Cmake, 3.15.0. it's fine.

5. Environment Variables

and my env variables is below

image

6. Cmake configuration

my configuation is below

you have to set some paths and disable/enable some options.
please refer from the screen shots below.
1
2
3
4
5
6

7. In my case, I generated "op.h" manually .

it's very simple
OpWrapperGenerator.py generate "op.h" in "...\incubator-mxnet\cpp-package\include\mxnet-cpp\op.h"
The location of OpWrapperGenerator.py is
...\incubator-mxnet\cpp-package\scripts\OpWrapperGenerator.py

go to the directory and

python OpWrapperGenerator.py "\your\build\Release\libmxnet.dll"

then "op.h" is generated in "...\incubator-mxnet\cpp-package\include\mxnet-cpp\op.h"

If you see this sentences(below) during generation, You fail to generate "op.h".
I say it again. I downloaded mxnet source from here(https://github.com/Vigilans/incubator-mxnet/tree/patch-1). and it maybe solve your problems.

1>argument "lrs" of operator "multi_sgd_update" has unknown type ", required"
1>argument "wds" of operator "multi_sgd_update" has unknown type ", required"
1>argument "lrs" of operator "multi_sgd_mom_update" has unknown type ", required"
1>argument "wds" of operator "multi_sgd_mom_update" has unknown type ", required"
1>argument "lrs" of operator "multi_mp_sgd_update" has unknown type ", required"
1>argument "wds" of operator "multi_mp_sgd_update" has unknown type ", required"
1>argument "lrs" of operator "multi_mp_sgd_mom_update" has unknown type ", required"
1>argument "wds" of operator "multi_mp_sgd_mom_update" has unknown type ", required"

8. Test your build!

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions