Caffe for Jetson tx2 with Jetpack 4.2

Hello Dear community

I’ve installed the latest jetpack to my Jetson Tx2 (4.2).
When I was installing Caffe from JetHacks https://github.com/jetsonhacks/installCaffeJTX2
But I have errors like this:

compilation terminated.
Makefile:591: recipe for target '.build_release/src/caffe/test/test_batch_norm_layer.o' failed
make: *** [.build_release/src/caffe/test/test_batch_norm_layer.o] Error 1
make: *** Waiting for unfinished jobs....
In file included from ./include/caffe/blob.hpp:8:0,
                 from src/caffe/test/test_power_layer.cpp:6:
./include/caffe/common.hpp:4:10: fatal error: boost/shared_ptr.hpp: No such file or directory
 #include <boost/shared_ptr.hpp>
          ^~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
Makefile:591: recipe for target '.build_release/src/caffe/test/test_power_layer.o' failed
make: *** [.build_release/src/caffe/test/test_power_layer.o] Error 1
In file included from ./include/caffe/blob.hpp:8:0,
                 from src/caffe/test/test_tile_layer.cpp:5:
./include/caffe/common.hpp:4:10: fatal error: boost/shared_ptr.hpp: No such file or directory
 #include <boost/shared_ptr.hpp>
          ^~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
Makefile:591: recipe for target '.build_release/src/caffe/test/test_tile_layer.o' failed
make: *** [.build_release/src/caffe/test/test_tile_layer.o] Error 1
In file included from ./include/caffe/blob.hpp:8:0,
                 from src/caffe/test/test_data_transformer.cpp:7:
./include/caffe/common.hpp:4:10: fatal error: boost/shared_ptr.hpp: No such file or directory
 #include <boost/shared_ptr.hpp>
          ^~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
Makefile:591: recipe for target '.build_release/src/caffe/test/test_data_transformer.o' failed
make: *** [.build_release/src/caffe/test/test_data_transformer.o] Error 1
In file included from ./include/caffe/blob.hpp:8:0,
                 from src/caffe/test/test_filter_layer.cpp:5:
./include/caffe/common.hpp:4:10: fatal error: boost/shared_ptr.hpp: No such file or directory
 #include <boost/shared_ptr.hpp>
          ^~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
Makefile:591: recipe for target '.build_release/src/caffe/test/test_filter_layer.o' failed
make: *** [.build_release/src/caffe/test/test_filter_layer.o] Error 1
In file included from ./include/caffe/blob.hpp:8:0,
                 from src/caffe/test/test_concat_layer.cpp:5:
./include/caffe/common.hpp:4:10: fatal error: boost/shared_ptr.hpp: No such file or directory
 #include <boost/shared_ptr.hpp>
          ^~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
Makefile:591: recipe for target '.build_release/src/caffe/test/test_concat_layer.o' failed
make: *** [.build_release/src/caffe/test/test_concat_layer.o] Error 1

Is there another way to install caffe in Jetson TX2 with jetpack 4.2??

Hi,

The error is caused by missing boost library.
Please install it before compiling the Caffe library:

sudo apt-get install libboost-dev libboost-all-dev

Thanks.

Hi AastaLLL thank you for your reply.
I’ve installed that you mentioned before but still have problems,
I have the Jetpack 4.2 installed.

CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
CUDA_cublas_device_LIBRARY (ADVANCED)
    linked by target "caffe" in directory /home/diego/caffe/src/caffe

-- Configuring incomplete, errors occurred!
See also "/home/diego/caffe/CMakeFiles/CMakeOutput.log".
See also "/home/diego/caffe/CMakeFiles/CMakeError.log".
Compiling Caffe
PROTOC src/caffe/proto/caffe.proto
NVCC src/caffe/layers/softmax_loss_layer.cu
NVCC src/caffe/layers/hdf5_data_layer.cu
NVCC src/caffe/layers/concat_layer.cu
nvcc fatal   : Unsupported gpu architecture 'compute_20'
Makefile:604: recipe for target '.build_release/cuda/src/caffe/layers/softmax_loss_layer.o' failed
make: *** [.build_release/cuda/src/caffe/layers/softmax_loss_layer.o] Error 1
NVCC src/caffe/layers/cudnn_lcn_layer.cu
make: *** Waiting for unfinished jobs....
NVCC src/caffe/layers/batch_norm_layer.cu
nvcc fatal   : Unsupported gpu architecture 'compute_20'
nvcc fatal   : Unsupported gpu architecture 'compute_20'
Makefile:604: recipe for target '.build_release/cuda/src/caffe/layers/cudnn_lcn_layer.o' failed
make: *** [.build_release/cuda/src/caffe/layers/cudnn_lcn_layer.o] Error 1
nvcc fatal   : Unsupported gpu architecture 'compute_20'
Makefile:604: recipe for target '.build_release/cuda/src/caffe/layers/concat_layer.o' failed
make: *** [.build_release/cuda/src/caffe/layers/concat_layer.o] Error 1
Makefile:604: recipe for target '.build_release/cuda/src/caffe/layers/hdf5_data_layer.o' failed
make: *** [.build_release/cuda/src/caffe/layers/hdf5_data_layer.o] Error 1
nvcc fatal   : Unsupported gpu architecture 'compute_20'
Makefile:604: recipe for target '.build_release/cuda/src/caffe/layers/batch_norm_layer.o' failed
make: *** [.build_release/cuda/src/caffe/layers/batch_norm_layer.o] Error 1
Running Caffe Tests
CXX src/caffe/test/test_argmax_layer.cpp
CXX src/caffe/test/test_pooling_layer.cpp
CXX src/caffe/test/test_solver_factory.cpp
CXX src/caffe/test/test_tanh_layer.cpp
CXX src/caffe/test/test_hdf5_output_layer.cpp
CXX src/caffe/test/test_reduction_layer.cpp
In file included from src/caffe/test/test_hdf5_output_layer.cpp:9:0:
./include/caffe/layers/hdf5_output_layer.hpp:4:10: fatal error: hdf5.h: No such file or directory
 #include "hdf5.h"
          ^~~~~~~~
compilation terminated.
Makefile:591: recipe for target '.build_release/src/caffe/test/test_hdf5_output_layer.o' failed
make: *** [.build_release/src/caffe/test/test_hdf5_output_layer.o] Error 1
make: *** Waiting for unfinished jobs....
diego@diego-desktop:~/installCaffeJTX2$

