Error while using "DetectNet" model with driveworks sdk v1.0

Hello All,
I have re-trained the "DetectNet model with my dataset using DIGITS.
However, when I try to use that model with the “object detection” sample provided with Driveworks, it is giving me an error:

<<
Setting up bbox/regressor
Top shape: 1 4 24 78 (7488)
Memory required for data: 636704640
Creating layer cluster
Unknown layer type: Python (known types: AbsVal, ArgMax, BNLL, BatchNorm, BatchReindex, Bias, Concat, Convolution, Crop, Deconvolution, Dropout, ELU, Eltwise, Embed, Exp, Filter, Flatten, Im2col, InnerProduct, Input, LRN, Log, MVN, PReLU, Pooling, Power, ReLU, Reduction, Reshape, SPP, Scale, Sigmoid, Silence, Slice, Softmax, Split, TanH, Threshold, Tile)
Segmentation fault (core dumped)

I had already compiled my caffe with the PYTHON_LAYER flag set to true before training detectnet.
I am still getting this error with driveworks sample.
Please suggest any workaround.

Thanks
Deepika

Hello adjyt,

Did you fine-tune or retrain the model without modifying DNN architecture?
Could you give me more detail information? Thanks.

Hi mania91,

Thanks for the response.
I have retrained the model using digits. While doing the training, I got the same error in DIGITS: “Unknown layer type: Python” . In order to resolve that, I rebuild the caffe code with PYTHON_LAYER flag set to true in Caffe’s Makefile.config. After that, the model gets trained successfully. I use that model as an input to the “objects detection” sample in driveworks 1.0. While running that sample, I get this error again:

<<
Unknown layer type: Python (known types: AbsVal, ArgMax, BNLL, BatchNorm, BatchReindex, Bias, Concat, Convolution, Crop, Deconvolution, Dropout, ELU, Eltwise, Embed, Exp, Filter, Flatten, Im2col, InnerProduct, Input, LRN, Log, MVN, PReLU, Pooling, Power, ReLU, Reduction, Reshape, SPP, Scale, Sigmoid, Silence, Slice, Softmax, Split, TanH, Threshold, Tile)
Segmentation fault (core dumped)

As far as the modifications in the model are concerned, I have only changed “crop_bboxes: = false” from “crop_bboxes:= true” in the “train_transform” layer of DetectNet model.

Thanks
Deepika

Hello adjyt,

Could you please help to check your symptom with below link material(Page 111 ~ )?
You can find how exactly DetectNet needs to be modified to run with DW.
http://developer.download.nvidia.com/driveworks/secure/training/Getting-started-with-NVIDIA-Drive-Platform-to-develop-Autonomous-Driving-application.pdf?autho=1490575564_7e14574d611fa80c1e01b9dd6d1d1697&file=Getting-started-with-NVIDIA-Drive-Platform-to-develop-Autonomous-Driving-application.pdf

DetectNet distributed with DIGITS includes custom Python layers:
https://raw.githubusercontent.com/NVIDIA/caffe/caffe-0.15/examples/kitti/detectnet_network.prototxt
Thanks.

Hello mania91,

I am getting the “Page Not Found” error while opening the below link:
http://developer.download.nvidia.com/driveworks/secure/training/Getting-started-with-NVIDIA-Drive-Platform-to-develop-Autonomous-Driving-application.pdf?autho=1490575564_7e14574d611fa80c1e01b9dd6d1d1697&file=Getting-started-with-NVIDIA-Drive-Platform-to-develop-Autonomous-Driving-application.pdf

Please correct if the link is no longer working.
Thanks
Deepika

Hello adjyt,

Please see below link. Thanks.
https://developer.nvidia.com/driveworks/getting-started-with-drivepx2
-> How to use DRIVE PX 2

Hi Deepika,

You can remove the last Python layer from DetectNet’s deploy.prototxt file. The layer is an implementation of bounding box clustering directly contained in the network topology. This layer is:

a) redundant since the object detection samples in DriveWorks already include this functionality within the pipeline and
b) currently not supported for optimization with TensorRT.

Hope it helps,
Oliver