Create Object Detection Model without DIGITS?

Can I create object detection model without using DIGITS?

In the following jetson-inference link:

I cannot find any instruction for creating object detection model (others as well) without DIGITS.

Should all TensorRT models for jetson-inference be created through DIGITS?

Unfortunately my laptop does not have GPU…

If im reading you question right then are you asking what tensorRT supports other than model created through digits?

If so check out this forum for support - currently I think im right in saying it supports most caffe models, and tensorflow model support is planned for v3.0.

https://devtalk.nvidia.com/default/topic/997770/tensor-rt-supports-caffe-model-layers-/

The jetson-inference includes ‘detectnet-camera’ and ‘detectnet-console.’

If I want them to detect something else, e.g., human hand, how should I do?

I may prepare some data and train a new detectNet model.

But I cannot find a solution to train the model without DIGITS…

Only DIGITS instructions here:
https://github.com/dusty-nv/jetson-inference#locating-object-coordinates-using-detectnet

In this link:
https://devtalk.nvidia.com/default/topic/966767/digits-4-on-jetson-tx1/,
NVIDIA says use DIGIT on AWS…

How can I get a custom detectNet for jetson-inference?

Hi,

  1. TensorRT import Caffe model directly. But only NvCaffe support DetectNet.

  2. DIGITs is just a user interface to control GPU resource easily. Backend framework is also NvCaffe.

In summary,
You can train DetectNet directly via NvCaffe, and inference the model with TensorRT on TX2.

./caffe train -solver solver.prototxt

Thanks for your reply.

I have one more question.

Which NvCaffe model should I use?

Cam you provide any instruction reference?

NvCaffe can train the same models that DIGITS can. Underneath the interactive UI, DIGITS uses NvCaffe for training.

See the NvCaffe examples and documentation for using it directly. The KITTI example is using DetectNet: https://github.com/NVIDIA/caffe/tree/caffe-0.15/examples/kitti

Note that if you attempt to run the training on the Jetson itself, this can take quite a long time. Hence it is recommended to run DIGITS/NvCaffe on a PC or AWS instance using discrete GPU card.

Also please note to use NvCaffe-0.15 branch to remain compatible with current version of TensorRT, otherwise you will have problem loading model with NvCaffe-0.16 branch or newer because of a change in BN serialization.

Thank you so much!

I will try to figure it out!

While I can compile caffe-0.16 branch of http://github.com/NVIDIA/caffe,

if I do

$ make -j4

to compile caffe-0.15 branch under almost the same instruction for caffe-0.16, it fails.

A part of error message is:

/tmp/ccYpdtCr.s: Assembler messages:
/tmp/ccYpdtCr.s:3157: Error: unknown mnemonic `pause' -- `pause'
/tmp/ccYpdtCr.s:3478: Error: unknown mnemonic `pause' -- `pause'
/tmp/ccYpdtCr.s:3822: Error: unknown mnemonic `pause' -- `pause'
/tmp/ccYpdtCr.s:4497: Error: unknown mnemonic `pause' -- `pause'
/tmp/ccYpdtCr.s:5352: Error: unknown mnemonic `pause' -- `pause'
/tmp/ccYpdtCr.s:5609: Error: unknown mnemonic `pause' -- `pause'
/tmp/ccYpdtCr.s:5723: Error: unknown mnemonic `pause' -- `pause'
/tmp/ccYpdtCr.s:6199: Error: unknown mnemonic `pause' -- `pause'
Makefile:583: recipe for target '.build_release/src/caffe/util/gpu_memory.o' failed
make: *** [.build_release/src/caffe/util/gpu_memory.o] Error 1
make: *** Waiting for unfinished jobs....

How can I compile caffe-0.15 branch?

Sorry, there was the solution already!

https://devtalk.nvidia.com/default/topic/976063/the-problem-with-the-assembly-of-caffe-0-15-on-jetsontx1/?offset=2

