Closed vijay1131 closed 7 years ago
Hi @vijay1131 ,
Can you check if there is a folder named lib-distribution
generated after the build? If not, please let me know. :)
Thanks @boyw165 for replying back.
yes the folder is generated and my-android-app-boilerplate/lib-distribution/my_core_jni/lib is empty.
Ok, maybe it's a bug of mine.
Yeah it could be. Any plan to work on this in near future?
Yes, let me figure it out soon.
So you tried to build lib-dlib
, however the lib-core
is not completed compiled? Did you use terminal to build the sample code? For example, ./gradlew lib-dlib:assembleDebug
Hi @vijay1131 ,
I just fixed the compiling problem in this commit, https://github.com/boyw165/my-android-app-boilerplate/commit/0965f49df664c307f904a3b35b746c5b9c264741 .
Please fetch the latest code (master
branch) and try ./gradlew clean lib-dlib:assembleDebug
to see if it works. The clean
is necessary because I have the script to copy the files to lib-distribution
folder and it might not be processed if the IDE has already cached the intermediate files.
If the problem is solved, you could also try ./gradlew demo-dlib:installDebug
to install my demo app on your Android phone.
BTW, I want to improve the speed of detecting face rectangles. To make it real-time running on an Android phone, what do you suggest me? And further, is there any tracking algorithm that also help to improve the performance and accuracy of finding face rectangles?
@boyw165
I tried with your suggestion
I pulled out fresh copy of master branch and tried with ./gradlew clean lib-dlib:assembleDebug
command but i ended up with the same error here is the log
Starting a Gradle Daemon (subsequent builds will be faster)
Incremental java compilation is an incubating feature.
The Task.leftShift(Closure) method has been deprecated and is scheduled to be removed in Gradle 5.0. Please use Task.doLast(Action) instead.
:clean
:app:clean
:demo-dlib:clean
:demo-doodle:clean
:demo-news-feed:clean
:demo-widget:clean
:lib-component:clean
:lib-core:externalNativeBuildCleanDebug
Clean my_core_jni armeabi
Cleaning... 0 files.
Clean my_core_jni armeabi-v7a
Cleaning... 0 files.
Clean my_core_jni arm64-v8a
Cleaning... 0 files.
Clean my_core_jni x86
Cleaning... 0 files.
Clean my_core_jni x86_64
Cleaning... 0 files.
:lib-core:externalNativeBuildCleanRelease
Clean my_core_jni armeabi
Cleaning... 3 files.
Clean my_core_jni armeabi-v7a
Cleaning... 3 files.
Clean my_core_jni arm64-v8a
Cleaning... 3 files.
Clean my_core_jni x86
Cleaning... 3 files.
Clean my_core_jni x86_64
Cleaning... 3 files.
:lib-core:clean
:lib-dlib:externalNativeBuildCleanDebug
Clean dlib_jni armeabi,my_core_jni armeabi,dlib armeabi,protobuf armeabi
Cleaning... 0 files.
Clean dlib_jni armeabi-v7a,my_core_jni armeabi-v7a,dlib armeabi-v7a,protobuf armeabi-v7a
Cleaning... 0 files.
Clean protobuf arm64-v8a,my_core_jni arm64-v8a,dlib_jni arm64-v8a,dlib arm64-v8a
Cleaning... 0 files.
Clean protobuf x86,dlib_jni x86,dlib x86,my_core_jni x86
Cleaning... 0 files.
Clean dlib x86_64,dlib_jni x86_64,my_core_jni x86_64,protobuf x86_64
Cleaning... 0 files.
:lib-dlib:externalNativeBuildCleanRelease
Clean dlib_jni armeabi,my_core_jni armeabi,dlib armeabi,protobuf armeabi
Cleaning... 0 files.
Clean dlib_jni armeabi-v7a,my_core_jni armeabi-v7a,dlib armeabi-v7a,protobuf armeabi-v7a
Cleaning... 0 files.
Clean protobuf arm64-v8a,my_core_jni arm64-v8a,dlib_jni arm64-v8a,dlib arm64-v8a
Cleaning... 0 files.
Clean protobuf x86,dlib_jni x86,dlib x86,my_core_jni x86
Cleaning... 0 files.
Clean dlib x86_64,dlib_jni x86_64,my_core_jni x86_64,protobuf x86_64
Cleaning... 0 files.
:lib-dlib:clean
:lib-protobuf:externalNativeBuildCleanDebug
Clean protobuf armeabi,protobuf_jni armeabi
Cleaning... 0 files.
Clean protobuf_jni armeabi-v7a,protobuf armeabi-v7a
Cleaning... 0 files.
Clean protobuf arm64-v8a,protobuf_jni arm64-v8a
Cleaning... 0 files.
Clean protobuf x86,protobuf_jni x86
Cleaning... 0 files.
Clean protobuf_jni x86_64,protobuf x86_64
Cleaning... 0 files.
:lib-protobuf:externalNativeBuildCleanRelease
Clean protobuf armeabi,protobuf_jni armeabi
Cleaning... 2 files.
Clean protobuf_jni armeabi-v7a,protobuf armeabi-v7a
Cleaning... 2 files.
Clean protobuf arm64-v8a,protobuf_jni arm64-v8a
Cleaning... 2 files.
Clean protobuf x86,protobuf_jni x86
Cleaning... 2 files.
Clean protobuf_jni x86_64,protobuf x86_64
Cleaning... 2 files.
:lib-protobuf:clean
:lib-tensorflow:externalNativeBuildCleanDebug
Clean tensorflow armeabi,my_core_jni armeabi,tensorflow_jni armeabi
Cleaning... 0 files.
Clean tensorflow_jni armeabi-v7a,tensorflow armeabi-v7a,my_core_jni armeabi-v7a
Cleaning... 0 files.
:lib-tensorflow:externalNativeBuildCleanRelease
Clean tensorflow armeabi,my_core_jni armeabi,tensorflow_jni armeabi
Cleaning... 0 files.
Clean tensorflow_jni armeabi-v7a,tensorflow armeabi-v7a,my_core_jni armeabi-v7a
Cleaning... 0 files.
:lib-tensorflow:clean
:lib-widget:clean
:lib-core:preBuild UP-TO-DATE
:lib-core:preReleaseBuild UP-TO-DATE
:lib-core:checkReleaseManifest
:lib-core:preDebugAndroidTestBuild UP-TO-DATE
:lib-core:preDebugBuild UP-TO-DATE
:lib-core:preDebugUnitTestBuild UP-TO-DATE
:lib-core:preReleaseUnitTestBuild UP-TO-DATE
:lib-core:prepareComAndroidSupportAnimatedVectorDrawable2531Library
:lib-core:prepareComAndroidSupportAppcompatV72531Library
:lib-core:prepareComAndroidSupportRecyclerviewV72531Library
:lib-core:prepareComAndroidSupportSupportCompat2531Library
:lib-core:prepareComAndroidSupportSupportCoreUi2531Library
:lib-core:prepareComAndroidSupportSupportCoreUtils2531Library
:lib-core:prepareComAndroidSupportSupportFragment2531Library
:lib-core:prepareComAndroidSupportSupportMediaCompat2531Library
:lib-core:prepareComAndroidSupportSupportV42531Library
:lib-core:prepareComAndroidSupportSupportVectorDrawable2531Library
:lib-core:prepareReleaseDependencies
:lib-core:compileReleaseAidl
:lib-core:compileLint
:lib-core:copyReleaseLint UP-TO-DATE
:lib-core:compileReleaseRenderscript
:lib-core:generateReleaseBuildConfig
:lib-core:generateReleaseResValues
:lib-core:generateReleaseResources
:lib-core:mergeReleaseResources
:lib-core:processReleaseManifest
:lib-core:processReleaseResources
:lib-core:generateReleaseSources
:lib-core:incrementalReleaseJavaCompilationSafeguard
:lib-core:javaPreCompileRelease
:lib-core:compileReleaseJavaWithJavac
:lib-core:compileReleaseJavaWithJavac - is not incremental (e.g. outputs have changed, no previous execution, etc.).
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
:lib-core:extractReleaseAnnotations
:lib-core:mergeReleaseShaders
:lib-core:compileReleaseShaders
:lib-core:generateReleaseAssets
:lib-core:mergeReleaseAssets
:lib-core:mergeReleaseProguardFiles UP-TO-DATE
:lib-core:packageReleaseRenderscript UP-TO-DATE
:lib-core:packageReleaseResources
:lib-core:processReleaseJavaRes UP-TO-DATE
:lib-core:transformResourcesWithMergeJavaResForRelease
:lib-core:transformClassesAndResourcesWithSyncLibJarsForRelease
:lib-core:generateJsonModelRelease UP-TO-DATE
:lib-core:externalNativeBuildRelease
Build my_core_jni arm64-v8a
[1/3] Building CXX object CMakeFiles/my_core_jni.dir/jni.cpp.o
[2/3] Building CXX object CMakeFiles/my_core_jni.dir/profiler.cpp.o
[3/3] Linking CXX shared library /home/learner/my-android-app-boilerplate/lib-core/build/intermediates/cmake/release/obj/arm64-v8a/libmy_core_jni.so
Build my_core_jni x86
[1/3] Building CXX object CMakeFiles/my_core_jni.dir/jni.cpp.o
[2/3] Building CXX object CMakeFiles/my_core_jni.dir/profiler.cpp.o
[3/3] Linking CXX shared library /home/learner/my-android-app-boilerplate/lib-core/build/intermediates/cmake/release/obj/x86/libmy_core_jni.so
Build my_core_jni armeabi
[1/3] Building CXX object CMakeFiles/my_core_jni.dir/jni.cpp.o
[2/3] Building CXX object CMakeFiles/my_core_jni.dir/profiler.cpp.o
[3/3] Linking CXX shared library /home/learner/my-android-app-boilerplate/lib-core/build/intermediates/cmake/release/obj/armeabi/libmy_core_jni.so
Build my_core_jni x86_64
[1/3] Building CXX object CMakeFiles/my_core_jni.dir/jni.cpp.o
[2/3] Building CXX object CMakeFiles/my_core_jni.dir/profiler.cpp.o
[3/3] Linking CXX shared library /home/learner/my-android-app-boilerplate/lib-core/build/intermediates/cmake/release/obj/x86_64/libmy_core_jni.so
Build my_core_jni armeabi-v7a
[1/3] Building CXX object CMakeFiles/my_core_jni.dir/jni.cpp.o
[2/3] Building CXX object CMakeFiles/my_core_jni.dir/profiler.cpp.o
[3/3] Linking CXX shared library /home/learner/my-android-app-boilerplate/lib-core/build/intermediates/cmake/release/obj/armeabi-v7a/libmy_core_jni.so
:lib-core:mergeReleaseJniLibFolders
:lib-core:transformNativeLibsWithMergeJniLibsForRelease
:lib-core:transformNativeLibsWithStripDebugSymbolForRelease
:lib-core:transformNativeLibsWithSyncJniLibsForRelease
:lib-core:bundleRelease
:lib-dlib:preBuild UP-TO-DATE
:lib-dlib:preDebugBuild UP-TO-DATE
:lib-dlib:checkDebugManifest
:lib-dlib:preDebugAndroidTestBuild UP-TO-DATE
:lib-dlib:preDebugUnitTestBuild UP-TO-DATE
:lib-dlib:preReleaseBuild UP-TO-DATE
:lib-dlib:preReleaseUnitTestBuild UP-TO-DATE
:lib-dlib:prepareComAndroidSupportAnimatedVectorDrawable2531Library
:lib-dlib:prepareComAndroidSupportAppcompatV72531Library
:lib-dlib:prepareComAndroidSupportRecyclerviewV72531Library
:lib-dlib:prepareComAndroidSupportSupportCompat2531Library
:lib-dlib:prepareComAndroidSupportSupportCoreUi2531Library
:lib-dlib:prepareComAndroidSupportSupportCoreUtils2531Library
:lib-dlib:prepareComAndroidSupportSupportFragment2531Library
:lib-dlib:prepareComAndroidSupportSupportMediaCompat2531Library
:lib-dlib:prepareComAndroidSupportSupportV42531Library
:lib-dlib:prepareComAndroidSupportSupportVectorDrawable2531Library
:lib-protobuf:preBuild UP-TO-DATE
:lib-protobuf:preReleaseBuild UP-TO-DATE
:lib-protobuf:checkReleaseManifest
:lib-protobuf:prepareReleaseDependencies
:lib-protobuf:compileReleaseAidl
:lib-protobuf:compileLint
:lib-protobuf:copyReleaseLint UP-TO-DATE
:lib-protobuf:mergeReleaseShaders
:lib-protobuf:compileReleaseShaders
:lib-protobuf:generateReleaseAssets
:lib-protobuf:mergeReleaseAssets
:lib-protobuf:mergeReleaseProguardFiles UP-TO-DATE
:lib-protobuf:packageReleaseRenderscript UP-TO-DATE
:lib-protobuf:compileReleaseRenderscript
:lib-protobuf:generateReleaseResValues
:lib-protobuf:generateReleaseResources
:lib-protobuf:packageReleaseResources
:lib-protobuf:processReleaseManifest
:lib-protobuf:generateReleaseBuildConfig
:lib-protobuf:processReleaseResources
:lib-protobuf:generateReleaseSources
:lib-protobuf:incrementalReleaseJavaCompilationSafeguard
:lib-protobuf:javaPreCompileRelease
:lib-protobuf:compileReleaseJavaWithJavac
:lib-protobuf:processReleaseJavaRes UP-TO-DATE
:lib-protobuf:transformResourcesWithMergeJavaResForRelease
:lib-protobuf:transformClassesAndResourcesWithSyncLibJarsForRelease
:lib-protobuf:generateJsonModelRelease UP-TO-DATE
:lib-protobuf:externalNativeBuildRelease
Build protobuf_jni arm64-v8a
[1/2] Building CXX object CMakeFiles/protobuf_jni.dir/protobuf_util.cpp.o
[2/2] Linking CXX shared library /home/learner/my-android-app-boilerplate/lib-protobuf/build/intermediates/cmake/release/obj/arm64-v8a/libprotobuf_jni.so
Build protobuf_jni x86
[1/2] Building CXX object CMakeFiles/protobuf_jni.dir/protobuf_util.cpp.o
[2/2] Linking CXX shared library /home/learner/my-android-app-boilerplate/lib-protobuf/build/intermediates/cmake/release/obj/x86/libprotobuf_jni.so
Build protobuf_jni armeabi
[1/2] Building CXX object CMakeFiles/protobuf_jni.dir/protobuf_util.cpp.o
[2/2] Linking CXX shared library /home/learner/my-android-app-boilerplate/lib-protobuf/build/intermediates/cmake/release/obj/armeabi/libprotobuf_jni.so
Build protobuf_jni x86_64
[1/2] Building CXX object CMakeFiles/protobuf_jni.dir/protobuf_util.cpp.o
[2/2] Linking CXX shared library /home/learner/my-android-app-boilerplate/lib-protobuf/build/intermediates/cmake/release/obj/x86_64/libprotobuf_jni.so
Build protobuf_jni armeabi-v7a
[1/2] Building CXX object CMakeFiles/protobuf_jni.dir/protobuf_util.cpp.o
[2/2] Linking CXX shared library /home/learner/my-android-app-boilerplate/lib-protobuf/build/intermediates/cmake/release/obj/armeabi-v7a/libprotobuf_jni.so
:lib-protobuf:mergeReleaseJniLibFolders
:lib-protobuf:transformNativeLibsWithMergeJniLibsForRelease
:lib-protobuf:transformNativeLibsWithStripDebugSymbolForRelease
:lib-protobuf:transformNativeLibsWithSyncJniLibsForRelease
:lib-protobuf:bundleRelease
:lib-dlib:prepareDebugDependencies
:lib-dlib:compileDebugAidl
:lib-dlib:compileLint
:lib-dlib:copyDebugLint UP-TO-DATE
:lib-dlib:compileDebugRenderscript
:lib-dlib:generateDebugBuildConfig
:lib-dlib:generateDebugResValues
:lib-dlib:generateDebugResources
:lib-dlib:mergeDebugResources
:lib-dlib:processDebugManifest
:lib-dlib:processDebugResources
:lib-dlib:generateDebugSources
:lib-dlib:incrementalDebugJavaCompilationSafeguard
:lib-dlib:javaPreCompileDebug
:lib-dlib:compileDebugJavaWithJavac
:lib-dlib:compileDebugJavaWithJavac - is not incremental (e.g. outputs have changed, no previous execution, etc.).
Note: /home/learner/my-android-app-boilerplate/lib-dlib/src/main/java/com/my/jni/dlib/data/Messages.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
:lib-dlib:extractDebugAnnotations
:lib-dlib:mergeDebugShaders
:lib-dlib:compileDebugShaders
:lib-dlib:generateDebugAssets
:lib-dlib:mergeDebugAssets
:lib-dlib:mergeDebugProguardFiles UP-TO-DATE
:lib-dlib:packageDebugRenderscript UP-TO-DATE
:lib-dlib:packageDebugResources
:lib-dlib:processDebugJavaRes UP-TO-DATE
:lib-dlib:transformResourcesWithMergeJavaResForDebug
:lib-dlib:transformClassesAndResourcesWithSyncLibJarsForDebug
:lib-dlib:generateJsonModelDebug UP-TO-DATE
:lib-dlib:externalNativeBuildDebug
Build dlib_jni arm64-v8a
ninja: error: '/home/learner/my-android-app-boilerplate/lib-distribution/my_core_jni/lib/arm64-v8a/libmy_core_jni.so', needed by '/home/learner/my-android-app-boilerplate/lib-dlib/build/intermediates/cmake/debug/obj/arm64-v8a/libdlib_jni.so', missing and no known rule to make it
:lib-dlib:externalNativeBuildDebug FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':lib-dlib:externalNativeBuildDebug'.
> Build command failed.
Error while executing process /home/learner/Android/Sdk/cmake/3.6.3155560/bin/cmake with arguments {--build /home/learner/my-android-app-boilerplate/lib-dlib/.externalNativeBuild/cmake/debug/arm64-v8a --target dlib_jni}
ninja: error: '/home/learner/my-android-app-boilerplate/lib-distribution/my_core_jni/lib/arm64-v8a/libmy_core_jni.so', needed by '/home/learner/my-android-app-boilerplate/lib-dlib/build/intermediates/cmake/debug/obj/arm64-v8a/libdlib_jni.so', missing and no known rule to make it
BUILD FAILED
Total time: 17.425 secs
@vijay1131
Is lib-distribution
still empty? Can you try ./gradlew lib-core:assembleDebug && tree lib-distribution
(please install tree
executable by brew install tree
). I want to check out the structure of the generated lib-distribution
on your end.
Here is the result of tree lib-distribution
lib-distribution
├── dlib_jni
│ └── include
│ ├── dlib
│ │ ├── algs.h
│ │ ├── any
│ │ │ ├── any_abstract.h
│ │ │ ├── any_decision_function_abstract.h
│ │ │ ├── any_decision_function.h
│ │ │ ├── any_function_abstract.h
│ │ │ ├── any_function.h
│ │ │ ├── any_function_impl2.h
│ │ │ ├── any_function_impl.h
│ │ │ ├── any.h
│ │ │ ├── any_trainer_abstract.h
│ │ │ └── any_trainer.h
│ │ ├── any.h
│ │ ├── array
│ │ │ ├── array_kernel_abstract.h
│ │ │ ├── array_kernel.h
│ │ │ ├── array_tools_abstract.h
│ │ │ └── array_tools.h
│ │ ├── array2d
│ │ │ ├── array2d_generic_image.h
│ │ │ ├── array2d_kernel_abstract.h
│ │ │ ├── array2d_kernel.h
│ │ │ └── serialize_pixel_overloads.h
│ │ ├── array2d.h
│ │ ├── array.h
│ │ ├── assert.h
│ │ ├── base64
│ │ │ ├── base64_kernel_1.h
│ │ │ └── base64_kernel_abstract.h
│ │ ├── base64.h
│ │ ├── bayes_utils
│ │ │ ├── bayes_utils_abstract.h
│ │ │ └── bayes_utils.h
│ │ ├── bayes_utils.h
│ │ ├── bigint
│ │ │ ├── bigint_kernel_1.h
│ │ │ ├── bigint_kernel_2.h
│ │ │ ├── bigint_kernel_abstract.h
│ │ │ └── bigint_kernel_c.h
│ │ ├── bigint.h
│ │ ├── binary_search_tree
│ │ │ ├── binary_search_tree_kernel_1.h
│ │ │ ├── binary_search_tree_kernel_2.h
│ │ │ ├── binary_search_tree_kernel_abstract.h
│ │ │ └── binary_search_tree_kernel_c.h
│ │ ├── binary_search_tree.h
│ │ ├── bit_stream
│ │ │ ├── bit_stream_kernel_1.h
│ │ │ ├── bit_stream_kernel_abstract.h
│ │ │ ├── bit_stream_kernel_c.h
│ │ │ ├── bit_stream_multi_1.h
│ │ │ ├── bit_stream_multi_abstract.h
│ │ │ └── bit_stream_multi_c.h
│ │ ├── bit_stream.h
│ │ ├── bound_function_pointer
│ │ │ ├── bound_function_pointer_kernel_1.h
│ │ │ └── bound_function_pointer_kernel_abstract.h
│ │ ├── bound_function_pointer.h
│ │ ├── bridge
│ │ │ ├── bridge_abstract.h
│ │ │ └── bridge.h
│ │ ├── bridge.h
│ │ ├── bsp
│ │ │ ├── bsp_abstract.h
│ │ │ └── bsp.h
│ │ ├── bsp.h
│ │ ├── build-armeabi
│ │ │ ├── CMakeFiles
│ │ │ │ ├── 3.6.0-rc2
│ │ │ │ │ ├── CMakeCCompiler.cmake
│ │ │ │ │ ├── CMakeCXXCompiler.cmake
│ │ │ │ │ └── CMakeSystem.cmake
│ │ │ │ ├── CMakeDirectoryInformation.cmake
│ │ │ │ ├── dlib.dir
│ │ │ │ │ ├── cmake_clean.cmake
│ │ │ │ │ ├── cmake_clean_target.cmake
│ │ │ │ │ └── DependInfo.cmake
│ │ │ │ ├── dlib_shared.dir
│ │ │ │ │ ├── cmake_clean.cmake
│ │ │ │ │ └── DependInfo.cmake
│ │ │ │ ├── Export
│ │ │ │ │ └── lib
│ │ │ │ │ └── cmake
│ │ │ │ │ └── dlib
│ │ │ │ │ ├── dlib.cmake
│ │ │ │ │ └── dlib-debug.cmake
│ │ │ │ └── Makefile.cmake
│ │ │ ├── cmake_install.cmake
│ │ │ ├── config
│ │ │ │ ├── dlibConfig.cmake
│ │ │ │ └── dlibConfigVersion.cmake
│ │ │ ├── config.h
│ │ │ ├── cpp11_test_build
│ │ │ │ ├── CMakeFiles
│ │ │ │ │ ├── CMakeDirectoryInformation.cmake
│ │ │ │ │ ├── cpp11_test.dir
│ │ │ │ │ │ ├── cmake_clean.cmake
│ │ │ │ │ │ ├── cmake_clean_target.cmake
│ │ │ │ │ │ └── DependInfo.cmake
│ │ │ │ │ └── Makefile.cmake
│ │ │ │ └── cmake_install.cmake
│ │ │ └── revision.h
│ │ ├── byte_orderer
│ │ │ ├── byte_orderer_kernel_1.h
│ │ │ └── byte_orderer_kernel_abstract.h
│ │ ├── byte_orderer.h
│ │ ├── clustering
│ │ │ ├── bottom_up_cluster_abstract.h
│ │ │ ├── bottom_up_cluster.h
│ │ │ ├── chinese_whispers_abstract.h
│ │ │ ├── chinese_whispers.h
│ │ │ ├── modularity_clustering_abstract.h
│ │ │ ├── modularity_clustering.h
│ │ │ ├── spectral_cluster_abstract.h
│ │ │ └── spectral_cluster.h
│ │ ├── clustering.h
│ │ ├── cmake_utils
│ │ │ ├── add_global_compiler_switch.cmake
│ │ │ ├── tell_visual_studio_to_use_static_runtime.cmake
│ │ │ └── use_cpp_11.cmake
│ │ ├── cmd_line_parser
│ │ │ ├── cmd_line_parser_check_1.h
│ │ │ ├── cmd_line_parser_check_c.h
│ │ │ ├── cmd_line_parser_kernel_1.h
│ │ │ ├── cmd_line_parser_kernel_abstract.h
│ │ │ ├── cmd_line_parser_kernel_c.h
│ │ │ ├── cmd_line_parser_print_1.h
│ │ │ ├── get_option_abstract.h
│ │ │ └── get_option.h
│ │ ├── cmd_line_parser.h
│ │ ├── compress_stream
│ │ │ ├── compress_stream_kernel_1.h
│ │ │ ├── compress_stream_kernel_2.h
│ │ │ ├── compress_stream_kernel_3.h
│ │ │ └── compress_stream_kernel_abstract.h
│ │ ├── compress_stream.h
│ │ ├── conditioning_class
│ │ │ ├── conditioning_class_kernel_1.h
│ │ │ ├── conditioning_class_kernel_2.h
│ │ │ ├── conditioning_class_kernel_3.h
│ │ │ ├── conditioning_class_kernel_4.h
│ │ │ ├── conditioning_class_kernel_abstract.h
│ │ │ └── conditioning_class_kernel_c.h
│ │ ├── conditioning_class.h
│ │ ├── config.h
│ │ ├── config_reader
│ │ │ ├── config_reader_kernel_1.h
│ │ │ ├── config_reader_kernel_abstract.h
│ │ │ ├── config_reader_thread_safe_1.h
│ │ │ └── config_reader_thread_safe_abstract.h
│ │ ├── config_reader.h
│ │ ├── console_progress_indicator.h
│ │ ├── control
│ │ │ ├── approximate_linear_models_abstract.h
│ │ │ ├── approximate_linear_models.h
│ │ │ ├── lspi_abstract.h
│ │ │ ├── lspi.h
│ │ │ ├── mpc_abstract.h
│ │ │ └── mpc.h
│ │ ├── control.h
│ │ ├── cpp_pretty_printer
│ │ │ ├── cpp_pretty_printer_kernel_1.h
│ │ │ ├── cpp_pretty_printer_kernel_2.h
│ │ │ └── cpp_pretty_printer_kernel_abstract.h
│ │ ├── cpp_pretty_printer.h
│ │ ├── cpp_tokenizer
│ │ │ ├── cpp_tokenizer_kernel_1.h
│ │ │ ├── cpp_tokenizer_kernel_abstract.h
│ │ │ └── cpp_tokenizer_kernel_c.h
│ │ ├── cpp_tokenizer.h
│ │ ├── crc32
│ │ │ ├── crc32_kernel_1.h
│ │ │ └── crc32_kernel_abstract.h
│ │ ├── crc32.h
│ │ ├── data_io
│ │ │ ├── image_dataset_metadata.h
│ │ │ ├── libsvm_io_abstract.h
│ │ │ ├── libsvm_io.h
│ │ │ ├── load_image_dataset_abstract.h
│ │ │ ├── load_image_dataset.h
│ │ │ ├── mnist_abstract.h
│ │ │ └── mnist.h
│ │ ├── data_io.h
│ │ ├── directed_graph
│ │ │ ├── directed_graph_kernel_1.h
│ │ │ └── directed_graph_kernel_abstract.h
│ │ ├── directed_graph.h
│ │ ├── dir_nav
│ │ │ ├── dir_nav_extensions_abstract.h
│ │ │ ├── dir_nav_extensions.h
│ │ │ ├── dir_nav_kernel_1.h
│ │ │ ├── dir_nav_kernel_2.h
│ │ │ ├── dir_nav_kernel_abstract.h
│ │ │ ├── posix.h
│ │ │ └── windows.h
│ │ ├── dir_nav.h
│ │ ├── disjoint_subsets
│ │ │ ├── disjoint_subsets_abstract.h
│ │ │ └── disjoint_subsets.h
│ │ ├── disjoint_subsets.h
│ │ ├── dnn
│ │ │ ├── core_abstract.h
│ │ │ ├── core.h
│ │ │ ├── cpu_dlib.h
│ │ │ ├── cublas_dlibapi.h
│ │ │ ├── cuda_dlib.h
│ │ │ ├── cuda_errors.h
│ │ │ ├── cuda_utils.h
│ │ │ ├── cudnn_dlibapi.h
│ │ │ ├── curand_dlibapi.h
│ │ │ ├── gpu_data_abstract.h
│ │ │ ├── gpu_data.h
│ │ │ ├── input_abstract.h
│ │ │ ├── input.h
│ │ │ ├── layers_abstract.h
│ │ │ ├── layers.h
│ │ │ ├── loss_abstract.h
│ │ │ ├── loss.h
│ │ │ ├── solvers_abstract.h
│ │ │ ├── solvers.h
│ │ │ ├── tensor_abstract.h
│ │ │ ├── tensor.h
│ │ │ ├── tensor_tools.h
│ │ │ ├── trainer_abstract.h
│ │ │ ├── trainer.h
│ │ │ ├── utilities_abstract.h
│ │ │ ├── utilities.h
│ │ │ └── validation.h
│ │ ├── dnn.h
│ │ ├── enable_if.h
│ │ ├── entropy_decoder
│ │ │ ├── entropy_decoder_kernel_1.h
│ │ │ ├── entropy_decoder_kernel_2.h
│ │ │ ├── entropy_decoder_kernel_abstract.h
│ │ │ └── entropy_decoder_kernel_c.h
│ │ ├── entropy_decoder.h
│ │ ├── entropy_decoder_model
│ │ │ ├── entropy_decoder_model_kernel_1.h
│ │ │ ├── entropy_decoder_model_kernel_2.h
│ │ │ ├── entropy_decoder_model_kernel_3.h
│ │ │ ├── entropy_decoder_model_kernel_4.h
│ │ │ ├── entropy_decoder_model_kernel_5.h
│ │ │ ├── entropy_decoder_model_kernel_6.h
│ │ │ └── entropy_decoder_model_kernel_abstract.h
│ │ ├── entropy_decoder_model.h
│ │ ├── entropy_encoder
│ │ │ ├── entropy_encoder_kernel_1.h
│ │ │ ├── entropy_encoder_kernel_2.h
│ │ │ ├── entropy_encoder_kernel_abstract.h
│ │ │ └── entropy_encoder_kernel_c.h
│ │ ├── entropy_encoder.h
│ │ ├── entropy_encoder_model
│ │ │ ├── entropy_encoder_model_kernel_1.h
│ │ │ ├── entropy_encoder_model_kernel_2.h
│ │ │ ├── entropy_encoder_model_kernel_3.h
│ │ │ ├── entropy_encoder_model_kernel_4.h
│ │ │ ├── entropy_encoder_model_kernel_5.h
│ │ │ ├── entropy_encoder_model_kernel_6.h
│ │ │ ├── entropy_encoder_model_kernel_abstract.h
│ │ │ └── entropy_encoder_model_kernel_c.h
│ │ ├── entropy_encoder_model.h
│ │ ├── error.h
│ │ ├── external
│ │ │ ├── cblas
│ │ │ │ ├── cblas_f77.h
│ │ │ │ └── cblas.h
│ │ │ ├── libjpeg
│ │ │ │ ├── jchuff.h
│ │ │ │ ├── jconfig.h
│ │ │ │ ├── jdct.h
│ │ │ │ ├── jdhuff.h
│ │ │ │ ├── jerror.h
│ │ │ │ ├── jinclude.h
│ │ │ │ ├── jmemsys.h
│ │ │ │ ├── jmorecfg.h
│ │ │ │ ├── jpegint.h
│ │ │ │ ├── jpeglib.h
│ │ │ │ └── jversion.h
│ │ │ ├── libpng
│ │ │ │ ├── pngconf.h
│ │ │ │ ├── pngdebug.h
│ │ │ │ ├── png.h
│ │ │ │ ├── pnginfo.h
│ │ │ │ ├── pnglibconf.h
│ │ │ │ ├── pngpriv.h
│ │ │ │ └── pngstruct.h
│ │ │ └── zlib
│ │ │ ├── crc32.h
│ │ │ ├── deflate.h
│ │ │ ├── gzguts.h
│ │ │ ├── inffast.h
│ │ │ ├── inffixed.h
│ │ │ ├── inflate.h
│ │ │ ├── inftrees.h
│ │ │ ├── trees.h
│ │ │ ├── zconf.h
│ │ │ ├── zlib.h
│ │ │ └── zutil.h
│ │ ├── filtering
│ │ │ ├── kalman_filter_abstract.h
│ │ │ ├── kalman_filter.h
│ │ │ ├── rls_filter_abstract.h
│ │ │ └── rls_filter.h
│ │ ├── filtering.h
│ │ ├── float_details.h
│ │ ├── general_hash
│ │ │ ├── count_bits_abstract.h
│ │ │ ├── count_bits.h
│ │ │ ├── general_hash.h
│ │ │ ├── hash_abstract.h
│ │ │ ├── hash.h
│ │ │ ├── murmur_hash3_abstract.h
│ │ │ ├── murmur_hash3.h
│ │ │ ├── random_hashing_abstract.h
│ │ │ └── random_hashing.h
│ │ ├── geometry
│ │ │ ├── border_enumerator_abstract.h
│ │ │ ├── border_enumerator.h
│ │ │ ├── drectangle_abstract.h
│ │ │ ├── drectangle.h
│ │ │ ├── point_transforms_abstract.h
│ │ │ ├── point_transforms.h
│ │ │ ├── rectangle_abstract.h
│ │ │ ├── rectangle.h
│ │ │ ├── vector_abstract.h
│ │ │ └── vector.h
│ │ ├── geometry.h
│ │ ├── graph
│ │ │ ├── graph_kernel_1.h
│ │ │ └── graph_kernel_abstract.h
│ │ ├── graph_cuts
│ │ │ ├── find_max_factor_graph_potts_abstract.h
│ │ │ ├── find_max_factor_graph_potts.h
│ │ │ ├── general_flow_graph.h
│ │ │ ├── general_potts_problem.h
│ │ │ ├── graph_labeler_abstract.h
│ │ │ ├── graph_labeler.h
│ │ │ ├── min_cut_abstract.h
│ │ │ └── min_cut.h
│ │ ├── graph_cuts.h
│ │ ├── graph.h
│ │ ├── graph_utils
│ │ │ ├── edge_list_graphs_abstract.h
│ │ │ ├── edge_list_graphs.h
│ │ │ ├── find_k_nearest_neighbors_lsh_abstract.h
│ │ │ ├── find_k_nearest_neighbors_lsh.h
│ │ │ ├── function_objects_abstract.h
│ │ │ ├── function_objects.h
│ │ │ ├── graph_utils_abstract.h
│ │ │ ├── graph_utils.h
│ │ │ ├── ordered_sample_pair_abstract.h
│ │ │ ├── ordered_sample_pair.h
│ │ │ ├── sample_pair_abstract.h
│ │ │ └── sample_pair.h
│ │ ├── graph_utils.h
│ │ ├── graph_utils_threaded.h
│ │ ├── gui_core
│ │ │ ├── gui_core_kernel_1.h
│ │ │ ├── gui_core_kernel_2.h
│ │ │ ├── gui_core_kernel_abstract.h
│ │ │ ├── windows.h
│ │ │ └── xlib.h
│ │ ├── gui_core.h
│ │ ├── gui_widgets
│ │ │ ├── base_widgets_abstract.h
│ │ │ ├── base_widgets.h
│ │ │ ├── canvas_drawing_abstract.h
│ │ │ ├── canvas_drawing.h
│ │ │ ├── drawable_abstract.h
│ │ │ ├── drawable.h
│ │ │ ├── fonts_abstract.h
│ │ │ ├── fonts.h
│ │ │ ├── nativefont.h
│ │ │ ├── style_abstract.h
│ │ │ ├── style.h
│ │ │ ├── widgets_abstract.h
│ │ │ └── widgets.h
│ │ ├── gui_widgets.h
│ │ ├── hash.h
│ │ ├── hash_map
│ │ │ ├── hash_map_kernel_1.h
│ │ │ ├── hash_map_kernel_abstract.h
│ │ │ └── hash_map_kernel_c.h
│ │ ├── hash_map.h
│ │ ├── hash_set
│ │ │ ├── hash_set_kernel_1.h
│ │ │ ├── hash_set_kernel_abstract.h
│ │ │ └── hash_set_kernel_c.h
│ │ ├── hash_set.h
│ │ ├── hash_table
│ │ │ ├── hash_table_kernel_1.h
│ │ │ ├── hash_table_kernel_2.h
│ │ │ ├── hash_table_kernel_abstract.h
│ │ │ └── hash_table_kernel_c.h
│ │ ├── hash_table.h
│ │ ├── http_client
│ │ │ ├── http_client_abstract.h
│ │ │ └── http_client.h
│ │ ├── image_io.h
│ │ ├── image_keypoint
│ │ │ ├── binned_vector_feature_image_abstract.h
│ │ │ ├── binned_vector_feature_image.h
│ │ │ ├── build_separable_poly_filters.h
│ │ │ ├── draw_surf_points_abstract.h
│ │ │ ├── draw_surf_points.h
│ │ │ ├── fine_hog_image_abstract.h
│ │ │ ├── fine_hog_image.h
│ │ │ ├── hashed_feature_image_abstract.h
│ │ │ ├── hashed_feature_image.h
│ │ │ ├── hessian_pyramid_abstract.h
│ │ │ ├── hessian_pyramid.h
│ │ │ ├── hog_abstract.h
│ │ │ ├── hog.h
│ │ │ ├── nearest_neighbor_feature_image_abstract.h
│ │ │ ├── nearest_neighbor_feature_image.h
│ │ │ ├── poly_image_abstract.h
│ │ │ ├── poly_image.h
│ │ │ ├── surf_abstract.h
│ │ │ └── surf.h
│ │ ├── image_keypoint.h
│ │ ├── image_loader
│ │ │ ├── image_loader_abstract.h
│ │ │ ├── image_loader.h
│ │ │ ├── jpeg_loader_abstract.h
│ │ │ ├── jpeg_loader.h
│ │ │ ├── load_image_abstract.h
│ │ │ ├── load_image.h
│ │ │ ├── png_loader_abstract.h
│ │ │ └── png_loader.h
│ │ ├── image_processing
│ │ │ ├── box_overlap_testing_abstract.h
│ │ │ ├── box_overlap_testing.h
│ │ │ ├── correlation_tracker_abstract.h
│ │ │ ├── correlation_tracker.h
│ │ │ ├── detection_template_tools_abstract.h
│ │ │ ├── detection_template_tools.h
│ │ │ ├── frontal_face_detector_abstract.h
│ │ │ ├── frontal_face_detector.h
│ │ │ ├── full_object_detection_abstract.h
│ │ │ ├── full_object_detection.h
│ │ │ ├── generic_image.h
│ │ │ ├── object_detector_abstract.h
│ │ │ ├── object_detector.h
│ │ │ ├── remove_unobtainable_rectangles_abstract.h
│ │ │ ├── remove_unobtainable_rectangles.h
│ │ │ ├── render_face_detections_abstract.h
│ │ │ ├── render_face_detections.h
│ │ │ ├── scan_fhog_pyramid_abstract.h
│ │ │ ├── scan_fhog_pyramid.h
│ │ │ ├── scan_image_abstract.h
│ │ │ ├── scan_image_boxes_abstract.h
│ │ │ ├── scan_image_boxes.h
│ │ │ ├── scan_image_custom_abstract.h
│ │ │ ├── scan_image_custom.h
│ │ │ ├── scan_image.h
│ │ │ ├── scan_image_pyramid_abstract.h
│ │ │ ├── scan_image_pyramid.h
│ │ │ ├── scan_image_pyramid_tools_abstract.h
│ │ │ ├── scan_image_pyramid_tools.h
│ │ │ ├── setup_hashed_features_abstract.h
│ │ │ ├── setup_hashed_features.h
│ │ │ ├── shape_predictor_abstract.h
│ │ │ └── shape_predictor.h
│ │ ├── image_processing.h
│ │ ├── image_saver
│ │ │ ├── dng_shared.h
│ │ │ ├── image_saver_abstract.h
│ │ │ ├── image_saver.h
│ │ │ ├── save_jpeg_abstract.h
│ │ │ ├── save_jpeg.h
│ │ │ ├── save_png_abstract.h
│ │ │ └── save_png.h
│ │ ├── image_transforms
│ │ │ ├── assign_image_abstract.h
│ │ │ ├── assign_image.h
│ │ │ ├── colormaps_abstract.h
│ │ │ ├── colormaps.h
│ │ │ ├── draw_abstract.h
│ │ │ ├── draw.h
│ │ │ ├── edge_detector_abstract.h
│ │ │ ├── edge_detector.h
│ │ │ ├── equalize_histogram_abstract.h
│ │ │ ├── equalize_histogram.h
│ │ │ ├── fhog_abstract.h
│ │ │ ├── fhog.h
│ │ │ ├── hough_transform_abstract.h
│ │ │ ├── hough_transform.h
│ │ │ ├── image_pyramid_abstract.h
│ │ │ ├── image_pyramid.h
│ │ │ ├── integral_image_abstract.h
│ │ │ ├── integral_image.h
│ │ │ ├── interpolation_abstract.h
│ │ │ ├── interpolation.h
│ │ │ ├── label_connected_blobs_abstract.h
│ │ │ ├── label_connected_blobs.h
│ │ │ ├── lbp_abstract.h
│ │ │ ├── lbp.h
│ │ │ ├── morphological_operations_abstract.h
│ │ │ ├── morphological_operations.h
│ │ │ ├── random_color_transform_abstract.h
│ │ │ ├── random_color_transform.h
│ │ │ ├── random_cropper_abstract.h
│ │ │ ├── random_cropper.h
│ │ │ ├── segment_image_abstract.h
│ │ │ ├── segment_image.h
│ │ │ ├── spatial_filtering_abstract.h
│ │ │ ├── spatial_filtering.h
│ │ │ ├── thresholding_abstract.h
│ │ │ └── thresholding.h
│ │ ├── image_transforms.h
│ │ ├── interfaces
│ │ │ ├── cmd_line_parser_option.h
│ │ │ ├── enumerable.h
│ │ │ ├── map_pair.h
│ │ │ └── remover.h
│ │ ├── iosockstream
│ │ │ ├── iosockstream_abstract.h
│ │ │ └── iosockstream.h
│ │ ├── iosockstream.h
│ │ ├── is_kind.h
│ │ ├── linker
│ │ │ ├── linker_kernel_1.h
│ │ │ └── linker_kernel_abstract.h
│ │ ├── linker.h
│ │ ├── logger
│ │ │ ├── extra_logger_headers.h
│ │ │ ├── logger_config_file.h
│ │ │ ├── logger_kernel_1.h
│ │ │ └── logger_kernel_abstract.h
│ │ ├── logger.h
│ │ ├── lsh
│ │ │ ├── create_random_projection_hash_abstract.h
│ │ │ ├── create_random_projection_hash.h
│ │ │ ├── hashes_abstract.h
│ │ │ ├── hashes.h
│ │ │ ├── projection_hash_abstract.h
│ │ │ └── projection_hash.h
│ │ ├── lsh.h
│ │ ├── lz77_buffer
│ │ │ ├── lz77_buffer_kernel_1.h
│ │ │ ├── lz77_buffer_kernel_2.h
│ │ │ ├── lz77_buffer_kernel_abstract.h
│ │ │ └── lz77_buffer_kernel_c.h
│ │ ├── lz77_buffer.h
│ │ ├── lzp_buffer
│ │ │ ├── lzp_buffer_kernel_1.h
│ │ │ ├── lzp_buffer_kernel_2.h
│ │ │ ├── lzp_buffer_kernel_abstract.h
│ │ │ └── lzp_buffer_kernel_c.h
│ │ ├── lzp_buffer.h
│ │ ├── manifold_regularization
│ │ │ ├── linear_manifold_regularizer_abstract.h
│ │ │ └── linear_manifold_regularizer.h
│ │ ├── manifold_regularization.h
│ │ ├── map
│ │ │ ├── map_kernel_1.h
│ │ │ ├── map_kernel_abstract.h
│ │ │ └── map_kernel_c.h
│ │ ├── map.h
│ │ ├── matlab
│ │ │ ├── call_matlab.h
│ │ │ └── subprocess_stream.h
│ │ ├── matrix
│ │ │ ├── cblas_constants.h
│ │ │ ├── lapack
│ │ │ │ ├── fortran_id.h
│ │ │ │ ├── gees.h
│ │ │ │ ├── geev.h
│ │ │ │ ├── geqrf.h
│ │ │ │ ├── gesdd.h
│ │ │ │ ├── gesvd.h
│ │ │ │ ├── getrf.h
│ │ │ │ ├── ormqr.h
│ │ │ │ ├── potrf.h
│ │ │ │ ├── syev.h
│ │ │ │ └── syevr.h
│ │ │ ├── matrix_abstract.h
│ │ │ ├── matrix_assign_fwd.h
│ │ │ ├── matrix_assign.h
│ │ │ ├── matrix_blas_bindings.h
│ │ │ ├── matrix_cholesky.h
│ │ │ ├── matrix_conj_trans.h
│ │ │ ├── matrix_conv_abstract.h
│ │ │ ├── matrix_conv.h
│ │ │ ├── matrix_data_layout_abstract.h
│ │ │ ├── matrix_data_layout.h
│ │ │ ├── matrix_default_mul.h
│ │ │ ├── matrix_eigenvalue.h
│ │ │ ├── matrix_exp_abstract.h
│ │ │ ├── matrix_exp.h
│ │ │ ├── matrix_expressions.h
│ │ │ ├── matrix_fft_abstract.h
│ │ │ ├── matrix_fft.h
│ │ │ ├── matrix_fwd.h
│ │ │ ├── matrix_generic_image.h
│ │ │ ├── matrix.h
│ │ │ ├── matrix_la_abstract.h
│ │ │ ├── matrix_la.h
│ │ │ ├── matrix_lu.h
│ │ │ ├── matrix_mat_abstract.h
│ │ │ ├── matrix_mat.h
│ │ │ ├── matrix_math_functions_abstract.h
│ │ │ ├── matrix_math_functions.h
│ │ │ ├── matrix_op.h
│ │ │ ├── matrix_qr.h
│ │ │ ├── matrix_read_from_istream.h
│ │ │ ├── matrix_subexp_abstract.h
│ │ │ ├── matrix_subexp.h
│ │ │ ├── matrix_trsm.h
│ │ │ ├── matrix_utilities_abstract.h
│ │ │ ├── matrix_utilities.h
│ │ │ ├── symmetric_matrix_cache_abstract.h
│ │ │ └── symmetric_matrix_cache.h
│ │ ├── matrix.h
│ │ ├── md5
│ │ │ ├── md5_kernel_1.h
│ │ │ └── md5_kernel_abstract.h
│ │ ├── md5.h
│ │ ├── member_function_pointer
│ │ │ ├── make_mfp_abstract.h
│ │ │ ├── make_mfp.h
│ │ │ ├── member_function_pointer_kernel_1.h
│ │ │ └── member_function_pointer_kernel_abstract.h
│ │ ├── member_function_pointer.h
│ │ ├── memory_manager
│ │ │ ├── memory_manager_kernel_1.h
│ │ │ ├── memory_manager_kernel_2.h
│ │ │ ├── memory_manager_kernel_3.h
│ │ │ └── memory_manager_kernel_abstract.h
│ │ ├── memory_manager_global
│ │ │ ├── memory_manager_global_kernel_1.h
│ │ │ └── memory_manager_global_kernel_abstract.h
│ │ ├── memory_manager_global.h
│ │ ├── memory_manager.h
│ │ ├── memory_manager_stateless
│ │ │ ├── memory_manager_stateless_kernel_1.h
│ │ │ ├── memory_manager_stateless_kernel_2.h
│ │ │ └── memory_manager_stateless_kernel_abstract.h
│ │ ├── memory_manager_stateless.h
│ │ ├── misc_api
│ │ │ ├── misc_api_kernel_1.h
│ │ │ ├── misc_api_kernel_2.h
│ │ │ ├── misc_api_kernel_abstract.h
│ │ │ ├── misc_api_shared.h
│ │ │ ├── posix.h
│ │ │ └── windows.h
│ │ ├── misc_api.h
│ │ ├── mlp
│ │ │ ├── mlp_kernel_1.h
│ │ │ ├── mlp_kernel_abstract.h
│ │ │ └── mlp_kernel_c.h
│ │ ├── mlp.h
│ │ ├── noncopyable.h
│ │ ├── numerical_integration
│ │ │ ├── integrate_function_adapt_simpson_abstract.h
│ │ │ └── integrate_function_adapt_simpson.h
│ │ ├── numerical_integration.h
│ │ ├── numeric_constants.h
│ │ ├── opencv
│ │ │ ├── cv_image_abstract.h
│ │ │ ├── cv_image.h
│ │ │ ├── to_open_cv_abstract.h
│ │ │ └── to_open_cv.h
│ │ ├── opencv.h
│ │ ├── optimization
│ │ │ ├── elastic_net_abstract.h
│ │ │ ├── elastic_net.h
│ │ │ ├── find_max_factor_graph_nmplp_abstract.h
│ │ │ ├── find_max_factor_graph_nmplp.h
│ │ │ ├── find_max_factor_graph_viterbi_abstract.h
│ │ │ ├── find_max_factor_graph_viterbi.h
│ │ │ ├── find_max_parse_cky_abstract.h
│ │ │ ├── find_max_parse_cky.h
│ │ │ ├── find_optimal_parameters_abstract.h
│ │ │ ├── find_optimal_parameters.h
│ │ │ ├── max_cost_assignment_abstract.h
│ │ │ ├── max_cost_assignment.h
│ │ │ ├── max_sum_submatrix_abstract.h
│ │ │ ├── max_sum_submatrix.h
│ │ │ ├── optimization_abstract.h
│ │ │ ├── optimization_bobyqa_abstract.h
│ │ │ ├── optimization_bobyqa.h
│ │ │ ├── optimization.h
│ │ │ ├── optimization_least_squares_abstract.h
│ │ │ ├── optimization_least_squares.h
│ │ │ ├── optimization_line_search_abstract.h
│ │ │ ├── optimization_line_search.h
│ │ │ ├── optimization_oca_abstract.h
│ │ │ ├── optimization_oca.h
│ │ │ ├── optimization_search_strategies_abstract.h
│ │ │ ├── optimization_search_strategies.h
│ │ │ ├── optimization_solve_qp2_using_smo_abstract.h
│ │ │ ├── optimization_solve_qp2_using_smo.h
│ │ │ ├── optimization_solve_qp3_using_smo_abstract.h
│ │ │ ├── optimization_solve_qp3_using_smo.h
│ │ │ ├── optimization_solve_qp_using_smo_abstract.h
│ │ │ ├── optimization_solve_qp_using_smo.h
│ │ │ ├── optimization_stop_strategies_abstract.h
│ │ │ ├── optimization_stop_strategies.h
│ │ │ ├── optimization_trust_region_abstract.h
│ │ │ └── optimization_trust_region.h
│ │ ├── optimization.h
│ │ ├── pipe
│ │ │ ├── pipe_kernel_1.h
│ │ │ └── pipe_kernel_abstract.h
│ │ ├── pipe.h
│ │ ├── pixel.h
│ │ ├── platform.h
│ │ ├── python
│ │ │ ├── boost_python_utils.h
│ │ │ ├── numpy.h
│ │ │ ├── numpy_image.h
│ │ │ ├── pyassert.h
│ │ │ └── serialize_pickle.h
│ │ ├── python.h
│ │ ├── quantum_computing
│ │ │ ├── quantum_computing_abstract.h
│ │ │ └── quantum_computing.h
│ │ ├── quantum_computing.h
│ │ ├── queue
│ │ │ ├── queue_kernel_1.h
│ │ │ ├── queue_kernel_2.h
│ │ │ ├── queue_kernel_abstract.h
│ │ │ ├── queue_kernel_c.h
│ │ │ ├── queue_sort_1.h
│ │ │ └── queue_sort_abstract.h
│ │ ├── queue.h
│ │ ├── rand
│ │ │ ├── mersenne_twister.h
│ │ │ ├── rand_kernel_1.h
│ │ │ └── rand_kernel_abstract.h
│ │ ├── rand.h
│ │ ├── reference_counter
│ │ │ ├── reference_counter_kernel_1.h
│ │ │ └── reference_counter_kernel_abstract.h
│ │ ├── reference_counter.h
│ │ ├── ref.h
│ │ ├── revision.h
│ │ ├── sequence
│ │ │ ├── sequence_compare_1.h
│ │ │ ├── sequence_compare_abstract.h
│ │ │ ├── sequence_kernel_1.h
│ │ │ ├── sequence_kernel_2.h
│ │ │ ├── sequence_kernel_abstract.h
│ │ │ ├── sequence_kernel_c.h
│ │ │ ├── sequence_sort_1.h
│ │ │ ├── sequence_sort_2.h
│ │ │ └── sequence_sort_abstract.h
│ │ ├── sequence.h
│ │ ├── serialize.h
│ │ ├── server
│ │ │ ├── server_http_abstract.h
│ │ │ ├── server_http.h
│ │ │ ├── server_iostream_abstract.h
│ │ │ ├── server_iostream.h
│ │ │ ├── server_kernel_abstract.h
│ │ │ └── server_kernel.h
│ │ ├── server.h
│ │ ├── set
│ │ │ ├── set_compare_1.h
│ │ │ ├── set_compare_abstract.h
│ │ │ ├── set_kernel_1.h
│ │ │ ├── set_kernel_abstract.h
│ │ │ └── set_kernel_c.h
│ │ ├── set.h
│ │ ├── set_utils
│ │ │ ├── set_utils_abstract.h
│ │ │ └── set_utils.h
│ │ ├── set_utils.h
│ │ ├── simd
│ │ │ ├── simd4f.h
│ │ │ ├── simd4i.h
│ │ │ ├── simd8f.h
│ │ │ ├── simd8i.h
│ │ │ └── simd_check.h
│ │ ├── simd.h
│ │ ├── sliding_buffer
│ │ │ ├── circular_buffer_abstract.h
│ │ │ ├── circular_buffer.h
│ │ │ ├── sliding_buffer_kernel_1.h
│ │ │ ├── sliding_buffer_kernel_abstract.h
│ │ │ └── sliding_buffer_kernel_c.h
│ │ ├── sliding_buffer.h
│ │ ├── smart_pointers
│ │ │ ├── scoped_ptr_abstract.h
│ │ │ ├── scoped_ptr.h
│ │ │ ├── shared_ptr_abstract.h
│ │ │ ├── shared_ptr.h
│ │ │ ├── shared_ptr_thread_safe_abstract.h
│ │ │ ├── shared_ptr_thread_safe.h
│ │ │ ├── weak_ptr_abstract.h
│ │ │ └── weak_ptr.h
│ │ ├── smart_pointers.h
│ │ ├── smart_pointers_thread_safe.h
│ │ ├── sockets
│ │ │ ├── posix.h
│ │ │ ├── sockets_extensions_abstract.h
│ │ │ ├── sockets_extensions.h
│ │ │ ├── sockets_kernel_1.h
│ │ │ ├── sockets_kernel_2.h
│ │ │ ├── sockets_kernel_abstract.h
│ │ │ └── windows.h
│ │ ├── sockets.h
│ │ ├── sockstreambuf
│ │ │ ├── sockstreambuf_abstract.h
│ │ │ ├── sockstreambuf.h
│ │ │ └── sockstreambuf_unbuffered.h
│ │ ├── sockstreambuf.h
│ │ ├── sort.h
│ │ ├── sparse_vector.h
│ │ ├── sqlite
│ │ │ ├── sqlite_abstract.h
│ │ │ ├── sqlite.h
│ │ │ ├── sqlite_tools_abstract.h
│ │ │ └── sqlite_tools.h
│ │ ├── sqlite.h
│ │ ├── stack
│ │ │ ├── stack_kernel_1.h
│ │ │ ├── stack_kernel_abstract.h
│ │ │ └── stack_kernel_c.h
│ │ ├── stack.h
│ │ ├── stack_trace.h
│ │ ├── static_map
│ │ │ ├── static_map_kernel_1.h
│ │ │ ├── static_map_kernel_abstract.h
│ │ │ └── static_map_kernel_c.h
│ │ ├── static_map.h
│ │ ├── static_set
│ │ │ ├── static_set_compare_1.h
│ │ │ ├── static_set_compare_abstract.h
│ │ │ ├── static_set_kernel_1.h
│ │ │ ├── static_set_kernel_abstract.h
│ │ │ └── static_set_kernel_c.h
│ │ ├── static_set.h
│ │ ├── statistics
│ │ │ ├── average_precision_abstract.h
│ │ │ ├── average_precision.h
│ │ │ ├── cca_abstract.h
│ │ │ ├── cca.h
│ │ │ ├── dpca_abstract.h
│ │ │ ├── dpca.h
│ │ │ ├── image_feature_sampling_abstract.h
│ │ │ ├── image_feature_sampling.h
│ │ │ ├── lda_abstract.h
│ │ │ ├── lda.h
│ │ │ ├── random_subset_selector_abstract.h
│ │ │ ├── random_subset_selector.h
│ │ │ ├── running_gradient_abstract.h
│ │ │ ├── running_gradient.h
│ │ │ ├── sammon_abstract.h
│ │ │ ├── sammon.h
│ │ │ ├── statistics_abstract.h
│ │ │ ├── statistics.h
│ │ │ ├── vector_normalizer_frobmetric_abstract.h
│ │ │ └── vector_normalizer_frobmetric.h
│ │ ├── statistics.h
│ │ ├── std_allocator.h
│ │ ├── stl_checked
│ │ │ ├── std_vector_c_abstract.h
│ │ │ └── std_vector_c.h
│ │ ├── stl_checked.h
│ │ ├── string
│ │ │ ├── string_abstract.h
│ │ │ └── string.h
│ │ ├── string.h
│ │ ├── svm
│ │ │ ├── active_learning_abstract.h
│ │ │ ├── active_learning.h
│ │ │ ├── assignment_function_abstract.h
│ │ │ ├── assignment_function.h
│ │ │ ├── cross_validate_assignment_trainer_abstract.h
│ │ │ ├── cross_validate_assignment_trainer.h
│ │ │ ├── cross_validate_graph_labeling_trainer_abstract.h
│ │ │ ├── cross_validate_graph_labeling_trainer.h
│ │ │ ├── cross_validate_multiclass_trainer_abstract.h
│ │ │ ├── cross_validate_multiclass_trainer.h
│ │ │ ├── cross_validate_object_detection_trainer_abstract.h
│ │ │ ├── cross_validate_object_detection_trainer.h
│ │ │ ├── cross_validate_regression_trainer_abstract.h
│ │ │ ├── cross_validate_regression_trainer.h
│ │ │ ├── cross_validate_sequence_labeler_abstract.h
│ │ │ ├── cross_validate_sequence_labeler.h
│ │ │ ├── cross_validate_sequence_segmenter_abstract.h
│ │ │ ├── cross_validate_sequence_segmenter.h
│ │ │ ├── cross_validate_track_association_trainer_abstract.h
│ │ │ ├── cross_validate_track_association_trainer.h
│ │ │ ├── empirical_kernel_map_abstract.h
│ │ │ ├── empirical_kernel_map.h
│ │ │ ├── feature_ranking_abstract.h
│ │ │ ├── feature_ranking.h
│ │ │ ├── function_abstract.h
│ │ │ ├── function.h
│ │ │ ├── kcentroid_abstract.h
│ │ │ ├── kcentroid.h
│ │ │ ├── kcentroid_overloads.h
│ │ │ ├── kernel_abstract.h
│ │ │ ├── kernel.h
│ │ │ ├── kernel_matrix_abstract.h
│ │ │ ├── kernel_matrix.h
│ │ │ ├── kkmeans_abstract.h
│ │ │ ├── kkmeans.h
│ │ │ ├── krls_abstract.h
│ │ │ ├── krls.h
│ │ │ ├── krr_trainer_abstract.h
│ │ │ ├── krr_trainer.h
│ │ │ ├── linearly_independent_subset_finder_abstract.h
│ │ │ ├── linearly_independent_subset_finder.h
│ │ │ ├── multiclass_tools_abstract.h
│ │ │ ├── multiclass_tools.h
│ │ │ ├── null_df.h
│ │ │ ├── null_trainer_abstract.h
│ │ │ ├── null_trainer.h
│ │ │ ├── num_nonnegative_weights.h
│ │ │ ├── one_vs_all_decision_function_abstract.h
│ │ │ ├── one_vs_all_decision_function.h
│ │ │ ├── one_vs_all_trainer_abstract.h
│ │ │ ├── one_vs_all_trainer.h
│ │ │ ├── one_vs_one_decision_function_abstract.h
│ │ │ ├── one_vs_one_decision_function.h
│ │ │ ├── one_vs_one_trainer_abstract.h
│ │ │ ├── one_vs_one_trainer.h
│ │ │ ├── pegasos_abstract.h
│ │ │ ├── pegasos.h
│ │ │ ├── ranking_tools_abstract.h
│ │ │ ├── ranking_tools.h
│ │ │ ├── rbf_network_abstract.h
│ │ │ ├── rbf_network.h
│ │ │ ├── reduced_abstract.h
│ │ │ ├── reduced.h
│ │ │ ├── rls_abstract.h
│ │ │ ├── rls.h
│ │ │ ├── roc_trainer_abstract.h
│ │ │ ├── roc_trainer.h
│ │ │ ├── rr_trainer_abstract.h
│ │ │ ├── rr_trainer.h
│ │ │ ├── rvm_abstract.h
│ │ │ ├── rvm.h
│ │ │ ├── sequence_labeler_abstract.h
│ │ │ ├── sequence_labeler.h
│ │ │ ├── sequence_segmenter_abstract.h
│ │ │ ├── sequence_segmenter.h
│ │ │ ├── simplify_linear_decision_function_abstract.h
│ │ │ ├── simplify_linear_decision_function.h
│ │ │ ├── sort_basis_vectors_abstract.h
│ │ │ ├── sort_basis_vectors.h
│ │ │ ├── sparse_kernel_abstract.h
│ │ │ ├── sparse_kernel.h
│ │ │ ├── sparse_vector_abstract.h
│ │ │ ├── sparse_vector.h
│ │ │ ├── structural_assignment_trainer_abstract.h
│ │ │ ├── structural_assignment_trainer.h
│ │ │ ├── structural_graph_labeling_trainer_abstract.h
│ │ │ ├── structural_graph_labeling_trainer.h
│ │ │ ├── structural_object_detection_trainer_abstract.h
│ │ │ ├── structural_object_detection_trainer.h
│ │ │ ├── structural_sequence_labeling_trainer_abstract.h
│ │ │ ├── structural_sequence_labeling_trainer.h
│ │ │ ├── structural_sequence_segmentation_trainer_abstract.h
│ │ │ ├── structural_sequence_segmentation_trainer.h
│ │ │ ├── structural_svm_assignment_problem_abstract.h
│ │ │ ├── structural_svm_assignment_problem.h
│ │ │ ├── structural_svm_distributed_abstract.h
│ │ │ ├── structural_svm_distributed.h
│ │ │ ├── structural_svm_graph_labeling_problem_abstract.h
│ │ │ ├── structural_svm_graph_labeling_problem.h
│ │ │ ├── structural_svm_object_detection_problem_abstract.h
│ │ │ ├── structural_svm_object_detection_problem.h
│ │ │ ├── structural_svm_problem_abstract.h
│ │ │ ├── structural_svm_problem.h
│ │ │ ├── structural_svm_problem_threaded_abstract.h
│ │ │ ├── structural_svm_problem_threaded.h
│ │ │ ├── structural_svm_sequence_labeling_problem_abstract.h
│ │ │ ├── structural_svm_sequence_labeling_problem.h
│ │ │ ├── structural_track_association_trainer_abstract.h
│ │ │ ├── structural_track_association_trainer.h
│ │ │ ├── svm_abstract.h
│ │ │ ├── svm_c_ekm_trainer_abstract.h
│ │ │ ├── svm_c_ekm_trainer.h
│ │ │ ├── svm_c_linear_dcd_trainer_abstract.h
│ │ │ ├── svm_c_linear_dcd_trainer.h
│ │ │ ├── svm_c_linear_trainer_abstract.h
│ │ │ ├── svm_c_linear_trainer.h
│ │ │ ├── svm_c_trainer_abstract.h
│ │ │ ├── svm_c_trainer.h
│ │ │ ├── svm.h
│ │ │ ├── svm_multiclass_linear_trainer_abstract.h
│ │ │ ├── svm_multiclass_linear_trainer.h
│ │ │ ├── svm_nu_trainer_abstract.h
│ │ │ ├── svm_nu_trainer.h
│ │ │ ├── svm_one_class_trainer_abstract.h
│ │ │ ├── svm_one_class_trainer.h
│ │ │ ├── svm_rank_trainer_abstract.h
│ │ │ ├── svm_rank_trainer.h
│ │ │ ├── svm_threaded_abstract.h
│ │ │ ├── svm_threaded.h
│ │ │ ├── svr_linear_trainer_abstract.h
│ │ │ ├── svr_linear_trainer.h
│ │ │ ├── svr_trainer_abstract.h
│ │ │ ├── svr_trainer.h
│ │ │ ├── track_association_function_abstract.h
│ │ │ └── track_association_function.h
│ │ ├── svm.h
│ │ ├── svm_threaded.h
│ │ ├── sync_extension
│ │ │ ├── sync_extension_kernel_1.h
│ │ │ └── sync_extension_kernel_abstract.h
│ │ ├── sync_extension.h
│ │ ├── test
│ │ │ ├── binary_search_tree.h
│ │ │ ├── checkerboard.h
│ │ │ ├── cmd_line_parser.h
│ │ │ ├── conditioning_class.h
│ │ │ ├── create_iris_datafile.h
│ │ │ ├── optimization_test_functions.h
│ │ │ └── tester.h
│ │ ├── threads
│ │ │ ├── async_abstract.h
│ │ │ ├── async.h
│ │ │ ├── auto_mutex_extension_abstract.h
│ │ │ ├── auto_mutex_extension.h
│ │ │ ├── auto_unlock_extension_abstract.h
│ │ │ ├── auto_unlock_extension.h
│ │ │ ├── create_new_thread_extension_abstract.h
│ │ │ ├── create_new_thread_extension.h
│ │ │ ├── multithreaded_object_extension_abstract.h
│ │ │ ├── multithreaded_object_extension.h
│ │ │ ├── parallel_for_extension_abstract.h
│ │ │ ├── parallel_for_extension.h
│ │ │ ├── posix.h
│ │ │ ├── read_write_mutex_extension_abstract.h
│ │ │ ├── read_write_mutex_extension.h
│ │ │ ├── rmutex_extension_abstract.h
│ │ │ ├── rmutex_extension.h
│ │ │ ├── rsignaler_extension_abstract.h
│ │ │ ├── rsignaler_extension.h
│ │ │ ├── threaded_object_extension_abstract.h
│ │ │ ├── threaded_object_extension.h
│ │ │ ├── thread_function_extension_abstract.h
│ │ │ ├── thread_function_extension.h
│ │ │ ├── thread_pool_extension_abstract.h
│ │ │ ├── thread_pool_extension.h
│ │ │ ├── threads_kernel_1.h
│ │ │ ├── threads_kernel_2.h
│ │ │ ├── threads_kernel_abstract.h
│ │ │ ├── threads_kernel.h
│ │ │ ├── threads_kernel_shared.h
│ │ │ ├── thread_specific_data_extension_abstract.h
│ │ │ ├── thread_specific_data_extension.h
│ │ │ └── windows.h
│ │ ├── threads.h
│ │ ├── timeout
│ │ │ ├── timeout_abstract.h
│ │ │ └── timeout.h
│ │ ├── timeout.h
│ │ ├── timer
│ │ │ ├── timer_abstract.h
│ │ │ ├── timer.h
│ │ │ └── timer_heavy.h
│ │ ├── timer.h
│ │ ├── time_this.h
│ │ ├── timing.h
│ │ ├── tokenizer
│ │ │ ├── tokenizer_kernel_1.h
│ │ │ ├── tokenizer_kernel_abstract.h
│ │ │ └── tokenizer_kernel_c.h
│ │ ├── tokenizer.h
│ │ ├── tuple
│ │ │ ├── tuple_abstract.h
│ │ │ └── tuple.h
│ │ ├── tuple.h
│ │ ├── type_safe_union
│ │ │ ├── type_safe_union_kernel_abstract.h
│ │ │ └── type_safe_union_kernel.h
│ │ ├── type_safe_union.h
│ │ ├── uintn.h
│ │ ├── unicode
│ │ │ ├── unicode_abstract.h
│ │ │ └── unicode.h
│ │ ├── unicode.h
│ │ ├── unordered_pair.h
│ │ ├── vectorstream
│ │ │ ├── unserialize_abstract.h
│ │ │ ├── unserialize.h
│ │ │ ├── vectorstream_abstract.h
│ │ │ └── vectorstream.h
│ │ ├── vectorstream.h
│ │ ├── windows_magic.h
│ │ ├── xml_parser
│ │ │ ├── xml_parser_kernel_1.h
│ │ │ ├── xml_parser_kernel_abstract.h
│ │ │ └── xml_parser_kernel_interfaces.h
│ │ └── xml_parser.h
│ └── my
│ └── dlib
│ └── data
│ └── messages.pb.h
├── my_core_jni
│ ├── include
│ │ └── my
│ │ ├── jni.h
│ │ └── profiler.h
│ └── lib
│ ├── arm64-v8a
│ ├── armeabi
│ ├── armeabi-v7a
│ ├── x86
│ └── x86_64
├── protobuf_jni
│ ├── include
│ │ ├── google
│ │ │ └── protobuf
│ │ │ ├── any.h
│ │ │ ├── any.pb.h
│ │ │ ├── any.proto
│ │ │ ├── api.pb.h
│ │ │ ├── api.proto
│ │ │ ├── arena.h
│ │ │ ├── arenastring.h
│ │ │ ├── compiler
│ │ │ │ ├── code_generator.h
│ │ │ │ ├── command_line_interface.h
│ │ │ │ ├── cpp
│ │ │ │ │ └── cpp_generator.h
│ │ │ │ ├── csharp
│ │ │ │ │ ├── csharp_generator.h
│ │ │ │ │ └── csharp_names.h
│ │ │ │ ├── importer.h
│ │ │ │ ├── java
│ │ │ │ │ ├── java_generator.h
│ │ │ │ │ └── java_names.h
│ │ │ │ ├── javanano
│ │ │ │ │ └── javanano_generator.h
│ │ │ │ ├── js
│ │ │ │ │ ├── js_generator.h
│ │ │ │ │ └── well_known_types_embed.h
│ │ │ │ ├── objectivec
│ │ │ │ │ ├── objectivec_generator.h
│ │ │ │ │ └── objectivec_helpers.h
│ │ │ │ ├── parser.h
│ │ │ │ ├── php
│ │ │ │ │ └── php_generator.h
│ │ │ │ ├── plugin.h
│ │ │ │ ├── plugin.pb.h
│ │ │ │ ├── plugin.proto
│ │ │ │ ├── python
│ │ │ │ │ └── python_generator.h
│ │ │ │ └── ruby
│ │ │ │ └── ruby_generator.h
│ │ │ ├── descriptor_database.h
│ │ │ ├── descriptor.h
│ │ │ ├── descriptor.pb.h
│ │ │ ├── descriptor.proto
│ │ │ ├── duration.pb.h
│ │ │ ├── duration.proto
│ │ │ ├── dynamic_message.h
│ │ │ ├── empty.pb.h
│ │ │ ├── empty.proto
│ │ │ ├── extension_set.h
│ │ │ ├── field_mask.pb.h
│ │ │ ├── field_mask.proto
│ │ │ ├── generated_enum_reflection.h
│ │ │ ├── generated_enum_util.h
│ │ │ ├── generated_message_reflection.h
│ │ │ ├── generated_message_util.h
│ │ │ ├── has_bits.h
│ │ │ ├── io
│ │ │ │ ├── coded_stream.h
│ │ │ │ ├── gzip_stream.h
│ │ │ │ ├── printer.h
│ │ │ │ ├── strtod.h
│ │ │ │ ├── tokenizer.h
│ │ │ │ ├── zero_copy_stream.h
│ │ │ │ ├── zero_copy_stream_impl.h
│ │ │ │ └── zero_copy_stream_impl_lite.h
│ │ │ ├── map_entry.h
│ │ │ ├── map_entry_lite.h
│ │ │ ├── map_field.h
│ │ │ ├── map_field_inl.h
│ │ │ ├── map_field_lite.h
│ │ │ ├── map.h
│ │ │ ├── map_type_handler.h
│ │ │ ├── message.h
│ │ │ ├── message_lite.h
│ │ │ ├── metadata.h
│ │ │ ├── reflection.h
│ │ │ ├── reflection_ops.h
│ │ │ ├── repeated_field.h
│ │ │ ├── service.h
│ │ │ ├── source_context.pb.h
│ │ │ ├── source_context.proto
│ │ │ ├── struct.pb.h
│ │ │ ├── struct.proto
│ │ │ ├── stubs
│ │ │ │ ├── atomicops.h
│ │ │ │ ├── atomicops_internals_arm64_gcc.h
│ │ │ │ ├── atomicops_internals_arm_gcc.h
│ │ │ │ ├── atomicops_internals_arm_qnx.h
│ │ │ │ ├── atomicops_internals_atomicword_compat.h
│ │ │ │ ├── atomicops_internals_generic_c11_atomic.h
│ │ │ │ ├── atomicops_internals_generic_gcc.h
│ │ │ │ ├── atomicops_internals_macosx.h
│ │ │ │ ├── atomicops_internals_mips_gcc.h
│ │ │ │ ├── atomicops_internals_power.h
│ │ │ │ ├── atomicops_internals_ppc_gcc.h
│ │ │ │ ├── atomicops_internals_solaris.h
│ │ │ │ ├── atomicops_internals_tsan.h
│ │ │ │ ├── atomicops_internals_x86_gcc.h
│ │ │ │ ├── atomicops_internals_x86_msvc.h
│ │ │ │ ├── atomic_sequence_num.h
│ │ │ │ ├── bytestream.h
│ │ │ │ ├── callback.h
│ │ │ │ ├── casts.h
│ │ │ │ ├── common.h
│ │ │ │ ├── fastmem.h
│ │ │ │ ├── hash.h
│ │ │ │ ├── logging.h
│ │ │ │ ├── macros.h
│ │ │ │ ├── mutex.h
│ │ │ │ ├── once.h
│ │ │ │ ├── platform_macros.h
│ │ │ │ ├── port.h
│ │ │ │ ├── scoped_ptr.h
│ │ │ │ ├── shared_ptr.h
│ │ │ │ ├── singleton.h
│ │ │ │ ├── status.h
│ │ │ │ ├── stl_util.h
│ │ │ │ ├── stringpiece.h
│ │ │ │ ├── template_util.h
│ │ │ │ └── type_traits.h
│ │ │ ├── text_format.h
│ │ │ ├── timestamp.pb.h
│ │ │ ├── timestamp.proto
│ │ │ ├── type.pb.h
│ │ │ ├── type.proto
│ │ │ ├── unknown_field_set.h
│ │ │ ├── util
│ │ │ │ ├── field_comparator.h
│ │ │ │ ├── field_mask_util.h
│ │ │ │ ├── json_util.h
│ │ │ │ ├── message_differencer.h
│ │ │ │ ├── time_util.h
│ │ │ │ ├── type_resolver.h
│ │ │ │ └── type_resolver_util.h
│ │ │ ├── wire_format.h
│ │ │ ├── wire_format_lite.h
│ │ │ ├── wire_format_lite_inl.h
│ │ │ ├── wrappers.pb.h
│ │ │ └── wrappers.proto
│ │ └── my
│ │ └── protobuf_util.h
│ └── lib
│ ├── arm64-v8a
│ │ └── libprotobuf-lite-3.2.0.so
│ ├── armeabi
│ │ └── libprotobuf-lite-3.2.0.so
│ ├── armeabi-v7a
│ │ └── libprotobuf-lite-3.2.0.so
│ ├── x86
│ │ └── libprotobuf-lite-3.2.0.so
│ └── x86_64
│ └── libprotobuf-lite-3.2.0.so
└── tensorflow_jni
└── include
├── my
│ ├── rgb2yuv.h
│ └── yuv2rgb.h
└── tensorflow
└── include
└── org
└── tensorflow
└── contrib
└── android
└── tensorflow_inference_jni.h
@vijay1131
Ok, it seems like the *.so
files are not copied. Would you check out the latest master
again (git pull origin master
) and do rm -rf lib-distribution && ./gradlew clean lib-core:assembleDebug && tree lib-distribution
again for me? I want to make sure if it's the different CMake version would have different copy behavior.
Here is the log for clean
learner@deep:~/Smartbeing/my-android-app-boilerplate$ ./gradlew clean lib-core:assembleDebug
Incremental java compilation is an incubating feature.
The Task.leftShift(Closure) method has been deprecated and is scheduled to be removed in Gradle 5.0. Please use Task.doLast(Action) instead.
:clean UP-TO-DATE
:app:clean
:demo-dlib:clean
:demo-doodle:clean
:demo-news-feed:clean
:demo-widget:clean
:lib-component:clean
:lib-core:externalNativeBuildCleanDebug
Clean my_core_jni armeabi
Cleaning... 3 files.
Clean my_core_jni armeabi-v7a
Cleaning... 3 files.
Clean my_core_jni arm64-v8a
Cleaning... 3 files.
Clean my_core_jni x86
Cleaning... 3 files.
Clean my_core_jni x86_64
Cleaning... 3 files.
:lib-core:externalNativeBuildCleanRelease
Clean my_core_jni armeabi
Cleaning... 0 files.
Clean my_core_jni armeabi-v7a
Cleaning... 0 files.
Clean my_core_jni arm64-v8a
Cleaning... 0 files.
Clean my_core_jni x86
Cleaning... 0 files.
Clean my_core_jni x86_64
Cleaning... 0 files.
:lib-core:clean
:lib-dlib:externalNativeBuildCleanDebug
Clean dlib_jni armeabi,my_core_jni armeabi,dlib armeabi,protobuf armeabi
Cleaning... 0 files.
Clean dlib_jni armeabi-v7a,my_core_jni armeabi-v7a,dlib armeabi-v7a,protobuf armeabi-v7a
Cleaning... 0 files.
Clean protobuf arm64-v8a,my_core_jni arm64-v8a,dlib_jni arm64-v8a,dlib arm64-v8a
Cleaning... 0 files.
Clean protobuf x86,dlib_jni x86,dlib x86,my_core_jni x86
Cleaning... 0 files.
Clean dlib x86_64,dlib_jni x86_64,my_core_jni x86_64,protobuf x86_64
Cleaning... 0 files.
:lib-dlib:externalNativeBuildCleanRelease
Clean dlib_jni armeabi,my_core_jni armeabi,dlib armeabi,protobuf armeabi
Cleaning... 0 files.
Clean dlib_jni armeabi-v7a,my_core_jni armeabi-v7a,dlib armeabi-v7a,protobuf armeabi-v7a
Cleaning... 0 files.
Clean protobuf arm64-v8a,my_core_jni arm64-v8a,dlib_jni arm64-v8a,dlib arm64-v8a
Cleaning... 0 files.
Clean protobuf x86,dlib_jni x86,dlib x86,my_core_jni x86
Cleaning... 0 files.
Clean dlib x86_64,dlib_jni x86_64,my_core_jni x86_64,protobuf x86_64
Cleaning... 0 files.
:lib-dlib:clean
:lib-protobuf:externalNativeBuildCleanDebug
Clean protobuf armeabi,protobuf_jni armeabi
Cleaning... 0 files.
Clean protobuf_jni armeabi-v7a,protobuf armeabi-v7a
Cleaning... 0 files.
Clean protobuf arm64-v8a,protobuf_jni arm64-v8a
Cleaning... 0 files.
Clean protobuf x86,protobuf_jni x86
Cleaning... 0 files.
Clean protobuf_jni x86_64,protobuf x86_64
Cleaning... 0 files.
:lib-protobuf:externalNativeBuildCleanRelease
Clean protobuf armeabi,protobuf_jni armeabi
Cleaning... 0 files.
Clean protobuf_jni armeabi-v7a,protobuf armeabi-v7a
Cleaning... 0 files.
Clean protobuf arm64-v8a,protobuf_jni arm64-v8a
Cleaning... 0 files.
Clean protobuf x86,protobuf_jni x86
Cleaning... 0 files.
Clean protobuf_jni x86_64,protobuf x86_64
Cleaning... 0 files.
:lib-protobuf:clean
:lib-reactive:clean
:lib-tensorflow:externalNativeBuildCleanDebug
Clean tensorflow armeabi,my_core_jni armeabi,tensorflow_jni armeabi
Cleaning... 0 files.
Clean tensorflow_jni armeabi-v7a,tensorflow armeabi-v7a,my_core_jni armeabi-v7a
Cleaning... 0 files.
:lib-tensorflow:externalNativeBuildCleanRelease
Clean tensorflow armeabi,my_core_jni armeabi,tensorflow_jni armeabi
Cleaning... 0 files.
Clean tensorflow_jni armeabi-v7a,tensorflow armeabi-v7a,my_core_jni armeabi-v7a
Cleaning... 0 files.
:lib-tensorflow:clean
:lib-widget:clean
:lib-core:preBuild UP-TO-DATE
:lib-core:preDebugBuild UP-TO-DATE
:lib-core:checkDebugManifest
:lib-core:preDebugAndroidTestBuild UP-TO-DATE
:lib-core:preDebugUnitTestBuild UP-TO-DATE
:lib-core:preReleaseBuild UP-TO-DATE
:lib-core:preReleaseUnitTestBuild UP-TO-DATE
:lib-core:prepareComAndroidSupportAnimatedVectorDrawable2520Library
:lib-core:prepareComAndroidSupportAppcompatV72520Library
:lib-core:prepareComAndroidSupportRecyclerviewV72520Library
:lib-core:prepareComAndroidSupportSupportCompat2520Library
:lib-core:prepareComAndroidSupportSupportCoreUi2520Library
:lib-core:prepareComAndroidSupportSupportCoreUtils2520Library
:lib-core:prepareComAndroidSupportSupportFragment2520Library
:lib-core:prepareComAndroidSupportSupportMediaCompat2520Library
:lib-core:prepareComAndroidSupportSupportV42520Library
:lib-core:prepareComAndroidSupportSupportVectorDrawable2520Library
:lib-core:prepareDebugDependencies
:lib-core:compileDebugAidl
:lib-core:compileLint
:lib-core:copyDebugLint UP-TO-DATE
:lib-core:compileDebugRenderscript
:lib-core:generateDebugBuildConfig
:lib-core:generateDebugResValues
:lib-core:generateDebugResources
:lib-core:mergeDebugResources
:lib-core:processDebugManifest
:lib-core:processDebugResources
:lib-core:generateDebugSources
:lib-core:incrementalDebugJavaCompilationSafeguard
:lib-core:javaPreCompileDebug
:lib-core:compileDebugJavaWithJavac
:lib-core:compileDebugJavaWithJavac - is not incremental (e.g. outputs have changed, no previous execution, etc.).
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
:lib-core:extractDebugAnnotations
:lib-core:mergeDebugShaders
:lib-core:compileDebugShaders
:lib-core:generateDebugAssets
:lib-core:mergeDebugAssets
:lib-core:mergeDebugProguardFiles UP-TO-DATE
:lib-core:packageDebugRenderscript UP-TO-DATE
:lib-core:packageDebugResources
:lib-core:processDebugJavaRes UP-TO-DATE
:lib-core:transformResourcesWithMergeJavaResForDebug
:lib-core:transformClassesAndResourcesWithSyncLibJarsForDebug
:lib-core:generateJsonModelDebug UP-TO-DATE
:lib-core:externalNativeBuildDebug
Build my_core_jni arm64-v8a
[1/3] Building CXX object CMakeFiles/my_core_jni.dir/jni.cpp.o
[2/3] Building CXX object CMakeFiles/my_core_jni.dir/profiler.cpp.o
[3/3] Linking CXX shared library /home/learner/Smartbeing/my-android-app-boilerplate/lib-core/build/intermediates/cmake/debug/obj/arm64-v8a/libmy_core_jni.so
Build my_core_jni x86
[1/3] Building CXX object CMakeFiles/my_core_jni.dir/jni.cpp.o
[2/3] Building CXX object CMakeFiles/my_core_jni.dir/profiler.cpp.o
[3/3] Linking CXX shared library /home/learner/Smartbeing/my-android-app-boilerplate/lib-core/build/intermediates/cmake/debug/obj/x86/libmy_core_jni.so
Build my_core_jni armeabi
[1/3] Building CXX object CMakeFiles/my_core_jni.dir/jni.cpp.o
[2/3] Building CXX object CMakeFiles/my_core_jni.dir/profiler.cpp.o
[3/3] Linking CXX shared library /home/learner/Smartbeing/my-android-app-boilerplate/lib-core/build/intermediates/cmake/debug/obj/armeabi/libmy_core_jni.so
Build my_core_jni x86_64
[1/3] Building CXX object CMakeFiles/my_core_jni.dir/jni.cpp.o
[2/3] Building CXX object CMakeFiles/my_core_jni.dir/profiler.cpp.o
[3/3] Linking CXX shared library /home/learner/Smartbeing/my-android-app-boilerplate/lib-core/build/intermediates/cmake/debug/obj/x86_64/libmy_core_jni.so
Build my_core_jni armeabi-v7a
[1/3] Building CXX object CMakeFiles/my_core_jni.dir/jni.cpp.o
[2/3] Building CXX object CMakeFiles/my_core_jni.dir/profiler.cpp.o
[3/3] Linking CXX shared library /home/learner/Smartbeing/my-android-app-boilerplate/lib-core/build/intermediates/cmake/debug/obj/armeabi-v7a/libmy_core_jni.so
:lib-core:mergeDebugJniLibFolders
:lib-core:transformNativeLibsWithMergeJniLibsForDebug
:lib-core:transformNativeLibsWithStripDebugSymbolForDebug
:lib-core:transformNativeLibsWithSyncJniLibsForDebug
:lib-core:bundleDebug
:lib-core:compileDebugSources
:lib-core:assembleDebug
BUILD SUCCESSFUL
Total time: 5.501 secs
FAILURE: Build failed with an exception.
What went wrong: Finish can only be called once.
Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
tree lib-distribution
lib-distribution
└── my_core_jni
└── lib
├── arm64-v8a
├── armeabi
├── armeabi-v7a
├── x86
└── x86_64
Ok, that's weird. I'll try to use gradle method to copy out the generated files later.
Hi @boyw165
I need to know are there anywhere else where lib are generated which can be copied to my_core_jni folder. i can use that to proceed forward.
Also do i really need libcore for running demo dlib?
Hi @vijay1131 ,
Yup, I moved some common JNI utility method to lib-core
. Here is a workaround that you need to manually move *.so
under lib-core/build/intermediates/cmake/${CMAKE_BUILD_TYPE}/obj/${ANDROID_ABI}/
to lib-distribution/my_core_jni/lib/${ANDROID_ABI}/
, where ${CMAKE_BUILD_TYPE}
is either debug
or release
and ${ANDROID_ABI}
is armeabi | armeabi-v7a | arm64-v8a | x86 | x86_64
.
In general, all the dependent native library are placed into the folder lib-distribution
.
Before I figure out how to use gradle to move files, it's worthy to try. Hope it works for you. Please let me know if any error still happens.
Cool, that worked! The next issue Error is here
Error:(290, 17) error: cannot find symbol method getInstance(SampleOfFacesAndLandmarksActivity1)
I somehow managed to run the app. but at home screen of it get closed automatically with this error
could not load library "libprotobuf-lite.so" needed by "libdlib_jni.so"; caused by library "libprotobuf-lite.so" not found
is it because i removed the this code from SampleOfFacesAndLandmarksActivity1
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
return RxPermissions
.getInstance(this)
.request(Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.WRITE_EXTERNAL_STORAGE,
Manifest.permission.ACCESS_NETWORK_STATE,
Manifest.permission.CAMERA);
}
Hi @vijay1131 ,
That's my fault. I just updated the code. The runtime permissions are quiet necessary for Android API-21 and above, otherwise the app is now allowed to download the detector model and load it into the memory. Would you please get the latest code and try it again?
Yes latest code resolved it but this error still persist.
failed: dlopen failed: could not load library "libprotobuf-lite.so" needed by "libdlib_jni.so"; caused by library "libprotobuf-lite.so" not found
i see there is these file available here
my-android-app-boilerplate/lib-distribution/protobuf_jni/lib/arm64-v8a/libprotobuf-lite-3.2.0.so my-android-app-boilerplate/lib-protobuf/build/intermediates/cmake/release/obj/arm64-v8a/libprotobuf_jni.so
should change libprotobuf-lite-3.2.0
. name to libprotobuf-lite.so
?
Hi @vijay1131 ,
Can you give me your development environment specs and also help me to see if there are *.so
under the lib/
folder in the APK you built. The APK is actually a Zip file, you could either rename its postfix and unpack it or simply drag the APK to Android Studio (supported on the latest build). Here is a snapshot of my APK, there should be these *.so
files.
It's actually this code in the lib-dlib/build.gradle
to have the Gradle pack the prebuilt *.so
files. I'm not sure why it's not working on your working environment.
android {
// Let gradle pack the shared library into apk.
sourceSets {
main {
jniLibs.srcDirs = ["src/main/cppLibs/dlib/lib"]
}
}
}
@boyw165
I tried with another phone with android marshmallow and higher build tool. the issue is resolved!
Hi @vijay1131 ,
Wow, sounds great! I think my previous suggestion is still wrong, the root cause might be the gradle build tool is outdated. I prepared a pre-built lib-distribution
archive for you as the workaround in any case the gradle doesn't copy the generated *.so
again.
Here is the download link, https://www.dropbox.com/s/9np45qwpneph1wq/lib-distribution.zip?dl=0
@boyw165 thank you! Awesome work here! Will be sharing it in my circle.
Hi I am getting this error when building the project.
could you guide me in the right direction?