I’m installing from JetsonHacks
My Jetson TX2:
Ubuntu 18.04
Jetpack 4.2
CMakeError.log (2.65 KB)
CMakeOutput.log (44.4 KB)

Hi,

Could you try if this change can fix your problem?

diff --git a/Makefile b/Makefile
index b7660e85..3d685ca5 100644
--- a/Makefile
+++ b/Makefile
@@ -195,7 +195,7 @@ ifeq ($(USE_LMDB), 1)
 endif
 # This code is taken from https://github.com/sh1r0/caffe-android-lib
 ifeq ($(USE_HDF5), 1)
-       LIBRARIES += hdf5_hl hdf5
+       LIBRARIES += hdf5_serial_hl hdf5_serial
 endif
 ifeq ($(USE_OPENCV), 1)
        LIBRARIES += opencv_core opencv_highgui opencv_imgproc
diff --git a/Makefile.config.example b/Makefile.config.example
index 24ca6327..d195ca71 100644
--- a/Makefile.config.example
+++ b/Makefile.config.example
@@ -36,15 +36,8 @@ CUDA_DIR := /usr/local/cuda
 # For CUDA < 6.0, comment the *_50 through *_61 lines for compatibility.
 # For CUDA < 8.0, comment the *_60 and *_61 lines for compatibility.
 # For CUDA >= 9.0, comment the *_20 and *_21 lines for compatibility.
-CUDA_ARCH := -gencode arch=compute_20,code=sm_20 \
-               -gencode arch=compute_20,code=sm_21 \
-               -gencode arch=compute_30,code=sm_30 \
-               -gencode arch=compute_35,code=sm_35 \
-               -gencode arch=compute_50,code=sm_50 \
-               -gencode arch=compute_52,code=sm_52 \
-               -gencode arch=compute_60,code=sm_60 \
-               -gencode arch=compute_61,code=sm_61 \
-               -gencode arch=compute_61,code=compute_61
+CUDA_ARCH := -gencode arch=compute_62,code=sm_62 \
+               -gencode arch=compute_62,code=compute_62
 
 # BLAS choice:
 # atlas for ATLAS (default)
@@ -94,7 +87,7 @@ PYTHON_LIB := /usr/lib
 # WITH_PYTHON_LAYER := 1
 
 # Whatever else you find you need goes here.
-INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include
+INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial/
 LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib
 
 # If Homebrew is installed at a non standard location (for example your home directory) and you use it for general dependencies

Thanks.

Hello AastaLLL
Thank you for your reply.
How can I do that?
Can you tell me the process?
please.

Hi,

In general:

means delete
+++ indicates add.

For example:

diff --git a/Makefile b/Makefile
index b7660e85..3d685ca5 100644
--- a/Makefile
+++ b/Makefile
@@ -195,7 +195,7 @@ ifeq ($(USE_LMDB), 1)
 endif
 # This code is taken from https://github.com/sh1r0/caffe-android-lib

 ifeq ($(USE_HDF5), 1)
-       LIBRARIES += hdf5_hl hdf5
+       LIBRARIES += hdf5_serial_hl hdf5_serial
 endif
 ifeq ($(USE_OPENCV), 1)
        LIBRARIES += opencv_core opencv_highgui opencv_imgproc
  • update the file named as Makefile
  • delete this line
LIBRARIES += hdf5_hl hdf5
  • add this line
LIBRARIES += hdf5_serial_hl hdf5_serial

Thanks.

Hello! thank you for reply.
I’ve tried but still have errors:

diego@diego-desktop:~/caffe$ make -j6 all
PROTOC src/caffe/proto/caffe.proto
NVCC src/caffe/layers/softmax_loss_layer.cu
NVCC src/caffe/layers/cudnn_lcn_layer.cu
NVCC src/caffe/layers/hdf5_data_layer.cu
NVCC src/caffe/layers/concat_layer.cu
NVCC src/caffe/layers/batch_norm_layer.cu
NVCC src/caffe/layers/clip_layer.cu
NVCC src/caffe/layers/cudnn_relu_layer.cu
NVCC src/caffe/layers/pooling_layer.cu
NVCC src/caffe/layers/mvn_layer.cu
NVCC src/caffe/layers/relu_layer.cu
NVCC src/caffe/layers/cudnn_tanh_layer.cu
NVCC src/caffe/layers/eltwise_layer.cu
NVCC src/caffe/layers/conv_layer.cu
NVCC src/caffe/layers/reduction_layer.cu
NVCC src/caffe/layers/accuracy_layer.cu
NVCC src/caffe/layers/exp_layer.cu
NVCC src/caffe/layers/filter_layer.cu
NVCC src/caffe/layers/lrn_layer.cu
NVCC src/caffe/layers/threshold_layer.cu
NVCC src/caffe/layers/im2col_layer.cu
NVCC src/caffe/layers/log_layer.cu
NVCC src/caffe/layers/batch_reindex_layer.cu
NVCC src/caffe/layers/scale_layer.cu
NVCC src/caffe/layers/lstm_unit_layer.cu
NVCC src/caffe/layers/cudnn_softmax_layer.cu
NVCC src/caffe/layers/absval_layer.cu
NVCC src/caffe/layers/recurrent_layer.cu
NVCC src/caffe/layers/hdf5_output_layer.cu
NVCC src/caffe/layers/contrastive_loss_layer.cu
NVCC src/caffe/layers/elu_layer.cu
NVCC src/caffe/layers/embed_layer.cu
NVCC src/caffe/layers/dropout_layer.cu
NVCC src/caffe/layers/tile_layer.cu
NVCC src/caffe/layers/slice_layer.cu
NVCC src/caffe/layers/prelu_layer.cu
NVCC src/caffe/layers/cudnn_sigmoid_layer.cu
NVCC src/caffe/layers/bias_layer.cu
NVCC src/caffe/layers/sigmoid_cross_entropy_loss_layer.cu
NVCC src/caffe/layers/crop_layer.cu
NVCC src/caffe/layers/tanh_layer.cu
NVCC src/caffe/layers/euclidean_loss_layer.cu
NVCC src/caffe/layers/silence_layer.cu
NVCC src/caffe/layers/cudnn_lrn_layer.cu
NVCC src/caffe/layers/deconv_layer.cu
NVCC src/caffe/layers/base_data_layer.cu
NVCC src/caffe/layers/cudnn_deconv_layer.cu
NVCC src/caffe/layers/split_layer.cu
NVCC src/caffe/layers/cudnn_conv_layer.cu
NVCC src/caffe/layers/sigmoid_layer.cu
NVCC src/caffe/layers/power_layer.cu
NVCC src/caffe/layers/swish_layer.cu
NVCC src/caffe/layers/inner_product_layer.cu
NVCC src/caffe/layers/softmax_layer.cu
NVCC src/caffe/layers/cudnn_pooling_layer.cu
NVCC src/caffe/layers/bnll_layer.cu
NVCC src/caffe/solvers/rmsprop_solver.cu
NVCC src/caffe/solvers/adagrad_solver.cu
NVCC src/caffe/solvers/nesterov_solver.cu
NVCC src/caffe/solvers/adam_solver.cu
NVCC src/caffe/solvers/adadelta_solver.cu
NVCC src/caffe/solvers/sgd_solver.cu
NVCC src/caffe/util/math_functions.cu
In file included from src/caffe/util/math_functions.cu:1:0:
/usr/local/cuda/include/math_functions.h:54:2: warning: #warning "math_functions.h is an internal header file and must not be used directly.  This file will be removed in a future CUDA release.  Please use cuda_runtime_api.h or cuda_runtime.h instead." [-Wcpp]
 #warning "math_functions.h is an internal header file and must not be used directly.  This file will be removed in a future CUDA release.  Please use cuda_runtime_api.h or cuda_runtime.h instead."
  ^~~~~~~
