kingardor / Hermes-Deepstream

Hermes is a Wildfire detection system that utilizes Computer Vision and is accelerated using NVIDIA Deepstream

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Issue on Jetson Nano

collabnix opened this issue · comments

I followed the below steps on Jetson Nano but no luck

1 . Clone the repository

This is a straightforward step, however, if you are new to git or git-lfs, I recommend glancing threw the steps.

First, install git and git-lfs

sudo apt install git git-lfs

Next, clone the repository

# Using HTTPS
git clone https://github.com/aj-ames/Hermes-Deepstream.git
# Using SSH
git clone git@github.com:aj-ames/Hermes-Deepstream.git

Finally, enable lfs and pull the yolo weights

git lfs install
git lfs pull
make clean && make -j$(nproc)
rm -rf ds_src/deepstream_hermes_app.o hermes-app
cd custom_parsers/nvds_customparser_yolov3 && make clean
make[1]: Entering directory '/home/pico/tello/Hermes-Deepstream/custom_parsers/nvds_customparser_yolov3'
rm -rf nvdsinfer_yolo_engine.o nvdsparsebbox_Yolo.o yoloPlugins.o trt_utils.o yolo.o kernels.o libnvds_infercustomparser_yolov3.so
make[1]: Leaving directory '/home/pico/tello/Hermes-Deepstream/custom_parsers/nvds_customparser_yolov3'
g++ -std=c++17 -c -o ds_src/deepstream_hermes_app.o -DPLATFORM_TEGRA -I/opt/nvidia/deepstream/deepstream-5.1/sources/includes -DDS_VERSION_MINOR=0 -DDS_VERSION_MAJOR=5 `pkg-config --cflags gstreamer-1.0 opencv4` ds_src/deepstream_hermes_app.cpp
cd custom_parsers/nvds_customparser_yolov3 && make
make[1]: Entering directory '/home/pico/tello/Hermes-Deepstream/custom_parsers/nvds_customparser_yolov3'
g++ -c -o nvdsinfer_yolo_engine.o -Wall -std=c++17 -shared -fPIC -Wno-error=deprecated-declarations -I/opt/nvidia/deepstream/deepstream-5.1/sources/includes -I/usr/local/cuda/include nvdsinfer_yolo_engine.cpp
g++ -c -o nvdsparsebbox_Yolo.o -Wall -std=c++17 -shared -fPIC -Wno-error=deprecated-declarations -I/opt/nvidia/deepstream/deepstream-5.1/sources/includes -I/usr/local/cuda/include nvdsparsebbox_Yolo.cpp
g++ -c -o yoloPlugins.o -Wall -std=c++17 -shared -fPIC -Wno-error=deprecated-declarations -I/opt/nvidia/deepstream/deepstream-5.1/sources/includes -I/usr/local/cuda/include yoloPlugins.cpp
In file included from ds_src/deepstream_hermes_app.cpp:1:0:
ds_src/wildfiredetection.h:12:10: fatal error: cuda_runtime_api.h: No such file or directory
 #include <cuda_runtime_api.h>
          ^~~~~~~~~~~~~~~~~~~~
compilation terminated.
Makefile:49: recipe for target 'ds_src/deepstream_hermes_app.o' failed
make: *** [ds_src/deepstream_hermes_app.o] Error 1
make: *** Waiting for unfinished jobs....
g++ -c -o trt_utils.o -Wall -std=c++17 -shared -fPIC -Wno-error=deprecated-declarations -I/opt/nvidia/deepstream/deepstream-5.1/sources/includes -I/usr/local/cuda/include trt_utils.cpp
yoloPlugins.cpp: In member function ‘virtual bool YoloLayerV3::supportsFormat(nvinfer1::DataType, nvinfer1::PluginFormat) const’:
yoloPlugins.cpp:84:47: warning: ‘kNCHW’ is deprecated [-Wdeprecated-declarations]
             format == nvinfer1::PluginFormat::kNCHW);
                                               ^~~~~
In file included from /usr/include/aarch64-linux-gnu/NvInferRuntime.h:59:0,
                 from /usr/include/aarch64-linux-gnu/NvInfer.h:53,
                 from /usr/include/aarch64-linux-gnu/NvInferPlugin.h:53,
                 from yoloPlugins.h:32,
                 from yoloPlugins.cpp:23:
/usr/include/aarch64-linux-gnu/NvInferRuntimeCommon.h:259:5: note: declared here
     kNCHW TRT_DEPRECATED_ENUM = kLINEAR, //!< Deprecated name of kLINEAR, provided for backwards compatibility
     ^~~~~
yoloPlugins.cpp:84:47: warning: ‘kNCHW’ is deprecated [-Wdeprecated-declarations]
             format == nvinfer1::PluginFormat::kNCHW);
                                               ^~~~~
In file included from /usr/include/aarch64-linux-gnu/NvInferRuntime.h:59:0,
                 from /usr/include/aarch64-linux-gnu/NvInfer.h:53,
                 from /usr/include/aarch64-linux-gnu/NvInferPlugin.h:53,
                 from yoloPlugins.h:32,
                 from yoloPlugins.cpp:23:
/usr/include/aarch64-linux-gnu/NvInferRuntimeCommon.h:259:5: note: declared here
     kNCHW TRT_DEPRECATED_ENUM = kLINEAR, //!< Deprecated name of kLINEAR, provided for backwards compatibility
     ^~~~~
In file included from /usr/include/c++/7/cassert:44:0,
                 from yoloPlugins.cpp:25:
yoloPlugins.cpp: In member function ‘virtual void YoloLayerV3::configureWithFormat(const nvinfer1::Dims*, int, const nvinfer1::Dims*, int, nvinfer1::DataType, nvinfer1::PluginFormat, int)’:
yoloPlugins.cpp:94:47: warning: ‘kNCHW’ is deprecated [-Wdeprecated-declarations]
     assert (format == nvinfer1::PluginFormat::kNCHW);
                                               ^
In file included from /usr/include/aarch64-linux-gnu/NvInferRuntime.h:59:0,
                 from /usr/include/aarch64-linux-gnu/NvInfer.h:53,
                 from /usr/include/aarch64-linux-gnu/NvInferPlugin.h:53,
                 from yoloPlugins.h:32,
                 from yoloPlugins.cpp:23:
/usr/include/aarch64-linux-gnu/NvInferRuntimeCommon.h:259:5: note: declared here
     kNCHW TRT_DEPRECATED_ENUM = kLINEAR, //!< Deprecated name of kLINEAR, provided for backwards compatibility
     ^~~~~
In file included from /usr/include/c++/7/cassert:44:0,
                 from yoloPlugins.cpp:25:
yoloPlugins.cpp:94:47: warning: ‘kNCHW’ is deprecated [-Wdeprecated-declarations]
     assert (format == nvinfer1::PluginFormat::kNCHW);
                                               ^
In file included from /usr/include/aarch64-linux-gnu/NvInferRuntime.h:59:0,
                 from /usr/include/aarch64-linux-gnu/NvInfer.h:53,
                 from /usr/include/aarch64-linux-gnu/NvInferPlugin.h:53,
                 from yoloPlugins.h:32,
                 from yoloPlugins.cpp:23:
/usr/include/aarch64-linux-gnu/NvInferRuntimeCommon.h:259:5: note: declared here
     kNCHW TRT_DEPRECATED_ENUM = kLINEAR, //!< Deprecated name of kLINEAR, provided for backwards compatibility
     ^~~~~
g++ -c -o yolo.o -Wall -std=c++17 -shared -fPIC -Wno-error=deprecated-declarations -I/opt/nvidia/deepstream/deepstream-5.1/sources/includes -I/usr/local/cuda/include yolo.cpp
/usr/local/cuda/bin/nvcc -c -o kernels.o --compiler-options '-O3 -fPIC' kernels.cu
trt_utils.cpp: In function ‘void displayDimType(nvinfer1::Dims)’:
trt_utils.cpp:125:19: warning: ‘nvinfer1::Dims::type’ is deprecated [-Wdeprecated-declarations]
         switch (d.type[i])
                   ^~~~
In file included from /usr/include/aarch64-linux-gnu/NvInferRuntime.h:59:0,
                 from /usr/include/aarch64-linux-gnu/NvInfer.h:53,
                 from trt_utils.h:35,
                 from trt_utils.cpp:23:
/usr/include/aarch64-linux-gnu/NvInferRuntimeCommon.h:225:47: note: declared here
     TRT_DEPRECATED DimensionType type[MAX_DIMS];  //!< The type of each dimension.
                                               ^
trt_utils.cpp:125:19: warning: ‘nvinfer1::Dims::type’ is deprecated [-Wdeprecated-declarations]
         switch (d.type[i])
                   ^~~~
In file included from /usr/include/aarch64-linux-gnu/NvInferRuntime.h:59:0,
                 from /usr/include/aarch64-linux-gnu/NvInfer.h:53,
                 from trt_utils.h:35,
                 from trt_utils.cpp:23:
/usr/include/aarch64-linux-gnu/NvInferRuntimeCommon.h:225:47: note: declared here
     TRT_DEPRECATED DimensionType type[MAX_DIMS];  //!< The type of each dimension.
                                               ^
trt_utils.cpp:125:19: warning: ‘nvinfer1::Dims::type’ is deprecated [-Wdeprecated-declarations]
         switch (d.type[i])
                   ^~~~
In file included from /usr/include/aarch64-linux-gnu/NvInferRuntime.h:59:0,
                 from /usr/include/aarch64-linux-gnu/NvInfer.h:53,
                 from trt_utils.h:35,
                 from trt_utils.cpp:23:
/usr/include/aarch64-linux-gnu/NvInferRuntimeCommon.h:225:47: note: declared here
     TRT_DEPRECATED DimensionType type[MAX_DIMS];  //!< The type of each dimension.
                                               ^
trt_utils.cpp: In function ‘nvinfer1::ILayer* netAddMaxpool(int, std::map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >&, nvinfer1::ITensor*, nvinfer1::INetworkDefinition*)’:
trt_utils.cpp:161:96: warning: ‘virtual nvinfer1::IPoolingLayer* nvinfer1::INetworkDefinition::addPooling(nvinfer1::ITensor&, nvinfer1::PoolingType, nvinfer1::DimsHW)’ is deprecated [-Wdeprecated-declarations]
         = network->addPooling(*input, nvinfer1::PoolingType::kMAX, nvinfer1::DimsHW{size, size});
                                                                                                ^
In file included from trt_utils.h:35:0,
                 from trt_utils.cpp:23:
/usr/include/aarch64-linux-gnu/NvInfer.h:4956:43: note: declared here
     TRT_DEPRECATED virtual IPoolingLayer* addPooling(
                                           ^~~~~~~~~~
trt_utils.cpp:164:53: warning: ‘virtual void nvinfer1::IPoolingLayer::setStride(nvinfer1::DimsHW)’ is deprecated [-Wdeprecated-declarations]
     pool->setStride(nvinfer1::DimsHW{stride, stride});
                                                     ^
In file included from trt_utils.h:35:0,
                 from trt_utils.cpp:23:
/usr/include/aarch64-linux-gnu/NvInfer.h:1736:33: note: declared here
     TRT_DEPRECATED virtual void setStride(DimsHW stride) TRTNOEXCEPT = 0;
                                 ^~~~~~~~~
trt_utils.cpp: In function ‘nvinfer1::ILayer* netAddConvLinear(int, std::map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >&, std::vector<float>&, std::vector<nvinfer1::Weights>&, int&, int&, nvinfer1::ITensor*, nvinfer1::INetworkDefinition*)’:
trt_utils.cpp:216:84: warning: ‘virtual nvinfer1::IConvolutionLayer* nvinfer1::INetworkDefinition::addConvolution(nvinfer1::ITensor&, int, nvinfer1::DimsHW, nvinfer1::Weights, nvinfer1::Weights)’ is deprecated [-Wdeprecated-declarations]
         *input, filters, nvinfer1::DimsHW{kernelSize, kernelSize}, convWt, convBias);
                                                                                    ^
In file included from trt_utils.h:35:0,
                 from trt_utils.cpp:23:
/usr/include/aarch64-linux-gnu/NvInfer.h:4905:47: note: declared here
     TRT_DEPRECATED virtual IConvolutionLayer* addConvolution(ITensor& input, int nbOutputMaps, DimsHW kernelSize,
                                               ^~~~~~~~~~~~~~
trt_utils.cpp:220:53: warning: ‘virtual void nvinfer1::IConvolutionLayer::setStride(nvinfer1::DimsHW)’ is deprecated [-Wdeprecated-declarations]
     conv->setStride(nvinfer1::DimsHW{stride, stride});
                                                     ^
In file included from trt_utils.h:35:0,
                 from trt_utils.cpp:23:
/usr/include/aarch64-linux-gnu/NvInfer.h:1205:33: note: declared here
     TRT_DEPRECATED virtual void setStride(DimsHW stride) TRTNOEXCEPT = 0;
                                 ^~~~~~~~~
trt_utils.cpp:221:48: warning: ‘virtual void nvinfer1::IConvolutionLayer::setPadding(nvinfer1::DimsHW)’ is deprecated [-Wdeprecated-declarations]
     conv->setPadding(nvinfer1::DimsHW{pad, pad});
                                                ^
In file included from trt_utils.h:35:0,
                 from trt_utils.cpp:23:
/usr/include/aarch64-linux-gnu/NvInfer.h:1229:33: note: declared here
     TRT_DEPRECATED virtual void setPadding(DimsHW padding) TRTNOEXCEPT = 0;
                                 ^~~~~~~~~~
trt_utils.cpp: In function ‘nvinfer1::ILayer* netAddConvBNLeaky(int, std::map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >&, std::vector<float>&, std::vector<nvinfer1::Weights>&, int&, int&, nvinfer1::ITensor*, nvinfer1::INetworkDefinition*)’:
trt_utils.cpp:313:84: warning: ‘virtual nvinfer1::IConvolutionLayer* nvinfer1::INetworkDefinition::addConvolution(nvinfer1::ITensor&, int, nvinfer1::DimsHW, nvinfer1::Weights, nvinfer1::Weights)’ is deprecated [-Wdeprecated-declarations]
         *input, filters, nvinfer1::DimsHW{kernelSize, kernelSize}, convWt, convBias);
                                                                                    ^
In file included from trt_utils.h:35:0,
                 from trt_utils.cpp:23:
/usr/include/aarch64-linux-gnu/NvInfer.h:4905:47: note: declared here
     TRT_DEPRECATED virtual IConvolutionLayer* addConvolution(ITensor& input, int nbOutputMaps, DimsHW kernelSize,
                                               ^~~~~~~~~~~~~~
trt_utils.cpp:317:53: warning: ‘virtual void nvinfer1::IConvolutionLayer::setStride(nvinfer1::DimsHW)’ is deprecated [-Wdeprecated-declarations]
     conv->setStride(nvinfer1::DimsHW{stride, stride});
                                                     ^
In file included from trt_utils.h:35:0,
                 from trt_utils.cpp:23:
/usr/include/aarch64-linux-gnu/NvInfer.h:1205:33: note: declared here
     TRT_DEPRECATED virtual void setStride(DimsHW stride) TRTNOEXCEPT = 0;
                                 ^~~~~~~~~
trt_utils.cpp:318:48: warning: ‘virtual void nvinfer1::IConvolutionLayer::setPadding(nvinfer1::DimsHW)’ is deprecated [-Wdeprecated-declarations]
     conv->setPadding(nvinfer1::DimsHW{pad, pad});
                                                ^
In file included from trt_utils.h:35:0,
                 from trt_utils.cpp:23:
/usr/include/aarch64-linux-gnu/NvInfer.h:1229:33: note: declared here
     TRT_DEPRECATED virtual void setPadding(DimsHW padding) TRTNOEXCEPT = 0;
                                 ^~~~~~~~~~
trt_utils.cpp: In function ‘nvinfer1::ILayer* netAddUpsample(int, std::map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >&, std::vector<float>&, std::vector<nvinfer1::Weights>&, int&, nvinfer1::ITensor*, nvinfer1::INetworkDefinition*)’:
trt_utils.cpp:384:63: warning: ‘nvinfer1::Dims::type’ is deprecated [-Wdeprecated-declarations]
                             nvinfer1::DimensionType::kSPATIAL}};
                                                               ^
