image classification

Hello!

I am trying to create a image classification data set following this tutorial GitHub - dusty-nv/jetson-inference: Hello AI World guide to deploying deep-learning inference networks and deep vision primitives with TensorRT and NVIDIA Jetson.

I am stuck at the image classification dataset part of this tutorial. Could anyone help if the dataset creation is to be done at the host pc or at the jetson??

I am getting the following error while trying to do it from the workstation:

I am getting this error:

    Training image folder:
       folder does not exist

I am using digits on docker. So I copied my dataset to /opt/mnist folder as specified here :https://github.com/NVIDIA/nvidia-docker/wiki/DIGITS

Thanks in advance.

Hi spandybull, the training dataset should be on the host.

Are you using MNIST dataset? What does the folder structure look like under /opt/mnist? You may need to point DIGITS to the training folder with the images.

Hello Dusty_nv,

Thank you for your reply.

Works fine now after establishing connection between groups like baseball → /opt/datasets/imagenet/ilsvrc12/n02799071

However ended up with a different error while creating image segmentation model

ERROR: Check failed: status == CUDNN_STATUS_SUCCESS (8 vs. 0) CUDNN_STATUS_EXECUTION_FAILED, device 0

caffe log:

0222 15:38:28.999123   240 cudnn_dropout_layer.cpp:26] Check failed: status == CUDNN_STATUS_SUCCESS (8 vs. 0)  CUDNN_STATUS_EXECUTION_FAILED, device 0
*** Check failure stack trace: ***
@     0x7fcf4509c5cd  google::LogMessage::Fail()
@     0x7fcf4509e433  google::LogMessage::SendToLog()
@     0x7fcf4509c15b  google::LogMessage::Flush()
@     0x7fcf4509ee1e  google::LogMessageFatal::~LogMessageFatal()
@     0x7fcf45d22ccd  caffe::CuDNNDropoutLayer<>::LayerSetUp()
@     0x7fcf45f20302  caffe::Net::Init()
@     0x7fcf45f21d5e  caffe::Net::Net()
@     0x7fcf45ee6caf  caffe::Solver::InitTrainNet()
@     0x7fcf45ee7234  caffe::Solver::Init()
@     0x7fcf45ee76ca  caffe::Solver::Solver()
@     0x7fcf45e377b6  caffe::Creator_SGDSolver()
@           0x4194d6  caffe::SolverRegistry::CreateSolver()
@           0x4120c5  train()
@           0x40c9e0  main
@     0x7fcf4365f830  __libc_start_main
@           0x40d509  _start
@              (nil)  (unknown)

Please provide your suggestion.

Thank you in advance.

I’m not familiar with that error - what network and dataset are you using for image segmentation? Are you able to train other network models with the setup?

I am beginner using googlenet and ImageNet-ILSVRC12-subset dataset created following the documentation at GitHub - dusty-nv/jetson-inference: Hello AI World guide to deploying deep-learning inference networks and deep vision primitives with TensorRT and NVIDIA Jetson.

I tried with other models and getting the same error.

OK, that network and dataset are for image recognition - not segmentation. Is that the type of dataset and model you created in DIGITS?

If you are unable to train with any model, there must be a configuration error somewhere. Do you have a GPU in your training PC?

Yeah! I am sorry. Its image recognition. Yes. Name of the dataset- ImageNet-ILSVRC12-subset. The issue is while creating a model using standard googlenet network.

I am training on my PC with GeForce RTX 2080 Ti/PCIe/SSE2.

Hi spandybull,
Are you running DIGITS from within ngc container or using system wide install of DIGITS?
It seems that you are approaching image classification with standard googlenet network. Are you using the default dataset or trying to train the model on a custom dataset?

Hello Andrey,

I am running digits with ngc container.

I am using default dataset provided in this article: GitHub - dusty-nv/jetson-inference: Hello AI World guide to deploying deep-learning inference networks and deep vision primitives with TensorRT and NVIDIA Jetson.

you should be using the below sequence to procure the dataset, as it seems to me and then map docker folder with -v parameter.
Did you try purging the gpu driver and reinstalling it again with corresponding packages including cudnn?

wget --no-check-certificate https://nvidia.box.com/shared/static/gzr5iewf5aouhc5exhp3higw6lzhcysj.gz -O ilsvrc12_urls.tar.gz
$ tar -xzvf ilsvrc12_urls.tar.gz
$ wget https://rawgit.com/dusty-nv/jetson-inference/master/tools/imagenet-download.py
$ python imagenet-download.py ilsvrc12_urls.txt . --jobs 100 --retry 3 --sleep 0

Yes. I tried it in the same sequence.

I reinstalled the Cudnn package but still having issues.

Are you able to run cuDNN samples? Likewise, can you try running any caffe test?

Im using NVIDIA 1080 GTX GPU, CUDA 10.0, Tensorflow-GPU=1.14.0, CUDAnn 7.4.2, TensorRT 5.1.5.0.
Im getting an Error using nvidia image classification dataset: https://github.com/tensorflow/tensorrt/blob/master/tftrt/examples/image-classification/image_classification.py#L203

File “image_classification.py”, line 760, in
target_duration=args.target_duration)

File “image_classification.py”, line 203, in run
results[‘99th_percentile’] = np.percentile(iter_times, q=99, interpolation=‘lower’) * 1000

IndexError: cannot do a non-empty take from an empty axes.

A video walkthrough of natively installing NVIDIA DIGITS on Ubuntu 18.04 LTS is available here:

It includes installing NVCaffe, cuDNN etc. Once I got NVIDIA DIGITS installed properly on my system, I was able to follow the tutorial for image classification here: GitHub - dusty-nv/jetson-inference: Hello AI World guide to deploying deep-learning inference networks and deep vision primitives with TensorRT and NVIDIA Jetson.

Hope this helps!

-Cuda Education