NVCC src/caffe/util/im2col.cu
In file included from src/caffe/util/math_functions.cu:1:0:
/usr/local/cuda/include/math_functions.h:54:2: warning: #warning "math_functions.h is an internal header file and must not be used directly.  This file will be removed in a future CUDA release.  Please use cuda_runtime_api.h or cuda_runtime.h instead." [-Wcpp]
 #warning "math_functions.h is an internal header file and must not be used directly.  This file will be removed in a future CUDA release.  Please use cuda_runtime_api.h or cuda_runtime.h instead."
  ^~~~~~~
CXX tools/upgrade_net_proto_binary.cpp
CXX tools/upgrade_solver_proto_text.cpp
CXX tools/upgrade_net_proto_text.cpp
CXX tools/caffe.cpp
CXX tools/convert_imageset.cpp
CXX tools/compute_image_mean.cpp
CXX tools/extract_features.cpp
CXX examples/mnist/convert_mnist_data.cpp
CXX examples/siamese/convert_mnist_siamese_data.cpp
CXX examples/cifar10/convert_cifar_data.cpp
CXX examples/cpp_classification/classification.cpp
In file included from src/caffe/util/math_functions.cu:1:0:
/usr/local/cuda/include/math_functions.h:54:2: warning: #warning "math_functions.h is an internal header file and must not be used directly.  This file will be removed in a future CUDA release.  Please use cuda_runtime_api.h or cuda_runtime.h instead." [-Wcpp]
 #warning "math_functions.h is an internal header file and must not be used directly.  This file will be removed in a future CUDA release.  Please use cuda_runtime_api.h or cuda_runtime.h instead."
  ^~~~~~~
In file included from src/caffe/util/math_functions.cu:1:0:
/usr/local/cuda/include/math_functions.h:54:2: warning: #warning "math_functions.h is an internal header file and must not be used directly.  This file will be removed in a future CUDA release.  Please use cuda_runtime_api.h or cuda_runtime.h instead." [-Wcpp]
 #warning "math_functions.h is an internal header file and must not be used directly.  This file will be removed in a future CUDA release.  Please use cuda_runtime_api.h or cuda_runtime.h instead."
  ^~~~~~~