In file included from /usr/include/aarch64-linux-gnu/NvInferRuntime.h:59:0,
                 from /usr/include/aarch64-linux-gnu/NvInfer.h:53,
                 from trt_utils.h:35,
                 from trt_utils.cpp:23:
/usr/include/aarch64-linux-gnu/NvInferRuntimeCommon.h:225:47: note: declared here
     TRT_DEPRECATED DimensionType type[MAX_DIMS];  //!< The type of each dimension.
                                               ^
trt_utils.cpp:418:64: warning: ‘nvinfer1::Dims::type’ is deprecated [-Wdeprecated-declarations]
                              nvinfer1::DimensionType::kSPATIAL}};
                                                                ^
In file included from /usr/include/aarch64-linux-gnu/NvInferRuntime.h:59:0,
                 from /usr/include/aarch64-linux-gnu/NvInfer.h:53,
                 from trt_utils.h:35,
                 from trt_utils.cpp:23:
/usr/include/aarch64-linux-gnu/NvInferRuntimeCommon.h:225:47: note: declared here
     TRT_DEPRECATED DimensionType type[MAX_DIMS];  //!< The type of each dimension.
                                               ^
yolo.cpp: In member function ‘nvinfer1::ICudaEngine* Yolo::createEngine(nvinfer1::IBuilder*)’:
yolo.cpp:54:68: warning: ‘virtual nvinfer1::INetworkDefinition* nvinfer1::IBuilder::createNetwork()’ is deprecated [-Wdeprecated-declarations]
     nvinfer1::INetworkDefinition *network = builder->createNetwork();
                                                                    ^
In file included from yolo.h:31:0,
                 from yolo.cpp:23:
/usr/include/aarch64-linux-gnu/NvInfer.h:6799:58: note: declared here
     TRT_DEPRECATED virtual nvinfer1::INetworkDefinition* createNetwork() TRTNOEXCEPT = 0;
                                                          ^~~~~~~~~~~~~
yolo.cpp:62:71: warning: ‘virtual nvinfer1::ICudaEngine* nvinfer1::IBuilder::buildCudaEngine(nvinfer1::INetworkDefinition&)’ is deprecated [-Wdeprecated-declarations]
     nvinfer1::ICudaEngine * engine = builder->buildCudaEngine(*network);
                                                                       ^
In file included from yolo.h:31:0,
                 from yolo.cpp:23:
/usr/include/aarch64-linux-gnu/NvInfer.h:6934:51: note: declared here
     TRT_DEPRECATED virtual nvinfer1::ICudaEngine* buildCudaEngine(
                                                   ^~~~~~~~~~~~~~~
yolo.cpp: In member function ‘NvDsInferStatus Yolo::buildYoloNetwork(std::vector<float>&, nvinfer1::INetworkDefinition&)’:
yolo.cpp:203:48: warning: ‘RegionParameters’ is deprecated [-Wdeprecated-declarations]
             nvinfer1::plugin::RegionParameters RegionParameters{
                                                ^~~~~~~~~~~~~~~~
In file included from /usr/include/aarch64-linux-gnu/NvInferPlugin.h:54:0,
                 from yoloPlugins.h:32,
                 from yolo.cpp:24:
/usr/include/aarch64-linux-gnu/NvInferPluginUtils.h:251:23: note: declared here
 struct TRT_DEPRECATED RegionParameters
                       ^~~~~~~~~~~~~~~~
g++ -o libnvds_infercustomparser_yolov3.so  nvdsinfer_yolo_engine.o nvdsparsebbox_Yolo.o yoloPlugins.o trt_utils.o yolo.o kernels.o -shared -Wl,--start-group -lnvinfer_plugin -lnvinfer -lnvparsers -L/usr/local/cuda/lib64 -lcudart -lcublas -lstdc++fs -Wl,--end-group
make[1]: Leaving directory '/home/pico/tello/Hermes-Deepstream/custom_parsers/nvds_customparser_yolov3'
ls
Makefile  README.md  custom_parsers  ds_src  models  requirements.txt  resources  tello-control.py

It didn't create hermes.app.