Incubator-mxnet: Changes in C++ source code are not reflected in MXNet python run

Created on 9 Oct 2017  路  2Comments  路  Source: apache/incubator-mxnet

Operating System: Ubuntu 16.04

Package used (Python/R/Scala/Julia): Python

MXNet version: 0.11.0

Python version and distribution: 3.5.2

I built the mxnet package from source and I wanted to play with the C++ source code to see what happens. I inserted the following statement inside ./src/operator/cudnn_rnn-inl.h:

  virtual void Forward(const OpContext &ctx,
                       const std::vector<TBlob> &in_data,
                       const std::vector<OpReqType> &req,
                       const std::vector<TBlob> &out_data,
                       const std::vector<TBlob> &aux_args) {
        // Add a trace to the end of cuDNN RNN function call.
        std::cout << "cuDNN RNN forward function call starts here." << std::endl;
        ...

After rebuilding the Python package using the following commands:

make -j 2 USE_OPENCV=1 USE_BLAS=openblas USE_CUDA=1 USE_CUDA_PATH=/usr/local/cuda USE_CUDNN=1
cd python
pip --no-cache-dir install --upgrade --force-reinstall -e .

I run an RNN application that is using mxnet, yet noticed that the above trace is not printed. I also checked the mx.__file__ to make sure that it is indeed the correct source directory.

Could someone please tell me what steps I am missing here? Thank you.

Most helpful comment

cudnn-rnn-operator is not always used. Symbolic rnn operator might be used actually. Please refer to the documents and check your codes.

All 2 comments

cudnn-rnn-operator is not always used. Symbolic rnn operator might be used actually. Please refer to the documents and check your codes.

Hi @ZiyueHuang ,

Thank you for your reply. I think you are right, because I noticed in the python code that the LSTM is expanded into a series of fully_connected layer.

Was this page helpful?
0 / 5 - 0 ratings