CXX .build_release/src/caffe/proto/caffe.pb.cc
CXX src/caffe/parallel.cpp
CXX src/caffe/syncedmem.cpp
CXX src/caffe/layer.cpp
CXX src/caffe/layers/flatten_layer.cpp
CXX src/caffe/layers/spp_layer.cpp
CXX src/caffe/layers/crop_layer.cpp
CXX src/caffe/layers/slice_layer.cpp
CXX src/caffe/layers/prelu_layer.cpp
CXX src/caffe/layers/cudnn_relu_layer.cpp
CXX src/caffe/layers/loss_layer.cpp
CXX src/caffe/layers/euclidean_loss_layer.cpp
CXX src/caffe/layers/bnll_layer.cpp
CXX src/caffe/layers/neuron_layer.cpp
CXX src/caffe/layers/silence_layer.cpp
CXX src/caffe/layers/base_conv_layer.cpp
CXX src/caffe/layers/elu_layer.cpp
CXX src/caffe/layers/cudnn_softmax_layer.cpp
CXX src/caffe/layers/lstm_layer.cpp
CXX src/caffe/layers/embed_layer.cpp
CXX src/caffe/layers/cudnn_sigmoid_layer.cpp
CXX src/caffe/layers/reduction_layer.cpp
CXX src/caffe/layers/softmax_layer.cpp
CXX src/caffe/layers/im2col_layer.cpp
CXX src/caffe/layers/dummy_data_layer.cpp
CXX src/caffe/layers/scale_layer.cpp
CXX src/caffe/layers/memory_data_layer.cpp
CXX src/caffe/layers/inner_product_layer.cpp
CXX src/caffe/layers/tile_layer.cpp
CXX src/caffe/layers/bias_layer.cpp
CXX src/caffe/layers/threshold_layer.cpp
CXX src/caffe/layers/absval_layer.cpp
CXX src/caffe/layers/lstm_unit_layer.cpp
CXX src/caffe/layers/sigmoid_cross_entropy_loss_layer.cpp
CXX src/caffe/layers/power_layer.cpp
CXX src/caffe/layers/base_data_layer.cpp
CXX src/caffe/layers/hdf5_data_layer.cpp
CXX src/caffe/layers/exp_layer.cpp
CXX src/caffe/layers/cudnn_deconv_layer.cpp
CXX src/caffe/layers/recurrent_layer.cpp
CXX src/caffe/layers/dropout_layer.cpp
CXX src/caffe/layers/batch_reindex_layer.cpp
CXX src/caffe/layers/hinge_loss_layer.cpp
CXX src/caffe/layers/window_data_layer.cpp
CXX src/caffe/layers/cudnn_lrn_layer.cpp
CXX src/caffe/layers/deconv_layer.cpp
CXX src/caffe/layers/rnn_layer.cpp
CXX src/caffe/layers/concat_layer.cpp
CXX src/caffe/layers/reshape_layer.cpp
CXX src/caffe/layers/clip_layer.cpp
CXX src/caffe/layers/swish_layer.cpp
CXX src/caffe/layers/infogain_loss_layer.cpp
CXX src/caffe/layers/parameter_layer.cpp
CXX src/caffe/layers/log_layer.cpp
CXX src/caffe/layers/relu_layer.cpp
CXX src/caffe/layers/batch_norm_layer.cpp
CXX src/caffe/layers/image_data_layer.cpp
CXX src/caffe/layers/input_layer.cpp
CXX src/caffe/layers/split_layer.cpp
CXX src/caffe/layers/cudnn_tanh_layer.cpp
CXX src/caffe/layers/conv_layer.cpp
CXX src/caffe/layers/multinomial_logistic_loss_layer.cpp
CXX src/caffe/layers/cudnn_pooling_layer.cpp
CXX src/caffe/layers/cudnn_lcn_layer.cpp
CXX src/caffe/layers/argmax_layer.cpp
CXX src/caffe/layers/lrn_layer.cpp
CXX src/caffe/layers/mvn_layer.cpp
CXX src/caffe/layers/cudnn_conv_layer.cpp
CXX src/caffe/layers/data_layer.cpp
CXX src/caffe/layers/softmax_loss_layer.cpp
CXX src/caffe/layers/accuracy_layer.cpp
CXX src/caffe/layers/hdf5_output_layer.cpp
CXX src/caffe/layers/filter_layer.cpp
CXX src/caffe/layers/pooling_layer.cpp
CXX src/caffe/layers/tanh_layer.cpp
CXX src/caffe/layers/contrastive_loss_layer.cpp
CXX src/caffe/layers/eltwise_layer.cpp
CXX src/caffe/layers/sigmoid_layer.cpp
CXX src/caffe/layer_factory.cpp
CXX src/caffe/solvers/adadelta_solver.cpp
CXX src/caffe/solvers/rmsprop_solver.cpp
CXX src/caffe/solvers/adagrad_solver.cpp
CXX src/caffe/solvers/adam_solver.cpp
CXX src/caffe/solvers/sgd_solver.cpp
CXX src/caffe/solvers/nesterov_solver.cpp
CXX src/caffe/util/insert_splits.cpp
CXX src/caffe/util/db.cpp
CXX src/caffe/util/cudnn.cpp
CXX src/caffe/util/io.cpp
CXX src/caffe/util/im2col.cpp
CXX src/caffe/util/hdf5.cpp
CXX src/caffe/util/blocking_queue.cpp
CXX src/caffe/util/db_lmdb.cpp
CXX src/caffe/util/signal_handler.cpp
CXX src/caffe/util/upgrade_proto.cpp
CXX src/caffe/util/db_leveldb.cpp
CXX src/caffe/util/math_functions.cpp
CXX src/caffe/util/benchmark.cpp
CXX src/caffe/internal_thread.cpp
CXX src/caffe/data_transformer.cpp
CXX src/caffe/solver.cpp
CXX src/caffe/blob.cpp
CXX src/caffe/common.cpp
CXX src/caffe/net.cpp
AR -o .build_release/lib/libcaffe.a
LD -o .build_release/lib/libcaffe.so.1.0.0
/usr/bin/ld: cannot find -lhdf5_hl
/usr/bin/ld: cannot find -lhdf5
collect2: error: ld returned 1 exit status
Makefile:582: recipe for target '.build_release/lib/libcaffe.so.1.0.0' failed
make: *** [.build_release/lib/libcaffe.so.1.0.0] Error 1
diego@diego-desktop:~/caffe$

This is my makefile config:

## Refer to http://caffe.berkeleyvision.org/installation.html
# Contributions simplifying and improving our build system are welcome!

# cuDNN acceleration switch (uncomment to build with cuDNN).
USE_CUDNN := 1

# CPU-only switch (uncomment to build without GPU support).
# CPU_ONLY := 1

# uncomment to disable IO dependencies and corresponding data layers
# USE_OPENCV := 0
# USE_LEVELDB := 0
# USE_LMDB := 0
# This code is taken from https://github.com/sh1r0/caffe-android-lib
# USE_HDF5 := 0

# uncomment to allow MDB_NOLOCK when reading LMDB files (only if necessary)
#	You should not set this flag if you will be reading LMDBs with any
#	possibility of simultaneous read and write
# ALLOW_LMDB_NOLOCK := 1

# Uncomment if you're using OpenCV 3
OPENCV_VERSION := 3

# To customize your choice of compiler, uncomment and set the following.
# N.B. the default for Linux is g++ and the default for OSX is clang++
# CUSTOM_CXX := g++

# CUDA directory contains bin/ and lib/ directories that we need.
CUDA_DIR := /usr/local/cuda
# On Ubuntu 14.04, if cuda tools are installed via
# "sudo apt-get install nvidia-cuda-toolkit" then use this instead:
# CUDA_DIR := /usr

# CUDA architecture setting: going with all of them.
# For CUDA < 6.0, comment the *_50 through *_61 lines for compatibility.
# For CUDA < 8.0, comment the *_60 and *_61 lines for compatibility.
# For CUDA >= 9.0, comment the *_20 and *_21 lines for compatibility.
CUDA_ARCH := -gencode arch=compute_20,code=sm_20 \
		-gencode arch=compute_20,code=sm_21 \
		-gencode arch=compute_30,code=sm_30 \
		-gencode arch=compute_35,code=sm_35 \
		-gencode arch=compute_50,code=sm_50 \
		-gencode arch=compute_52,code=sm_52 \
		-gencode arch=compute_60,code=sm_60 \
		-gencode arch=compute_61,code=sm_61 \
		-gencode arch=compute_61,code=compute_61
CUDA_ARCH := -gencode arch=compute_62,code=sm_62 \
                -gencode arch=compute_62,code=compute_62
# BLAS choice:
# atlas for ATLAS (default)
# mkl for MKL
# open for OpenBlas
BLAS := atlas
# Custom (MKL/ATLAS/OpenBLAS) include and lib directories.
# Leave commented to accept the defaults for your choice of BLAS
# (which should work)!
# BLAS_INCLUDE := /path/to/your/blas
# BLAS_LIB := /path/to/your/blas