it throws the error:
[ 44%] Building CXX object src/caffe/CMakeFiles/caffe.dir/util/io.cpp.o
/tmp/ccmHiEpc.s: Assembler messages:
/tmp/ccmHiEpc.s:1533: Error: unknown mnemonic pause' -- pause’
/tmp/ccmHiEpc.s:1857: Error: unknown mnemonic pause' -- pause’
/tmp/ccmHiEpc.s:2204: Error: unknown mnemonic pause' -- pause’
/tmp/ccmHiEpc.s:2679: Error: unknown mnemonic pause' -- pause’
/tmp/ccmHiEpc.s:4226: Error: unknown mnemonic pause' -- pause’
/tmp/ccmHiEpc.s:5069: Error: unknown mnemonic pause' -- pause’
/tmp/ccmHiEpc.s:5320: Error: unknown mnemonic pause' -- pause’
/tmp/ccmHiEpc.s:5441: Error: unknown mnemonic pause' -- pause’
src/caffe/CMakeFiles/caffe.dir/build.make:986: recipe for target ‘src/caffe/CMakeFiles/caffe.dir/util/gpu_memory.cpp.o’ failed
make[2]: *** [src/caffe/CMakeFiles/caffe.dir/util/gpu_memory.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs…
CMakeFiles/Makefile2:272: recipe for target ‘src/caffe/CMakeFiles/caffe.dir/all’ failed
make[1]: *** [src/caffe/CMakeFiles/caffe.dir/all] Error 2
Makefile:127: recipe for target ‘all’ failed
make: *** [all] Error 2

did slip 65 instead of 64 in the mutex.cuh;
that was the reason, as it seems to me

still
/tmp/ccfvVQi8.s: Assembler messages:
/tmp/ccfvVQi8.s:1533: Error: unknown mnemonic pause' -- pause’
/tmp/ccfvVQi8.s:1857: Error: unknown mnemonic pause' -- pause’
/tmp/ccfvVQi8.s:2204: Error: unknown mnemonic pause' -- pause’
/tmp/ccfvVQi8.s:2679: Error: unknown mnemonic pause' -- pause’
/tmp/ccfvVQi8.s:4226: Error: unknown mnemonic pause' -- pause’
/tmp/ccfvVQi8.s:5069: Error: unknown mnemonic pause' -- pause’
/tmp/ccfvVQi8.s:5320: Error: unknown mnemonic pause' -- pause’
/tmp/ccfvVQi8.s:5441: Error: unknown mnemonic pause' -- pause’
src/caffe/CMakeFiles/caffe.dir/build.make:986: recipe for target ‘src/caffe/CMakeFiles/caffe.dir/util/gpu_memory.cpp.o’ failed
make[2]: *** [src/caffe/CMakeFiles/caffe.dir/util/gpu_memory.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs…
CMakeFiles/Makefile2:272: recipe for target ‘src/caffe/CMakeFiles/caffe.dir/all’ failed
make[1]: *** [src/caffe/CMakeFiles/caffe.dir/all] Error 2
Makefile:127: recipe for target ‘all’ failed

trying with make -j4

Are you building NVcaffe on the Jetson or the PC? Do either of these links work for you?

http://www.jetsonhacks.com/2017/03/24/caffe-deep-learning-framework-nvidia-jetson-tx2/
https://github.com/dusty-nv/jetson-inference/blob/master/docs/building-nvcaffe.md

seems I have found the cause; I have omitted a in arch64 spelling, as it seems to me.

dusty,
how shall I act to label images in live video on specific categories classification?

  1. install nvCaffe
  2. train data set with it

could you provide with details on the process?

Labelling images is normally an offline process - dump the video frames to images, then in the case of DIGITS, you classify the image by putting it under the associated folder (i.e see folder format or this step).

Seems the same as with tensorflow:https://devtalk.nvidia.com/default/topic/1022798/jetson-tx2/jetson-interface-retrain/post/5204401/#5204401
is it?
But the jetson-interface seems to label images with GoogleNet/ AlexNet directly on the moment of video capture. I thought it is possible to train it on peculiar classes/objects.
Of course first a model is trained for that on classified folders.

do you mean - the process is rather offline because of low computational power of Jetsons ?