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.
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.
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.