# Homebrew puts openblas in a directory that is not on the standard search path
# BLAS_INCLUDE := $(shell brew --prefix openblas)/include
# BLAS_LIB := $(shell brew --prefix openblas)/lib

# This is required only if you will compile the matlab interface.
# MATLAB directory should contain the mex binary in /bin.
# MATLAB_DIR := /usr/local
# MATLAB_DIR := /Applications/MATLAB_R2012b.app

# NOTE: this is required only if you will compile the python interface.
# We need to be able to find Python.h and numpy/arrayobject.h.
PYTHON_INCLUDE := /usr/include/python2.7 \
		/usr/lib/python2.7/dist-packages/numpy/core/include
# Anaconda Python distribution is quite popular. Include path:
# Verify anaconda location, sometimes it's in root.
# ANACONDA_HOME := $(HOME)/anaconda
# PYTHON_INCLUDE := $(ANACONDA_HOME)/include \
		# $(ANACONDA_HOME)/include/python2.7 \
		# $(ANACONDA_HOME)/lib/python2.7/site-packages/numpy/core/include

# Uncomment to use Python 3 (default is Python 2)
# PYTHON_LIBRARIES := boost_python3 python3.5m
# PYTHON_INCLUDE := /usr/include/python3.5m \
#                 /usr/lib/python3.5/dist-packages/numpy/core/include

# We need to be able to find libpythonX.X.so or .dylib.
PYTHON_LIB := /usr/lib
# PYTHON_LIB := $(ANACONDA_HOME)/lib

# Homebrew installs numpy in a non standard path (keg only)
# PYTHON_INCLUDE += $(dir $(shell python -c 'import numpy.core; print(numpy.core.__file__)'))/include
# PYTHON_LIB += $(shell brew --prefix numpy)/lib

# Uncomment to support layers written in Python (will link against Python libs)
# WITH_PYTHON_LAYER := 1

# Whatever else you find you need goes here.
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial/
INCLUDE_DIRS += /usr/include/hdf5/serial/
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib
LIBRARIES += hdf5_serial_hl hdf5_serial
# If Homebrew is installed at a non standard location (for example your home directory) and you use it for general dependencies
# INCLUDE_DIRS += $(shell brew --prefix)/include
# LIBRARY_DIRS += $(shell brew --prefix)/lib

# NCCL acceleration switch (uncomment to build with NCCL)
# https://github.com/NVIDIA/nccl (last tested version: v1.2.3-1+cuda8.0)
# USE_NCCL := 1

# Uncomment to use `pkg-config` to specify OpenCV library paths.
# (Usually not necessary -- OpenCV libraries are normally installed in one of the above $LIBRARY_DIRS.)
# USE_PKG_CONFIG := 1

# N.B. both build and distribute dirs are cleared on `make clean`
BUILD_DIR := build
DISTRIBUTE_DIR := distribute

# Uncomment for debugging. Does not work on OSX due to https://github.com/BVLC/caffe/issues/171
# DEBUG := 1

# The ID of the GPU that 'make runtest' will use to run unit tests.
TEST_GPUID := 0

# enable pretty build (comment to see full commands)
Q ?= @

Hi,

Please try the following commands:

$ cd /usr/lib/aarch64-linux-gnu​
$ sudo ln -s libhdf5_serial.so.10 libhdf5.so
$ sudo ln -s libhdf5_serial_hl.so.10 libhdf5_hl.so

This is because there is some difference in the hdf5 library between x86 and ARM platform.
So you will need to apply some hack to make them look the same.

Thanks.

Hello dear AastaLL

I don’t know why still is not working.
First, I installed from jetsonhacks running

./installcaffe.sh

this is the code on installcaffe.sh :

#!/bin/sh
# Script for installing Caffe with cuDNN support on Jetson TX2 Development Kits
# 3-19-17 JetsonHacks.com
# MIT License
# Install and compile Caffe on NVIDIA Jetson TX2 Development Kit
# Prerequisites (which can be installed with JetPack 3):
# L4T 27.1 (Ubuntu 16.04)
# OpenCV4Tegra
# CUDA 8.0
# cuDNN v5.1
# Tested last with Github Caffe commit: 317d162acbe420c4b2d1faa77b5c18a3841c444c
sudo add-apt-repository universe
sudo apt-get update -y
/bin/echo -e "\e[1;32mLoading Caffe Dependencies.\e[0m"
sudo apt-get install cmake -y
# General Dependencies
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev \
libhdf5-serial-dev protobuf-compiler -y
sudo apt-get install --no-install-recommends libboost-all-dev -y
# BLAS
sudo apt-get install libatlas-base-dev -y
# Remaining Dependencies
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev -y
sudo apt-get install python-dev python-numpy -y

sudo usermod -a -G video $USER
/bin/echo -e "\e[1;32mCloning Caffe into the home directory\e[0m"
# Place caffe in the home directory
cd $HOME
# Git clone Caffe
git clone https://github.com/BVLC/caffe.git 
cd caffe 
cp Makefile.config.example Makefile.config
# If cuDNN is found cmake uses it in the makefile
# Regen the makefile; On 16.04, aarch64 has issues with a static cuda runtime
cmake -DCUDA_USE_STATIC_CUDA_RUNTIME=OFF
# Include the hdf5 directory for the includes; 16.04 previously had issues for some reason
# The TX2 seems to handle this correctly now
# echo "INCLUDE_DIRS += /usr/include/hdf5/serial/" >> Makefile.config
/bin/echo -e "\e[1;32mCompiling Caffe\e[0m"
make -j6 all
# Run the tests to make sure everything works
/bin/echo -e "\e[1;32mRunning Caffe Tests\e[0m"
make -j6 runtest
# The following is a quick timing test ...
# tools/caffe time --model=models/bvlc_alexnet/deploy.prototxt --gpu=0

after ran it, I got errors mentioned before up.

After that, I cloned the caffe repository by myself and the Makefile is this:

## Refer to http://caffe.berkeleyvision.org/installation.html
# Contributions simplifying and improving our build system are welcome!

# cuDNN acceleration switch (uncomment to build with cuDNN).
USE_CUDNN := 1

# CPU-only switch (uncomment to build without GPU support).
# CPU_ONLY := 1

# uncomment to disable IO dependencies and corresponding data layers
# USE_OPENCV := 0
# USE_LEVELDB := 0
# USE_LMDB := 0
# This code is taken from https://github.com/sh1r0/caffe-android-lib
# USE_HDF5 := 0

