| Python Howto Examples |
| ===================== |
| * [Configuring Net to get Multiple Ouputs](multiple_outputs.py) |
| * [Configuring Image Record Iterator](data_iter.py) |
| * Set break point in C++ code of the symbol using gdb under Linux: |
| |
| * Build mxnet with following values: |
| |
| ``` |
| DEBUG=1 |
| CUDA=0 #to make sure convolution-inl.h will be used |
| CUDNN=0 #to make sure convolution-inl.h will be used |
| ``` |
| |
| * run python under gdb: ```gdb --args python debug_conv.py``` |
| * in gdb set break point on particular line of the code and run execution: |
| |
| ``` |
| (gdb) break src/operator/convolution-inl.h:120 |
| (gdb) run |
| Breakpoint 1, mxnet::op::ConvolutionOp<mshadow::cpu, float>::Forward (this=0x12219d0, ctx=..., in_data=std::vector of length 3, capacity 4 = {...}, req=std::vector of length 1, capacity 1 = {...}, out_data=std::vector of length 1, capacity 1 = {...}, |
| aux_args=std::vector of length 0, capacity 0) at src/operator/./convolution-inl.h:121 |
| 121 data.shape_[1] / param_.num_group * param_.kernel[0] * param_.kernel[1]); |
| (gdb) list |
| 116 } |
| 117 Tensor<xpu, 4, DType> data = in_data[conv::kData].get<xpu, 4, DType>(s); |
| 118 Shape<3> wmat_shape = |
| 119 Shape3(param_.num_group, |
| 120 param_.num_filter / param_.num_group, |
| 121 data.shape_[1] / param_.num_group * param_.kernel[0] * param_.kernel[1]); |
| 122 Tensor<xpu, 3, DType> wmat = |
| 123 in_data[conv::kWeight].get_with_shape<xpu, 3, DType>(wmat_shape, s); |
| 124 Tensor<xpu, 4, DType> out = out_data[conv::kOut].get<xpu, 4, DType>(s); |
| 125 #if defined(__CUDACC__) |
| ``` |