# uncomment to allow MDB_NOLOCK when reading LMDB files (only if necessary)
#	You should not set this flag if you will be reading LMDBs with any
#	possibility of simultaneous read and write
# ALLOW_LMDB_NOLOCK := 1

# Uncomment if you're using OpenCV 3
OPENCV_VERSION := 3

# To customize your choice of compiler, uncomment and set the following.
# N.B. the default for Linux is g++ and the default for OSX is clang++
# CUSTOM_CXX := g++

# CUDA directory contains bin/ and lib/ directories that we need.
CUDA_DIR := /usr/local/cuda
# On Ubuntu 14.04, if cuda tools are installed via
# "sudo apt-get install nvidia-cuda-toolkit" then use this instead:
# CUDA_DIR := /usr

# CUDA architecture setting: going with all of them.
# For CUDA < 6.0, comment the *_50 through *_61 lines for compatibility.
# For CUDA < 8.0, comment the *_60 and *_61 lines for compatibility.
# For CUDA >= 9.0, comment the *_20 and *_21 lines for compatibility.
CUDA_ARCH := -gencode arch=compute_62,code=sm_62 \
                -gencode arch=compute_62,code=compute_62

# BLAS choice:
# atlas for ATLAS (default)
# mkl for MKL
# open for OpenBlas
BLAS := atlas
# Custom (MKL/ATLAS/OpenBLAS) include and lib directories.
# Leave commented to accept the defaults for your choice of BLAS
# (which should work)!
# BLAS_INCLUDE := /path/to/your/blas
# BLAS_LIB := /path/to/your/blas

# Homebrew puts openblas in a directory that is not on the standard search path
# BLAS_INCLUDE := $(shell brew --prefix openblas)/include
# BLAS_LIB := $(shell brew --prefix openblas)/lib

# This is required only if you will compile the matlab interface.
# MATLAB directory should contain the mex binary in /bin.
# MATLAB_DIR := /usr/local
# MATLAB_DIR := /Applications/MATLAB_R2012b.app

# NOTE: this is required only if you will compile the python interface.
# We need to be able to find Python.h and numpy/arrayobject.h.
PYTHON_INCLUDE := /usr/include/python2.7 \
		/usr/lib/python2.7/dist-packages/numpy/core/include
# Anaconda Python distribution is quite popular. Include path:
# Verify anaconda location, sometimes it's in root.
# ANACONDA_HOME := $(HOME)/anaconda
# PYTHON_INCLUDE := $(ANACONDA_HOME)/include \
		# $(ANACONDA_HOME)/include/python2.7 \
		# $(ANACONDA_HOME)/lib/python2.7/site-packages/numpy/core/include

# Uncomment to use Python 3 (default is Python 2)
# PYTHON_LIBRARIES := boost_python3 python3.5m
# PYTHON_INCLUDE := /usr/include/python3.5m \
#                 /usr/lib/python3.5/dist-packages/numpy/core/include

# We need to be able to find libpythonX.X.so or .dylib.
PYTHON_LIB := /usr/lib
# PYTHON_LIB := $(ANACONDA_HOME)/lib

# Homebrew installs numpy in a non standard path (keg only)
# PYTHON_INCLUDE += $(dir $(shell python -c 'import numpy.core; print(numpy.core.__file__)'))/include
# PYTHON_LIB += $(shell brew --prefix numpy)/lib

# Uncomment to support layers written in Python (will link against Python libs)
WITH_PYTHON_LAYER := 1

# Whatever else you find you need goes here.
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial/
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu/hdf5/serial/

# If Homebrew is installed at a non standard location (for example your home directory) and you use it for general dependencies
# INCLUDE_DIRS += $(shell brew --prefix)/include
# LIBRARY_DIRS += $(shell brew --prefix)/lib
LIBRARIES += hdf5_serial_hl hdf5_serial
# NCCL acceleration switch (uncomment to build with NCCL)
# https://github.com/NVIDIA/nccl (last tested version: v1.2.3-1+cuda8.0)
# USE_NCCL := 1

# Uncomment to use `pkg-config` to specify OpenCV library paths.
# (Usually not necessary -- OpenCV libraries are normally installed in one of the above $LIBRARY_DIRS.)
# USE_PKG_CONFIG := 1

# N.B. both build and distribute dirs are cleared on `make clean`
BUILD_DIR := build
DISTRIBUTE_DIR := distribute

# Uncomment for debugging. Does not work on OSX due to https://github.com/BVLC/caffe/issues/171
# DEBUG := 1

# The ID of the GPU that 'make runtest' will use to run unit tests.
TEST_GPUID := 0

# enable pretty build (comment to see full commands)
Q ?= @

I got errors… I’ve tried your solution:

$ cd /usr/lib/aarch64-linux-gnu​
$ sudo ln -s libhdf5_serial.so.10 libhdf5.so
$ sudo ln -s libhdf5_serial_hl.so.10 libhdf5_hl.so

but stil reciving the same error.
I don’t know what is wrong…

Please notice that is only happening with Jetson TX2 using the lastest jetpack 4.2 that have ubuntu 18.04 LTS
I’ve tried to go back to jetpack 3.3 but after the installation Cuda is not installed in the Jetson…

I need to solve it… urgently … please help me

Hi,

Your GPU compute capacity is incorrect. Nano is sm=53, not sm=62.
Here is my installation steps for your reference:

1. Install dependencies

sudo apt-get update
sudo apt-get install software-properties-common
sudo add-apt-repository universe 
sudo add-apt-repository multiverse
sudo apt-get install libboost-dev libboost-all-dev
sudo apt-get install libjpeg-turbo8-dev libjpeg8-dev libturbojpeg0-dev
sudo apt-get install liblapack-dev liblapack3 libopenblas-base libopenblas-dev
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev libatlas-base-dev liblmdb-dev libblas-dev libatlas-base-dev libprotobuf-dev libleveldb-dev libsnappy-dev libhdf5-serial-dev protobuf-compiler

2. Prepare source

git clone https://github.com/NVIDIA/caffe.git $CAFFE_ROOT

Edit Makefile.config.example

+++ USE_CUDNN := 1
+++ OPENCV_VERSION := 3
+++ WITH_PYTHON_LAYER := 1
--- CUDA_ARCH :=   -gencode arch=compute_50,code=sm_50 \
---                -gencode arch=compute_52,code=sm_52 \
---                -gencode arch=compute_60,code=sm_60 \
---                -gencode arch=compute_61,code=sm_61 \
---                -gencode arch=compute_61,code=compute_61
+++ CUDA_ARCH :=   -gencode arch=compute_53,code=sm_53 \
+++                -gencode arch=compute_53,code=compute_53

3. Build

cp Makefile.config.example Makefile.config
make -j4
make pycaffe
export PYTHONPATH=$PWD/python:$PYTHONPATH

I can build caffe successfully with the steps above.
Thanks.

Hello! Thank you so much.
Is working well.
but in the makefile I change BLAS: Open to Atlas.

Thank you for help!
As another question, do you know if there is a publication about to combine two models into one? Face detection model + my_own_model_for_faces_recognition.

Hi,

We have do some similar tasks long time ago.
The algorithm may not work currently but you still can get some idea from it:
https://github.com/AastaNV/Face-Recognition/tree/master/script

Thanks.

I followed these instructions on the jetson nano, and the build process would fail at the very last line with error 1. It did not mention any package or missing dependencies. It just failed.

So I went to another pc and ssh’ed into the nano.
I turned off X with sudo systemctl isolate multi-user.target.
The build went flawless after that.

I guess the gui soaks up too much memory. Thank you AastaLL

as far as I understand,
the files with diff can be saved as a filename and processed in the target folder with

patch <- patchfilename

@AstaLLL. It is a thread for TX2. May be you could you map your instruction for nano [I assume it is for nano as you mention nano architecture number] into nano thread at nano section of the forum?
However, in my opinion any generic instruction from the forum i.e. from Xavier section should work for nano as well, but with architecture adjustments to 53. While TX2 is 62 and Xavier is 72.

I downloaded the compiled code successfully, c++ api can be used, but pycaffe is abnormal
git clone https://github.com/NVIDIA/caffe.git

lc@n:~/caffe$ ls
3rdparty  classification  CMakeLists.txt  CONTRIBUTING.md  data        docker  examples  INSTALL.md  Makefile         Makefile.config.example  models                  NVIDIA_CLA_v1.0.1.docx  plot_loss.py  plot_top5.py        python     scripts  tools
build     cmake           common_plot.py  CONTRIBUTORS.md  distribute  docs    include   LICENSE     Makefile.config  matlab                   NVCaffe-User-Guide.pdf  packaging               plot_top1.py  plot_train_loss.py  README.md  src
lc@n:~/caffe$ make pycaffe
make: Nothing to be done for 'pycaffe'.
lc@n:~/caffe$ export PYTHONPATH=$PWD/python:$PYTHONPATH
lc@n:~/caffe$ python
Python 2.7.15rc1 (default, Nov 12 2018, 14:31:15) 
[GCC 7.3.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import caffe
Traceback (most recent call last):
  File "faceboxes_test.py", line 6, in <module>
    import caffe
  File "../../python/caffe/__init__.py", line 1, in <module>
    from .pycaffe import Net, SGDSolver, NesterovSolver, AdaGradSolver, RMSPropSolver, \
  File "../../python/caffe/pycaffe.py", line 15, in <module>
    import caffe.io
  File "../../python/caffe/io.py", line 2, in <module>
    import skimage.io
ImportError: No module named skimage.io
>>>

Hi,

It looks like there is no skimage module on your environment.
You can get it installed with this command:

sudo apt-get install python-skimage

Thanks.

Hi guys,

I install SSD Caffe from JKJungs blog post here:

https://jkjung-avt.github.io/ssd-caffe-on-nano/

I install everything correctly and the cmake … and make builds all pass, but when I run the following command “make -j4 runtest” to make the runtests included within the Caffe build it shuts down my TX2 for some strange reason, hard shuts it down. The main reason I am rebuilding and installing Caffe is that I see the same shutdown result from OpenPose which lead to believe that Caffe was not built with the correct aarch for the TX2 device “6.2”, so I am trying to rebuild Caffe to fix this situation but am getting the same result. I am assuming that the device shuts down because its getting some sort of out of memory fault as I’ve seen this in the past which could be ram, but I currently have 5.0GB left in storage space, but I think its referring to GPU memory.

My only other option is to maybe build the master Caffe directly from their website, but I don’t think there is anything wrong with my installation as I get the following from my main builds for caffe, pycaffe

Here is my results from building all, pycaffe and test:

nvidia@nvidia-desktop:~/datacapture/ssd-caffe/build$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/root        28G   22G  5.0G  81% /
devtmpfs        3.9G     0  3.9G   0% /dev
tmpfs           3.9G  243M  3.7G   7% /dev/shm
tmpfs           3.9G   37M  3.9G   1% /run
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           3.9G     0  3.9G   0% /sys/fs/cgroup
/dev/loop0       20M   20M     0 100% /snap/snapd/4610
/dev/loop1       48M   48M     0 100% /snap/core18/1195
/dev/loop2       48M   48M     0 100% /snap/core18/1149
/dev/loop3       99M   99M     0 100% /snap/guvcview/88
/dev/loop4       43M   43M     0 100% /snap/gtk-common-themes/1313
/dev/loop5      136M  136M     0 100% /snap/gnome-3-28-1804/73
/dev/nvme0n1    939G   20G  872G   3% /home/nvidia/datacapture
tmpfs           787M  128K  786M   1% /run/user/1000
nvidia@nvidia-desktop:~/datacapture/ssd-caffe/build$ make -j4 all
[  1%] Built target proto
[ 80%] Built target caffe
[ 82%] Built target caffe.bin
[ 82%] Built target create_label_map
[ 83%] Built target test_net
[ 84%] Built target convert_imageset
[ 86%] Built target upgrade_net_proto_binary
[ 86%] Built target extract_features
[ 87%] Built target device_query
[ 87%] Built target finetune_net
[ 87%] Built target convert_annoset
[ 89%] Built target upgrade_solver_proto_text
[ 89%] Built target get_image_size
[ 90%] Built target net_speed_benchmark
[ 91%] Built target compute_image_mean
[ 94%] Built target train_net
[ 94%] Built target upgrade_net_proto_text
[ 95%] Built target classification
[ 97%] Built target ssd_detect
[ 97%] Built target convert_mnist_data
[ 98%] Built target convert_mnist_siamese_data
[100%] Built target convert_cifar_data
[100%] Built target pycaffe
nvidia@nvidia-desktop:~/datacapture/ssd-caffe/build$ make -j4 test
nvidia@nvidia-desktop:~/datacapture/ssd-caffe/build$ make -j4 pycaffe
[  1%] Built target proto
[100%] Built target caffe
[100%] Built target pycaffe
nvidia@nvidia-desktop:~/datacapture/ssd-caffe/build$

Here is my Makefile.config:

## Refer to http://caffe.berkeleyvision.org/installation.html
# Contributions simplifying and improving our build system are welcome!

# cuDNN acceleration switch (uncomment to build with cuDNN).
USE_CUDNN := 1

# CPU-only switch (uncomment to build without GPU support).
# CPU_ONLY := 1

# uncomment to disable IO dependencies and corresponding data layers
# USE_OPENCV := 0
# USE_LEVELDB := 0
# USE_LMDB := 0

# uncomment to allow MDB_NOLOCK when reading LMDB files (only if necessary)
#	You should not set this flag if you will be reading LMDBs with any
#	possibility of simultaneous read and write
# ALLOW_LMDB_NOLOCK := 1

# Uncomment if you're using OpenCV 3
OPENCV_VERSION := 3

# To customize your choice of compiler, uncomment and set the following.
# N.B. the default for Linux is g++ and the default for OSX is clang++
# CUSTOM_CXX := g++

# CUDA directory contains bin/ and lib/ directories that we need.
CUDA_DIR := /usr/local/cuda
# On Ubuntu 14.04, if cuda tools are installed via
# "sudo apt-get install nvidia-cuda-toolkit" then use this instead:
# CUDA_DIR := /usr

# CUDA architecture setting: going with all of them.
# For CUDA < 6.0, comment the *_50 through *_61 lines for compatibility.
# For CUDA < 8.0, comment the *_60 and *_61 lines for compatibility.
CUDA_ARCH := -gencode arch=compute_53,code=sm_53 \
             -gencode arch=compute_62,code=sm_62 \
             -gencode arch=compute_72,code=sm_72 \
             -gencode arch=compute_72,code=compute_72

# BLAS choice:
# atlas for ATLAS (default)
# mkl for MKL
# open for OpenBlas
BLAS := atlas
# Custom (MKL/ATLAS/OpenBLAS) include and lib directories.
# Leave commented to accept the defaults for your choice of BLAS
# (which should work)!
# BLAS_INCLUDE := /path/to/your/blas
# BLAS_LIB := /path/to/your/blas

# Homebrew puts openblas in a directory that is not on the standard search path
# BLAS_INCLUDE := $(shell brew --prefix openblas)/include
# BLAS_LIB := $(shell brew --prefix openblas)/lib

# This is required only if you will compile the matlab interface.
# MATLAB directory should contain the mex binary in /bin.
# MATLAB_DIR := /usr/local
# MATLAB_DIR := /Applications/MATLAB_R2012b.app

# NOTE: this is required only if you will compile the python interface.
# We need to be able to find Python.h and numpy/arrayobject.h.
# PYTHON_INCLUDE := /usr/include/python2.7 \
#		/usr/lib/python2.7/dist-packages/numpy/core/include
# Anaconda Python distribution is quite popular. Include path:
# Verify anaconda location, sometimes it's in root.
# ANACONDA_HOME := $(HOME)/anaconda
# PYTHON_INCLUDE := $(ANACONDA_HOME)/include \
		# $(ANACONDA_HOME)/include/python2.7 \
		# $(ANACONDA_HOME)/lib/python2.7/site-packages/numpy/core/include

# Uncomment to use Python 3 (default is Python 2)
PYTHON_LIBRARIES := boost_python-py36 python3.6m
PYTHON_INCLUDE := /usr/include/python3.6m \
                /usr/local/lib/python3.6/dist-packages/numpy/core/include

# We need to be able to find libpythonX.X.so or .dylib.
PYTHON_LIB := /usr/lib
# PYTHON_LIB := $(ANACONDA_HOME)/lib

# Homebrew installs numpy in a non standard path (keg only)
# PYTHON_INCLUDE += $(dir $(shell python -c 'import numpy.core; print(numpy.core.__file__)'))/include
# PYTHON_LIB += $(shell brew --prefix numpy)/lib

# Uncomment to support layers written in Python (will link against Python libs)
WITH_PYTHON_LAYER := 1

# Whatever else you find you need goes here.
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/aarch64-linux-gnu /usr/lib/aarch64-linux-gnu/hdf5/serial

# If Homebrew is installed at a non standard location (for example your home directory) and you use it for general dependencies
# INCLUDE_DIRS += $(shell brew --prefix)/include
# LIBRARY_DIRS += $(shell brew --prefix)/lib

# NCCL acceleration switch (uncomment to build with NCCL)
# https://github.com/NVIDIA/nccl (last tested version: v1.2.3-1+cuda8.0)
# USE_NCCL := 1

# Uncomment to use `pkg-config` to specify OpenCV library paths.
# (Usually not necessary -- OpenCV libraries are normally installed in one of the above $LIBRARY_DIRS.)
# USE_PKG_CONFIG := 1

# N.B. both build and distribute dirs are cleared on `make clean`
BUILD_DIR := build
DISTRIBUTE_DIR := distribute

# Uncomment for debugging. Does not work on OSX due to https://github.com/BVLC/caffe/issues/171
# DEBUG := 1

# The ID of the GPU that 'make runtest' will use to run unit tests.
TEST_GPUID := 0

# enable pretty build (comment to see full commands)
Q ?= @

#COMMON_FLAGS += -O3 -ffast-math -flto -march=armv8-a+crypto -mcpu=cortex-a57+crypto

Any assistance would be greatly appreciated as I’ve exhausted why this could be happening. Once I solve this issue the same issue will most likely solve the OpenPose issues as well, so it will be a two fold solution.

I am not able to run jetson_clocks either I get an error stating “cannot access fan” does anyone else get this? I suspect that we are getting this since we are not running the CPU’s and TX2 at maximum capacity, is there a bug in 4.2 with jetson clocks? Can I do something else to get the clocks to run at max?

Hi,

You need root authority to run jetson_clocks. Could you try it again?

sudo jetson_clocks

For Caffe, you don’t need the runtest version since Caffe test won’t pass on Jetson due to the architecture.
Just compile it with make should be enough.
https://devtalk.nvidia.com/default/topic/1063360/jetson-tx2/how-to-install-openpose-on-jetson-tx2-with-jetpack-4-2/

Thansk.

I compiled succesfully caffe but when I import caffe i face with no module named caffe error. What might cause that?