jetpacapp / deepbeliefsdk Goto Github PK
View Code? Open in Web Editor NEWThe SDK for Jetpac's iOS Deep Belief image recognition framework
License: Other
The SDK for Jetpac's iOS Deep Belief image recognition framework
License: Other
I just slightly modify the AndroidExample to load the predictor after init the network
and when I call predictionsValue = JPCNNLibrary.INSTANCE.jpcnn_predict(myPredictor, predictionsValuesPointer, predictionsNamesLength);
the app just crashed and there was a error message in the logcat log "07-17 12:05:08.367 29209-29209/com.example.cam A/libc﹕ Fatal signal 11 (SIGSEGV) at 0x00000000 (code=1), thread 29209 (com.example.cam)"
I am not sure if it is a bug of DeepBelief android library or I did not use the library correctly?
Thanks,
Jason
I am having trouble getting the SimpleLinux example to print the prediction labels on the PI. I see on the README it says after compiling and running it should print these labels. But I don't think the labels are printed int he code committed to the repository, and when I try to add this it crashes my PI GPU and I have to reboot to be able to run again. With the current version in the repository it only prints the prediction index. Any ideas? :) Thank you!
I run android example and i found the below errors:
@@@ ABORTING: LIBC: ARGUMENT IS INVALID HEAP ADDRESS IN dlfree addr=0x65b6e000
Fatal signal 11 (SIGSEGV) at 0xdeadbaad (code=1), thread 6374 (com.example.cam)
The framework search paths for RomoExample includes:
//:configuration = Debug
FRAMEWORK_SEARCH_PATHS = $(inherited) $(DEVELOPER_FRAMEWORKS_DIR) /Users/petewarden/projects/DeepBeliefSDK /Users/petewarden/projects/RomoSDK_v1.0C/frameworks
//:configuration = Release
FRAMEWORK_SEARCH_PATHS = $(inherited) $(DEVELOPER_FRAMEWORKS_DIR) /Users/petewarden/projects/DeepBeliefSDK /Users/petewarden/projects/RomoSDK_v1.0C/frameworks
//:completeSettings = some
FRAMEWORK_SEARCH_PATHS
But RomoSDK isn't part of the DeepBeliefSDK, so it fails to build. This is probably worth noting in a README for RomoExample.
The raw build log:
cd /Users/cbowns/Development/DeepBeliefSDK/examples/RomoExample
export LANG=en_US.US-ASCII
export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -x objective-c -arch i386 -fmessage-length=0 -fdiagnostics-show-note-include-stack -fmacro-backtrace-limit=0 -std=gnu99 -fmodules -fmodules-cache-path=/Users/cbowns/Library/Developer/Xcode/DerivedData/ModuleCache -Wno-trigraphs -fpascal-strings -O0 -Wno-missing-field-initializers -Wno-missing-prototypes -Werror=return-type -Wno-implicit-atomic-properties -Werror=deprecated-objc-isa-usage -Werror=objc-root-class -Wno-receiver-is-weak -Wno-arc-repeated-use-of-weak -Wduplicate-method-match -Wno-missing-braces -Wparentheses -Wswitch -Wunused-function -Wno-unused-label -Wno-unused-parameter -Wunused-variable -Wunused-value -Wempty-body -Wconditional-uninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-conversion -Wconstant-conversion -Wint-conversion -Wbool-conversion -Wenum-conversion -Wshorten-64-to-32 -Wpointer-sign -Wno-newline-eof -Wno-selector -Wno-strict-selector-match -Wundeclared-selector -Wno-deprecated-implementations -DDEBUG=1 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator7.1.sdk -fexceptions -fasm-blocks -fstrict-aliasing -Wprotocol -Wdeprecated-declarations -g -Wno-sign-conversion -fobjc-abi-version=2 -fobjc-legacy-dispatch -mios-simulator-version-min=7.0 -iquote /Users/cbowns/Library/Developer/Xcode/DerivedData/RomoExample-dnmxhznrcpgonyhgnipvijjytqkl/Build/Intermediates/RomoExample.build/Debug-iphonesimulator/RomoExample.build/RomoExample-generated-files.hmap -I/Users/cbowns/Library/Developer/Xcode/DerivedData/RomoExample-dnmxhznrcpgonyhgnipvijjytqkl/Build/Intermediates/RomoExample.build/Debug-iphonesimulator/RomoExample.build/RomoExample-own-target-headers.hmap -I/Users/cbowns/Library/Developer/Xcode/DerivedData/RomoExample-dnmxhznrcpgonyhgnipvijjytqkl/Build/Intermediates/RomoExample.build/Debug-iphonesimulator/RomoExample.build/RomoExample-all-target-headers.hmap -iquote /Users/cbowns/Library/Developer/Xcode/DerivedData/RomoExample-dnmxhznrcpgonyhgnipvijjytqkl/Build/Intermediates/RomoExample.build/Debug-iphonesimulator/RomoExample.build/RomoExample-project-headers.hmap -I/Users/cbowns/Library/Developer/Xcode/DerivedData/RomoExample-dnmxhznrcpgonyhgnipvijjytqkl/Build/Products/Debug-iphonesimulator/include -I/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include -I/Users/cbowns/Library/Developer/Xcode/DerivedData/RomoExample-dnmxhznrcpgonyhgnipvijjytqkl/Build/Intermediates/RomoExample.build/Debug-iphonesimulator/RomoExample.build/DerivedSources/i386 -I/Users/cbowns/Library/Developer/Xcode/DerivedData/RomoExample-dnmxhznrcpgonyhgnipvijjytqkl/Build/Intermediates/RomoExample.build/Debug-iphonesimulator/RomoExample.build/DerivedSources -F/Users/cbowns/Library/Developer/Xcode/DerivedData/RomoExample-dnmxhznrcpgonyhgnipvijjytqkl/Build/Products/Debug-iphonesimulator -F/Applications/Xcode.app/Contents/Developer/Library/Frameworks -F/Users/petewarden/projects/DeepBeliefSDK -F/Users/petewarden/projects/RomoSDK_v1.0C/frameworks -MMD -MT dependencies -MF /Users/cbowns/Library/Developer/Xcode/DerivedData/RomoExample-dnmxhznrcpgonyhgnipvijjytqkl/Build/Intermediates/RomoExample.build/Debug-iphonesimulator/RomoExample.build/Objects-normal/i386/SquareCamViewController.d --serialize-diagnostics /Users/cbowns/Library/Developer/Xcode/DerivedData/RomoExample-dnmxhznrcpgonyhgnipvijjytqkl/Build/Intermediates/RomoExample.build/Debug-iphonesimulator/RomoExample.build/Objects-normal/i386/SquareCamViewController.dia -c /Users/cbowns/Development/DeepBeliefSDK/examples/RomoExample/SquareCamViewController.m -o /Users/cbowns/Library/Developer/Xcode/DerivedData/RomoExample-dnmxhznrcpgonyhgnipvijjytqkl/Build/Intermediates/RomoExample.build/Debug-iphonesimulator/RomoExample.build/Objects-normal/i386/SquareCamViewController.o
In file included from /Users/cbowns/Development/DeepBeliefSDK/examples/RomoExample/SquareCamViewController.m:48:
/Users/cbowns/Development/DeepBeliefSDK/examples/RomoExample/SquareCamViewController.h:50:9: fatal error: 'RMCore/RMCore.h' file not found
# import <RMCore/RMCore.h>
^
1 error generated.
"Since you can't save files on iOS devices, the only way to create this file in the first place is to call jpcnn_print_predictor once you've created a predictor, and then copy and paste the results from the developer console into a file, and then add it to your app's resources."
Is this a hold over in the docs since I notice jpcnn_save_predictor in libjpcnn.h?
Hi Pete,
Is the opengl acceleration path in libjpcnn workable? I tried it and failed on following error message with jetpack.ntwk and dog.jpg. Can the issue be fixed?
Calling gl_gemm_fixed()
m=96, n=3000, inputK=363
Compiling 16-bit shader
aDims=(96, 24, 1), bDims=(3000, 24, 1)
aDims=(96, 24, 1), bDims=(3000, 24, 1)
aDims=(96, 24, 1), bDims=(3000, 24, 1)
aDims=(96, 24, 1), bDims=(3000, 24, 1)
aDims=(96, 24, 1), bDims=(3000, 24, 1)
aDims=(96, 24, 1), bDims=(3000, 24, 1)
aDims=(96, 24, 1), bDims=(3000, 24, 1)
aDims=(96, 24, 1), bDims=(3000, 24, 1)
aDims=(96, 24, 1), bDims=(3000, 24, 1)
aDims=(96, 24, 1), bDims=(3000, 24, 1)
aDims=(96, 24, 1), bDims=(3000, 24, 1)
aDims=(96, 24, 1), bDims=(3000, 24, 1)
aDims=(96, 24, 1), bDims=(3000, 24, 1)
aDims=(96, 24, 1), bDims=(3000, 24, 1)
aDims=(96, 24, 1), bDims=(3000, 24, 1)
aDims=(96, 3, 1), bDims=(3000, 3, 1)
Assertion failed: (virtualWidth % elementsPerPixel) == 0, file c:\deepbeliefsdk-gh-pages\sour
ce\src\lib\opengl\glgemm.cpp, line 1005
The HW is HSW integrated gfx.
Thanks!
-Andy
This would probably be best in a separate repo, but for understanding demand add your +1 here.
I make on Raspberry Pi 2. But it have error:
Makefile:107: recipe for target 'src/lib/graph/buffer.o' failed
make: *** [src/lib/graph/buffer.o] Error 1
Please help me solve this problem. Thanks
Hi all,
Is anybody aware of a Python wrapper for the DeepBeliefSDK?
Daniel
How would i get the library for this on android?
Without this lib, we were able to still get it to compile; however, the speed is many mulitples slower than 650ms on a Samsung Galaxy s5
Hi, I know this question may seem strange or silly but I googled and tried to solve it in many ways but still couldn't get through.
I followed the ReadMe file and tried to use Xcode to build and run the SimpleExample project, but the Lexical or Preprocessor issue 'DeepBelief/DeepBelief.h' not found error keeps appearing. I tried it on another Mac and had the same problem.
My Xcode is Version 6.1.1
I would really appreciate it if someone could help me with this problem, I really look forward to running this app and see how it performs. Thank you.
I would find it extremely helpful if the code examples involved none of this outdated and bulky SquareCam code, but just a simple & clean AVCaptureSession setup. Maybe the examples could be changed sometimes in the future. For now, I would be very grateful if someone could share the files and or code of such a setup with me.
Hi,
We have a requirement the user can take a picture of shirt or shoes from the mobile and application will show the relevant matching images from our image list. If the user searches front view of a shirt the application should show similar shirt even if its side view is available in the image list.
So, the basic requirement is, for an image, the relevant images need to fetch from the image list. How can I achieve this with DeepBeliefSDK?
in my understanding, the .ntwk file is the collection of information about the images list. How can I make the .ntwk file for my images?
If I want to check the logos(nike, adidas or puma) also what modifications I have to do?
Is there any sample code available for this purpose?
Thanks,
Saneesh
I know that on iOS that it is not possible to write text files directly, but why not just have a return as a data-blob or string that can be stored and loaded programmatically?
Unless I'm mistaken, when working on the Mac, fprintf / stderr doesn't always route to the system console anymore, which makes the jpcnn_print_predictor demonstrated in the learning example unreliable.
Specifically, I want the cropped area of the image not jitter around the origin, as is the default.
The only documented values are JPCNN_RANDOM_SAMPLE
and JPCNN_MULTISAMPLE
.
On the demo page http://jetpacapp.github.io/DeepBeliefSDK/ , having WebGL enabled runs, but always predicts slightly changing activations of around 52% for 'European Hoopoe' and 48% 'Hacksaw'. No other activation is ever predicted. Disabling WebGL solves the problem.
Chrome Browser 37.0.2062.120 on Linux using an Intel HD3000 GPU.
I found the crash dump in the log. It seem crash occurs when it frees the matrix in the function cblas_sgemm_fixed.
I set libc.debug.malloc to 10 and it reported rear guard mismatch for 20bytes.
E/libc ( 5319): +++ REAR GUARD MISMATCH [0, 7)
E/libc ( 5319): +++ REAR GUARD MISMATCH [8, 11)
E/libc ( 5319): +++ REAR GUARD MISMATCH [12, 20)
E/libc ( 5319): +++ ALLOCATION 0x4dfff0c8 SIZE 92928 HAS A CORRUPTED REAR GUARD
E/libc ( 5319): +++ ALLOCATION 0x4dfff0c8 SIZE 92928 ALLOCATED HERE:
E/libc ( 5319): *** *** *** *** *** *** *** *** *** *** *** *** *** *** ** ***
E/libc ( 5319): #00 pc 0000d7e0 /system/lib/libc_malloc_debug_leak.so (chk_malloc+0x17)
E/libc ( 5319): #1 pc 0000dcc6 /system/lib/libc.so (malloc+0x9)
E/libc ( 5319): #2 pc 4e224cce libjpcnn.so (cblas_sgemm_fixed(int, int, int, int, int, int, float, void_, float, float, int, int, float_, int, float, float, int)+0x5d)
It seems some codes in cblas_sgemm_fixed function corrupt the allocated memory.
The AndroidExample does not crash on Android 4.1 and 4.4 but I can still see Rear guard mismatch msg, so it means that the memory is still corrupted, but it is lucky that the app does not crash.
The following is the crash dump.
12-31 13:09:57.465 3701-3701/? A/libc﹕ @@@ ABORTING: LIBC: ARGUMENT IS INVALID HEAP ADDRESS IN dlfree addr=0x5121e000
12-31 13:09:57.465 3701-3701/? A/libc﹕ Fatal signal 11 (SIGSEGV) at 0xdeadbaad (code=1), thread 3701 (com.example.cam)
12-31 13:09:57.530 1850-1850/? I/DEBUG﹕ *** *** *** *** *** *** *** *** *** *** *** *** *** *** ** ***
12-31 13:09:57.530 1850-1850/? I/DEBUG﹕ Build fingerprint: 'samsung/GT-I9100/GT-I9100:4.0.3/IML74K/XXLPQ:user/release-keys'
12-31 13:09:57.530 1850-1850/? I/DEBUG﹕ Revision: '10'
12-31 13:09:57.530 1850-1850/? I/DEBUG﹕ pid: 3701, tid: 3701, name: com.example.cam >>> com.example.cam <<<
12-31 13:09:57.530 1850-1850/? I/DEBUG﹕ signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr deadbaad
12-31 13:09:57.900 1850-1850/? I/DEBUG﹕ r0 00000055 r1 bed42618 r2 00000003 r3 deadbaad
12-31 13:09:57.900 1850-1850/? I/DEBUG﹕ r4 40092228 r5 5121e000 r6 bed42640 r7 4008585a
12-31 13:09:57.900 1850-1850/? I/DEBUG﹕ r8 5121e008 r9 4f585588 sl 00000020 fp 51229588
12-31 13:09:57.900 1850-1850/? I/DEBUG﹕ ip 00000000 sp bed42640 lr 40071c69 pc 4005600c cpsr 00010030
12-31 13:09:57.900 1850-1850/? I/DEBUG﹕ d0 c1790e403eaf0c38 d1 41e4dcdfc1b49f9e
12-31 13:09:57.900 1850-1850/? I/DEBUG﹕ d2 0000000000000000 d3 0000000000000000
12-31 13:09:57.900 1850-1850/? I/DEBUG﹕ d4 bd22a1283c5bada0 d5 3ab6f0003c033c40
12-31 13:09:57.900 1850-1850/? I/DEBUG﹕ d6 8000000000000000 d7 3f80000000000000
12-31 13:09:57.900 1850-1850/? I/DEBUG﹕ d8 bec96d47bec96d47 d9 bec96d47bec96d47
12-31 13:09:57.900 1850-1850/? I/DEBUG﹕ d10 3750324e3750324e d11 3750324e3750324e
12-31 13:09:57.900 1850-1850/? I/DEBUG﹕ d12 0000000000000000 d13 0000000000000000
12-31 13:09:57.905 1850-1850/? I/DEBUG﹕ d14 0000000000000000 d15 0000000000000000
12-31 13:09:57.905 1850-1850/? I/DEBUG﹕ d16 42253b40c209c66b d17 c367fa72c2e77db0
12-31 13:09:57.910 1850-1850/? I/DEBUG﹕ d18 0000000000000000 d19 0000000000000000
12-31 13:09:57.910 1850-1850/? I/DEBUG﹕ d20 0000000000000000 d21 0000000000000000
12-31 13:09:57.910 1850-1850/? I/DEBUG﹕ d22 419033abc203c170 d23 c10d9a20c198f3cc
12-31 13:09:57.910 1850-1850/? I/DEBUG﹕ d24 3d88e5243d10bc18 d25 bda932d03d97ea44
12-31 13:09:57.910 1850-1850/? I/DEBUG﹕ d26 3f8000003f800000 d27 3f8000003f800000
12-31 13:09:57.910 1850-1850/? I/DEBUG﹕ d28 4051a513c03de1bc d29 41694fcd40c6fd80
12-31 13:09:57.910 1850-1850/? I/DEBUG﹕ d30 c1790e403eaf0c38 d31 41e4dcdfc1b49f9e
12-31 13:09:57.910 1850-1850/? I/DEBUG﹕ scr 60000010
12-31 13:09:57.925 1850-1850/? I/DEBUG﹕ backtrace:
12-31 13:09:57.925 1850-1850/? I/DEBUG﹕ #00 pc 0000f00c /system/lib/libc.so
12-31 13:09:57.925 1850-1850/? I/DEBUG﹕ #1 pc 00011db3 /system/lib/libc.so (dlfree+1458)
12-31 13:09:57.925 1850-1850/? I/DEBUG﹕ #2 pc 0000cf73 /system/lib/libc.so (free+10)
12-31 13:09:57.925 1850-1850/? I/DEBUG﹕ #3 pc 0000fe5b /data/app-lib/com.example.cam-1/libjpcnn.so (cblas_sgemm_fixed(int, int, int, int, int, int, float, void_, float, float, int, int, float_, int, float, float_, int)+490)
12-31 13:09:57.925 1850-1850/? I/DEBUG﹕ #4 pc 0000d61b /data/app-lib/com.example.cam-1/libjpcnn.so (matrix_correlate(Buffer_, Buffer, int, int, int, bool)+1514)
not possible without source of course but add your +1 if you think its a good idea.
Hey, somebody has used de training of the neural network in Android??
Cannot find the cause, must be something simple I'm overlooking... Code looks exactly the same like in LearningExample, which compiles...
Anyone else having issues running the framework on the newest software? I've been away from working on it for a while, so I may be overseeing something.
I get the following error on all my projects:
Thread 5: EXC_BAD_ACCESS (code=1, address=0x9)
at DeepBCustom`jpcnn_classify_image at libjpcnn.cpp:108:
The paper describes your initial image processing approach as:
- we down-sampled the images to a fixed resolution of 256x256.
Given a rectangular image, we first rescaled the image such that the
shorter side was of length 256, and then cropped out the
central 256x256 patch from the resulting image.
Have you considered using a graphcut (such as gimp's resynthesize) to reduce the image instead of cropping the internal region. I.e. graphcut original to a square - then scale.
http://www.logarithmic.net/pfh/resynthesizer
On most random imagery this approach might give improved results.
Of course I have no data as to the relative squareness of the original images and how much image information was "lost" to cropping.
In Xcode 7 adding the DeepBelief framework won't work at all for me anymore. Removing and re-adding, framework search path, nothing will work. On Xcode 6 I had to remove and re-add the framework every time I opened a project, now it can never find the header file. Any suggestions?
Hi,
I'm not particularly familiar with the OS X toolkit so I am probably being an idiot about this.
I was able to get the code to compile ( I added the framework and everything ).
However, I can't get it to run. It fails with this error that I really couldn't make much sense of.
dyld: Library not loaded: @executable_path/../Frameworks/DeepBelief.framework/Versions/A/DeepBelief
Referenced from: /Users/shriphani/Library/Developer/Xcode/DerivedData/MyRecorder-cfgnjbjyaacnmdanghxubskwpbsu/Build/Products/Debug/MyRecorder.app/Contents/MacOS/MyRecorder
Reason: image not found
(lldb)
Any help would be appreciated :)
I'm changing the learning example so that the predictor output can be saved as a file inside the app's documents directory instead of being output to the console. This already works, however I've run into issues due to what I believe is a bug in the mentioned method. After jpcnn_print_predictor(predictor) is called, no further fprintf or NSLog calls deliver anything to the console, leading me to believe that the jpcnn_print_predictor method must somehow not 'close' properly.
So, even in your own example, "------------- end of SVM File output - copy lines above ------------\n" is never printed.
When the camera is used and then navigated away from by pausing the app, it crashes.
This can be fixed by adding the line:
camera.setPreviewCallback(null);
Before camera.release()
in the onPause()
method of the CamTestActivity
here:
Hi,
I just tried your SDK. After downloading it, I extracted and enter $HOME/src in order to compile it:
sudo make TARGET=pi GEMM=piqpu
Then I copied the two files jpcnn and libjpcnn.so into the directory $HOME/LinuxLibrary. Then run sudo ./install.sh. Fine!
Now I compiled the example with Linux and run it to test the lena image. The output is somehow strange, since everything is zero except that the class Euopean hoopoe. I tried several other images and get the same result.
A snippet of the output:
790 0.000000 maze
791 0.000000 pajama
792 0.000000 purse
793 0.000000 parachute
794 0.000000 matchstick
795 0.000000 puffer
796 0.000000 swimming trunks
797 0.000000 volcano
798 0.000000 ptarmigan
799 0.000000 armadillo
800 0.000000 cuirass
801 0.000000 frying pan
802 0.000000 scale
803 0.000000 leatherback turtle
804 0.000000 chainlink fence
805 0.000000 tile roof
806 0.000000 pretzel
807 0.000000 burrito
808 0.515223 Euopean hoopoe
809 0.000000 cassette
810 0.000000 maraca
811 0.000000 rule
812 0.000000 jersey
813 0.000000 sunscreen
814 0.000000 espresso
815 0.000000 vase
816 0.000000 gorilla
817 0.000000 spider monkey
Do you have any idea?
Hi
I am trying to run the examples on a Kubuntu 12.04 i686 machine, but get the following error:
sudo ./install.sh
libjpcnn installedcd ./develop/DeepBeliefSDK/$
make
gcc -o deepbelief ./main.c -L/usr/lib -ljpcnn
/usr/bin/ld: skipping incompatible /usr/lib/libjpcnn.so when searching for -ljpcnn
/usr/bin/ld: skipping incompatible /usr/lib/gcc/i686-linux-gnu/4.6/../../../../lib/libjpcnn.so when searching for -ljpcnn
/usr/bin/ld: skipping incompatible /usr/lib/../lib/libjpcnn.so when searching for -ljpcnn
/usr/bin/ld: skipping incompatible /usr/lib/gcc/i686-linux-gnu/4.6/../../../libjpcnn.so when searching for -ljpcnn
/usr/bin/ld: skipping incompatible /usr/lib/libjpcnn.so when searching for -ljpcnn
/usr/bin/ld: cannot find -ljpcnn
collect2: ld returned 1 exit status
make: *** [deepbelief] Error 1
Machine:
uname -a
Linux p4-duo 3.2.0-64-generic-pae #97-Ubuntu SMP Wed Jun 4 22:22:15 UTC 2014 i686 i686 i386 GNU/Linuxcat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=12.04
DISTRIB_CODENAME=precise
DISTRIB_DESCRIPTION="Ubuntu 12.04.4 LTS"
Any sugestions?
Thank you.
Specifically, there is the libjnidispatch.so
and also the deepbelief.jar
files. i believe these are effectively the bindings for the JCPNN api.
I was able to generate the libjpcnn.so using ndk-make
. but having a hard time figuring out how to use JNA to generate these other files.
Would be great to have the shared library for Linux (Ubuntu) platform. Is it on your list or iOS&Android only for now?
I'm following the instructions in the following blog post step by step: http://petewarden.com/2014/08/07/how-to-optimize-raspberry-pi-code-using-its-gpu/ ; however, I keep getting the following:
Can't open device file: /var/lib/jpcnn/char_dev
while testing the example using:
sudo ./jpcnn -i data/dog.jpg -n ../networks/jetpac.ntwk -t -m s
Any thoughts what may be the cause?
please let me know whether you will be able to support Jetson,
and any information armv7 192 cores CUDA 6.0 etc....
cd ../LinuxLibrary/
$ sudo ./install.sh
libjpcnn installed
$ cd ../examples/SimpleLinux/
$ make
gcc -o deepbelief ./main.c -L/usr/lib -ljpcnn
/usr/lib/libjpcnn.so: file not recognized: File format not recognized
collect2: error: ld returned 1 exit status
make: *** [deepbelief] Error 1
$ cd RaspberryPiLibrary/
$ sudo ./install.sh
libjpcnn installed
$ cd ../examples/SimpleLinux/
gcc -o deepbelief ./main.c -L/usr/lib -ljpcnn
$ ./deepbelief
Can't open device file: /var/lib/jpcnn/char_dev
Any way to get the position of the recognized object in the picture? I really hope your api can return the detected object's coordiantion in the picture. This enable DeepBelief to detect mutilple objects' relative position and can bring huge potential usage!
Hello all,
I have been using the DeepBeliefSDK for a couple projects and I must say its very impressive. Recently have created a way to create and store multiple trainers inside an ios app. Decided to go a bit further and began to implement a method to load in captured photos from the phones library.
The only issue I am having is when it comes to plugging that image chosen into a custom trainer object. I have tried manipulating the pixelBuffer to have the image overlay the video output but that doesn't seem to work well.
Now that I have the path to the image, how do I put that image into a format that I can feed it to the jpcnn_train void to use only that one image for the positive predictions? I have tried many different ways with the following two lines during the positive predictons.
trainer = jpcnn_create_trainer( ?here? ) ;
jpcnn_train(?here?, predictions, predictionsLength);
Any help is greatly appreciated!
Thanks.
issue is gone after removing -fopenmp.
It seems that issue is caused by an openmp bug on Android.
details and workaround can be found in
http://recursify.com/blog/2013/08/09/openmp-on-android-tls-workaround
This is the log.
ZhengZhihengs-iMac:source zhengzhiheng$ adb logcat | grep 23864
I/DEBUG (23864): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
I/DEBUG (23864): Build fingerprint: 'samsung/jgedlteue/jgedlte:4.4.4/KTU84P.S001/140602:user/release-keys'
I/DEBUG (23864): Revision: '11'
I/DEBUG (23864): pid: 6108, tid: 6441, name: Thread-2423 >>> com.buuna.bourbonbeats <<<
I/DEBUG (23864): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 00000008
I/DEBUG (23864): r0 00000000 r1 78cb3dd0 r2 00000040 r3 00000018
I/DEBUG (23864): r4 78cb2bd0 r5 78cb2b18 r6 78cb2ab0 r7 0000016b
I/DEBUG (23864): r8 00000000 r9 00000040 sl 75b0bb08 fp 000002d6
I/DEBUG (23864): ip 78ce1f9c sp 78cb2a48 lr 78cda168 pc 78cda168 cpsr 88070010
I/DEBUG (23864): d0 0000000000000000 d1 0000000000000000
I/DEBUG (23864): d2 0000000000000000 d3 0000000000000000
I/DEBUG (23864): d4 4306494041769400 d5 418c3880435c6940
I/DEBUG (23864): d6 000000d54306db10 d7 46f6d60000000000
I/DEBUG (23864): d8 bec96d473750324e d9 0000000000000000
I/DEBUG (23864): d10 0000000000000000 d11 0000000000000000
I/DEBUG (23864): d12 0000000000000000 d13 0000000000000000
I/DEBUG (23864): d14 0000000000000000 d15 0000000000000000
I/DEBUG (23864): d16 0000000000000000 d17 c1d4e170423912e8
I/DEBUG (23864): d18 41b8ef20c20558a4 d19 41f6c0fcc1e9ec10
I/DEBUG (23864): d20 c1f2f10041699af8 d21 42a50dcb42577d0a
I/DEBUG (23864): d22 42b97bffc290f7c1 d23 c24a4d14421ee5c2
I/DEBUG (23864): d24 43167895bbae2364 d25 00c000bf00bd00be
I/DEBUG (23864): d26 0000000000000000 d27 0000000000000000
I/DEBUG (23864): d28 009e009d009c009b d29 00a0009f009d009e
I/DEBUG (23864): d30 00c000c000c000c0 d31 3ff1c37937e08000
I/DEBUG (23864): scr 60000012
I/DEBUG (23864):
I/DEBUG (23864): backtrace:
I/DEBUG (23864): #00 pc 00026168 /data/app-lib/com.buuna.bourbonbeats-2/libjpcnn.so (omp_get_num_threads+8)
I/DEBUG (23864):
I/DEBUG (23864): stack:
I/DEBUG (23864): 78cb2a08 00000000
I/DEBUG (23864): 78cb2a0c 00000000
I/DEBUG (23864): 78cb2a10 00000000
I/DEBUG (23864): 78cb2a14 00000000
I/DEBUG (23864): 78cb2a18 00000000
I/DEBUG (23864): 78cb2a1c 78cb2ac4 [stack:6441]
I/DEBUG (23864): 78cb2a20 78cb2abc [stack:6441]
I/DEBUG (23864): 78cb2a24 78cb2ab0 [stack:6441]
I/DEBUG (23864): 78cb2a28 00100000
I/DEBUG (23864): 78cb2a2c 00002000
I/DEBUG (23864): 78cb2a30 00000000
I/DEBUG (23864): 78cb2a34 78cb2ab0 [stack:6441]
I/DEBUG (23864): 78cb2a38 00000000
I/DEBUG (23864): 78cb2a3c 78cc2831 /data/app-lib/com.buuna.bourbonbeats-2/libjpcnn.so
I/DEBUG (23864): 78cb2a40 0000016b
I/DEBUG (23864): 78cb2a44 78cb2bc0 [stack:6441]
I/DEBUG (23864): #00 78cb2a48 00000bd1
I/DEBUG (23864): 78cb2a4c 78cc398b /data/app-lib/com.buuna.bourbonbeats-2/libjpcnn.so
I/DEBUG (23864): 78cb2a50 00000000
I/DEBUG (23864): 78cb2a54 00000000
I/DEBUG (23864): 78cb2a58 00000040
I/DEBUG (23864): 78cb2a5c 00000001
I/DEBUG (23864): 78cb2a60 00000bd1
I/DEBUG (23864): 78cb2a64 00000001
I/DEBUG (23864): 78cb2a68 80e32214
I/DEBUG (23864): 78cb2a6c 75af5008
I/DEBUG (23864): 78cb2a70 0000016b
I/DEBUG (23864): 78cb2a74 00000040
I/DEBUG (23864): 78cb2a78 78cb3220 [stack:6441]
I/DEBUG (23864): 78cb2a7c 78cb2a6c [stack:6441]
I/DEBUG (23864): 78cb2a80 78cb2bd0 [stack:6441]
I/DEBUG (23864): 78cb2a84 78cb2b18 [stack:6441]
I/DEBUG (23864):
I/DEBUG (23864): memory near r1:
I/DEBUG (23864): 78cb3db0 415bf0f5 401011b4 76fa2330 807248f8
I/DEBUG (23864): 78cb3dc0 78cb3dd0 0000000b 00000078 4010134c
I/DEBUG (23864): 78cb3dd0 78cb3dd0 807248f8 00000016 00000000
I/DEBUG (23864): 78cb3de0 00000000 26c52576 00000000 00000000
I/DEBUG (23864): 78cb3df0 00000000 00000000 00000000 00000000
I/DEBUG (23864): 78cb3e00 00000000 00000000 00000000 76fa2330
I/DEBUG (23864): 78cb3e10 00000000 00000000 00000000 00000000
I/DEBUG (23864): 78cb3e20 00000000 00000000 00000000 00000000
I/DEBUG (23864): 78cb3e30 80e2ecd8 80724b40 00000000 00000000
I/DEBUG (23864): 78cb3e40 00000000 00000000 80e2d400 00000000
I/DEBUG (23864): 78cb3e50 00000000 00000000 00000000 00000000
I/DEBUG (23864): 78cb3e60 00000000 00000000 00000000 00000000
I/DEBUG (23864): 78cb3e70 00000000 00000000 00000000 00000000
I/DEBUG (23864): 78cb3e80 00000000 00000000 00000000 00000000
I/DEBUG (23864): 78cb3e90 00000000 00000000 00000000 00000000
I/DEBUG (23864): 78cb3ea0 00000000 00000000 00000000 00000000
I/DEBUG (23864):
I/DEBUG (23864): memory near r4:
I/DEBUG (23864): 78cb2bb0 00017000 40103865 ffffffff 00000000
I/DEBUG (23864): 78cb2bc0 75af5008 0000016b 00000040 40104eab
I/DEBUG (23864): 78cb2bd0 773c2008 0000016b 00000bd1 00016b00
I/DEBUG (23864): 78cb2be0 00000000 00000000 00000000 80d97008
I/DEBUG (23864): 78cb2bf0 00000060 00000020 0000016b 0000016b
I/DEBUG (23864): 78cb2c00 772a6108 78cc3d45 00000bd1 0000016b
I/DEBUG (23864): 78cb2c10 3f800000 75af5008 0000016b 773c2008
I/DEBUG (23864): 78cb2c20 0000016b 00000000 772a6008 00000060
I/DEBUG (23864): 78cb2c30 773c2000 000005ac 80d97008 80d97008
I/DEBUG (23864): 78cb2c40 00000010 75af5008 00000066 00000070
I/DEBUG (23864): 78cb2c50 0000006f 00000bd1 3f800000 773c2008
I/DEBUG (23864): 78cb2c60 0000016b 00000000 00000060 00005ac0
I/DEBUG (23864): 78cb2c70 0000b580 ffffffe0 00000060 000002d6
I/DEBUG (23864): 78cb2c80 0000016a 76f1f008 01000000 40800000
I/DEBUG (23864): 78cb2c90 00000037 80e2d518 00000060 76fdde38
I/DEBUG (23864): 78cb2ca0 76dc3b20 00000090 0000000b 00000a80
I/DEBUG (23864):
I/DEBUG (23864): memory near r5:
I/DEBUG (23864): 78cb2af8 773c2008 75af5008 00000070 78cc3bd7
I/DEBUG (23864): 78cb2b08 0000016b 00000040 000003f6 000003f7
I/DEBUG (23864): 78cb2b18 772a6008 00000040 00000bd1 00000060
I/DEBUG (23864): 78cb2b28 00000001 000007f8 000007f9 00000ff4
I/DEBUG (23864): 78cb2b38 00000ff5 00000ff6 00000ff7 00003fe0
I/DEBUG (23864): 78cb2b48 00007fc2 00007fc3 0000ff88 0000ff89
I/DEBUG (23864): 78cb2b58 0000ff8a 0000ff8b 0000ff8c 0000ff8d
I/DEBUG (23864): 78cb2b68 0000ff8e 0000ff8f 0000ff90 0000ff91
I/DEBUG (23864): 78cb2b78 0000ff92 0000ff93 0000ff94 0000ff95
I/DEBUG (23864): 78cb2b88 00000000 ffffffff 76f1f000 40106cdf
I/DEBUG (23864): 78cb2b98 76f1f000 76f1f000 76f1f000 4012191f
I/DEBUG (23864): 78cb2ba8 40133f4a 00017000 00017000 40103865
I/DEBUG (23864): 78cb2bb8 ffffffff 00000000 75af5008 0000016b
I/DEBUG (23864): 78cb2bc8 00000040 40104eab 773c2008 0000016b
I/DEBUG (23864): 78cb2bd8 00000bd1 00016b00 00000000 00000000
I/DEBUG (23864): 78cb2be8 00000000 80d97008 00000060 00000020
I/DEBUG (23864):
I/DEBUG (23864): memory near r6:
I/DEBUG (23864): 78cb2a90 00000001 80e336f4 40142384 78cb2aa4
I/DEBUG (23864): 78cb2aa0 00000000 00000000 00000001 00000004
I/DEBUG (23864): 78cb2ab0 00000000 00000000 00000000 00000040
I/DEBUG (23864): 78cb2ac0 00000bd1 00000080 00002000 0005e880
I/DEBUG (23864): 78cb2ad0 00000400 0000003b 00000078 78cb2b18
I/DEBUG (23864): 78cb2ae0 773c1904 772a6008 00000060 78cc3b2b
I/DEBUG (23864): 78cb2af0 00000000 0000016b 773c2008 75af5008
I/DEBUG (23864): 78cb2b00 00000070 78cc3bd7 0000016b 00000040
I/DEBUG (23864): 78cb2b10 000003f6 000003f7 772a6008 00000040
I/DEBUG (23864): 78cb2b20 00000bd1 00000060 00000001 000007f8
I/DEBUG (23864): 78cb2b30 000007f9 00000ff4 00000ff5 00000ff6
I/DEBUG (23864): 78cb2b40 00000ff7 00003fe0 00007fc2 00007fc3
I/DEBUG (23864): 78cb2b50 0000ff88 0000ff89 0000ff8a 0000ff8b
I/DEBUG (23864): 78cb2b60 0000ff8c 0000ff8d 0000ff8e 0000ff8f
I/DEBUG (23864): 78cb2b70 0000ff90 0000ff91 0000ff92 0000ff93
I/DEBUG (23864): 78cb2b80 0000ff94 0000ff95 00000000 ffffffff
I/DEBUG (23864):
I/DEBUG (23864): memory near sl:
I/DEBUG (23864): 75b0bae8 3d12aa90 3c9dec70 3ba20840 3c0510a0
I/DEBUG (23864): 75b0baf8 bbb3f280 3c72db40 3bf69cc0 baaee600
I/DEBUG (23864): 75b0bb08 00000000 00000000 00000000 00000000
I/DEBUG (23864): 75b0bb18 00000000 00000000 00000000 00000000
I/DEBUG (23864): 75b0bb28 00000000 00000000 00000000 00000000
I/DEBUG (23864): 75b0bb38 00000000 00000000 00000000 00000000
I/DEBUG (23864): 75b0bb48 00000000 00000000 00000000 00000000
I/DEBUG (23864): 75b0bb58 00000000 00000000 00000000 00000000
I/DEBUG (23864): 75b0bb68 00000000 00000000 00000000 00000000
I/DEBUG (23864): 75b0bb78 00000000 00000000 00000000 00000000
I/DEBUG (23864): 75b0bb88 00000000 00000000 00000000 00000000
I/DEBUG (23864): 75b0bb98 00000000 00000000 00000000 00000000
I/DEBUG (23864): 75b0bba8 00000000 00000000 00000000 00000000
I/DEBUG (23864): 75b0bbb8 00000000 00000000 00000000 00000000
I/DEBUG (23864): 75b0bbc8 00000000 00000000 00000000 00000000
I/DEBUG (23864): 75b0bbd8 00000000 00000000 00000000 00000000
I/DEBUG (23864):
I/DEBUG (23864): memory near ip:
I/DEBUG (23864): 78ce1f7c 4012196d 40114af8 40106c9d 4010722b
I/DEBUG (23864): 78ce1f8c 401030d1 4011587c 00000000 00000000
I/DEBUG (23864): 78ce1f9c 40101940 4011ccd1 4011cbc5 4011f3e5
I/DEBUG (23864): 78ce1fac 40108489 4011f0ad 4011f38d 4011f1d5
I/DEBUG (23864): 78ce1fbc 40106ce9 40106d11 40106d59 40107455
I/DEBUG (23864): 78ce1fcc 4011be99 4011cc47 40102d98 40101960
I/DEBUG (23864): 78ce1fdc 40106d69 40101258 40106d03 401016f4
I/DEBUG (23864): 78ce1fec 401017f0 401142f8 401143cc 4012e20b
I/DEBUG (23864): 78ce1ffc 40115f8c 00000000 78cdec84 78cbe4a9
I/DEBUG (23864): 78ce200c 78cded70 78cbe615 78cded84 78cbe795
I/DEBUG (23864): 78ce201c 78cded98 78cbea75 78cdef00 78cbf431
I/DEBUG (23864): 78ce202c 78cdefc0 78cbf769 78cdefcc 78cbf949
I/DEBUG (23864): 78ce203c 78cdefd4 78cc0581 78cdeb84 78cbefb5
I/DEBUG (23864): 78ce204c ffffffff 0000013d 78cc509d 3ee8ba2e
I/DEBUG (23864): 78ce205c 3f800000 400ccccd 3f800000 58585858
I/DEBUG (23864): 78ce206c 75686320 6e206b6e 6b20746f 6e776f6e
I/DEBUG (23864):
I/DEBUG (23864): memory near sp:
I/DEBUG (23864): 78cb2a28 00100000 00002000 00000000 78cb2ab0
I/DEBUG (23864): 78cb2a38 00000000 78cc2831 0000016b 78cb2bc0
I/DEBUG (23864): 78cb2a48 00000bd1 78cc398b 00000000 00000000
I/DEBUG (23864): 78cb2a58 00000040 00000001 00000bd1 00000001
I/DEBUG (23864): 78cb2a68 80e32214 75af5008 0000016b 00000040
I/DEBUG (23864): 78cb2a78 78cb3220 78cb2a6c 78cb2bd0 78cb2b18
I/DEBUG (23864): 78cb2a88 3f800000 78cb2ab0 00000001 80e336f4
I/DEBUG (23864): 78cb2a98 40142384 78cb2aa4 00000000 00000000
I/DEBUG (23864): 78cb2aa8 00000001 00000004 00000000 00000000
I/DEBUG (23864): 78cb2ab8 00000000 00000040 00000bd1 00000080
I/DEBUG (23864): 78cb2ac8 00002000 0005e880 00000400 0000003b
I/DEBUG (23864): 78cb2ad8 00000078 78cb2b18 773c1904 772a6008
I/DEBUG (23864): 78cb2ae8 00000060 78cc3b2b 00000000 0000016b
I/DEBUG (23864): 78cb2af8 773c2008 75af5008 00000070 78cc3bd7
I/DEBUG (23864): 78cb2b08 0000016b 00000040 000003f6 000003f7
I/DEBUG (23864): 78cb2b18 772a6008 00000040 00000bd1 00000060
I/DEBUG (23864):
I/DEBUG (23864): code around pc:
I/DEBUG (23864): 78cda148 e08f0000 eb0007f0 e8bd4008 ea000200
I/DEBUG (23864): 78cda158 00007f80 00008138 e92d4008 ebffff99
I/DEBUG (23864): 78cda168 e5903008 e3530000 15930000 03a00001
I/DEBUG (23864): 78cda178 e8bd8008 e92d4008 ebffff92 e5900014
I/DEBUG (23864): 78cda188 e8bd8008 e92d4008 ebffff8e e590001c
I/DEBUG (23864): 78cda198 e2900000 13a00001 e8bd8008 e92d4008
I/DEBUG (23864): 78cda1a8 ebffff88 e5900018 e8bd8008 e92d4010
I/DEBUG (23864): 78cda1b8 e1a04000 ebffff83 e3540000 b3e00000
I/DEBUG (23864): 78cda1c8 b8bd8010 e5903018 e1540003 92800008
I/DEBUG (23864): 78cda1d8 90644003 9a000003 ea000006 e5900000
I/DEBUG (23864): 78cda1e8 e2444001 e2800008 e3540000 cafffffa
I/DEBUG (23864): 78cda1f8 e590000c e8bd8010 e3e00000 e8bd8010
I/DEBUG (23864): 78cda208 e92d4010 e1a04000 ebffff6e e3540000
I/DEBUG (23864): 78cda218 ba00000f e5903018 e1540003 92800008
I/DEBUG (23864): 78cda228 90644003 9a000003 ea000009 e5900000
I/DEBUG (23864): 78cda238 e2444001 e2800008 e3540000 cafffffa
I/DEBUG (23864): !@dumpstate -k -t -z -d -o /data/log/dumpstate_app_native -m 6108
I took SimpleExample and right after create_network, slept for 5 seconds and then called destroy_network. Here's the result http://i.imgur.com/GhCDGt6.png
It holds onto about 65mb of memory. Any way around this? Thanks
It'd be very helpful if the main readme file explained the difference between the two branches...
What's the stable branch? Which one can we can use for pull requests?
Hi!
I wanted to start the project, but is says
ld: '../../iOSLibrary/DeepBelief.framework/DeepBelief(libjpcnn.o)' does not contain bitcode.
Any idea?
Is it possible to build a custom network and/or recognize multiple self-learned images simultaneously? If yes, any pointers?
After having studied the available functions in the API it seems to me it's only possible to load a preexisting network. The LearningExample also runs jpcnn_classify_image with a different layerOffset, but doesn't save the prediction values in the newValues array. Why is this done? Do we need to run jpcnn_classify_image and jpcnn_predict for the custom learned object, or is the first part just redundancy?
But my real problem is how I can create a predictor with multiple object, or add objects to the model. From studying the available methods it seems to me this isn't possible, I hope I'm wrong. Any help would be greatly appreciated.
Is there any interest in having a script that converts/imports pre-trained models from Caffe into DeepBeliefSDK? Cheers.
I have successfully compiled and run the new RPI 2 jpcnn but had a slight problem. As previously noted in issue 36, I had a problem with the original RPI code on a B2. Successfully Compiled jpcnn on RPI B2 using your B2 instructions but my B2 locked up when running the test and needed to be hard booted. After looking at the problem I determined that my previous RPI B+ install,sh had copied /usr/lib/libjpcnn;so and /usr/include/libjpcnn.h. I replaced these from new source files and all works fine now. I am looking forward to doing some testing with my robot. Since the GPU is not required for jpcnn then it should be easier to use camera in parallel. I have used multiprocessor on my robot opencv program and am hoping to put jpcnn in another thread to do object recognition.
Thanks for your excellent work. Greatly Appreciated
Claude ...
I created a new install.sh in ~/projects/DeepBeliefSDK/source per below
echo "Installing libjpcnn library files"
cp libjpcnn.so /usr/lib/
cp src/include/libjpcnn.h /usr/include/
echo "Done"
Then ran
sudo ./install.sh.
FYI I also Updated to the latest 4.0 kernel
http://news.softpedia.com/news/raspberry-pi-s-default-firmware-updated-to-linux-kernel-4-0-485088.shtml
updated firmware using commands
sudo apt-get update
sudo apt-get upgrade
sudo rpi-update
sudo reboot
sudo apt-get update
sudo apt-get upgrade
RPI B2 is overclocked per /boot/config.txt entries below.
arm_freq=1000
sdram_freq=500
core_freq=500
over_voltage=2
gpu_mem=128
Here is the output from the test that took 4637 milliseconds
pi@dawn-robot ~/projects/DeepBeliefSDK/source $ ./jpcnn -i data/dog.jpg -n ../networks/jetpac.ntwk -t -m s -d
JPCNN Network with 28 layers
Node ConvNode - conv1 - _kernelWidth=11, _kernelCount=96, _marginSize=0, _sampleStride=4, _kernels->_dims=(96, 363), _bias->_dims=(96, 1)
Node ReluNode - conv1_neuron.1 -
Node ReluNode - conv1_neuron -
Node PoolNode - pool1 - _patchWidth=3, _stride=2, _mode=max
Node NormalizeNode - rnorm1 - _windowSize=5, _k=1.000000, _alpha=0.000020, _beta=0.750000
Node GConvNode - conv2 - _kernelsCount = 256, _subnodes = Node ConvNode - conv2 - _kernelWidth=5, _kernelCount=128, _marginSize=2, _sampleStride=1, _kernels->_dims=(128, 1200), _bias->_dims=(128, 1) Node ConvNode - conv2 - _kernelWidth=5, _kernelCount=128, _marginSize=2, _sampleStride=1, _kernels->_dims=(128, 1200), _bias->_dims=(128, 1)
Node ReluNode - conv2_neuron.1 -
Node ReluNode - conv2_neuron -
Node PoolNode - pool2 - _patchWidth=3, _stride=2, _mode=max
Node NormalizeNode - rnorm2 - _windowSize=5, _k=1.000000, _alpha=0.000020, _beta=0.750000
Node ConvNode - conv3 - _kernelWidth=3, _kernelCount=384, _marginSize=1, _sampleStride=1, _kernels->_dims=(384, 2304), _bias->_dims=(384, 1)
Node ReluNode - conv3_neuron.1 -
Node ReluNode - conv3_neuron -
Node GConvNode - conv4 - _kernelsCount = 384, _subnodes = Node ConvNode - conv4 - _kernelWidth=3, _kernelCount=192, _marginSize=1, _sampleStride=1, _kernels->_dims=(192, 1728), _bias->_dims=(192, 1) Node ConvNode - conv4 - _kernelWidth=3, _kernelCount=192, _marginSize=1, _sampleStride=1, _kernels->_dims=(192, 1728), _bias->_dims=(192, 1)
Node ReluNode - conv4_neuron.1 -
Node ReluNode - conv4_neuron -
Node GConvNode - conv5 - _kernelsCount = 256, _subnodes = Node ConvNode - conv5 - _kernelWidth=3, _kernelCount=128, _marginSize=1, _sampleStride=1, _kernels->_dims=(128, 1728), _bias->_dims=(128, 1) Node ConvNode - conv5 - _kernelWidth=3, _kernelCount=128, _marginSize=1, _sampleStride=1, _kernels->_dims=(128, 1728), _bias->_dims=(128, 1)
Node ReluNode - conv5_neuron.1 -
Node ReluNode - conv5_neuron -
Node PoolNode - pool5 - _patchWidth=3, _stride=2, _mode=max
Node NeuronNode - fc6 - _outputsCount=4096, _useBias=1, _weights->_dims=(4096, 9216)
Node ReluNode - fc6_neuron.1 -
Node ReluNode - fc6_neuron -
Node NeuronNode - fc7 - _outputsCount=4096, _useBias=1, _weights->_dims=(4096, 4096)
Node ReluNode - fc7_neuron.1 -
Node ReluNode - fc7_neuron -
Node NeuronNode - fc8 - _outputsCount=999, _useBias=1, _weights->_dims=(999, 4096)
Node MaxNode - probs -
0.015300 soccer ball
0.020866 standard poodle
0.169138 boxer
0.038989 corgi
0.213237 Staffordshire bullterrier
0.024005 greyhound
0.012390 English setter
0.013972 miniature poodle
0.016022 tennis ball
0.025065 dalmatian
0.394529 golden retriever
Classification took 4637 milliseconds
I am trying to get image from Assets using following code -
NSString* networkPath = [[NSBundle mainBundle] pathForResource:@"jetpac" ofType:@"ntwk"];
if (networkPath == NULL) {
fprintf(stderr, "Couldn't find the neural network parameters file - did you add it as a resource to your application?\n");
assert(false);
}
network = jpcnn_create_network([networkPath UTF8String]);
assert(network != NULL);
ALAsset *result = self.assets[0];
NSString *imagePath; // = [[NSBundle mainBundle] pathForResource:@"slrCamera" ofType:@"png"];
imagePath = [result.defaultRepresentation.url absoluteString];
ALAssetsLibrary *lib = [ALAssetsLibrary new];
NSURL *url = result.defaultRepresentation.url;
[lib assetForURL:url resultBlock:^(ALAsset *asset) {
NSString *finalImagePath = [asset.defaultRepresentation.url absoluteString];
void* inputImage = jpcnn_create_image_buffer_from_file([finalImagePath UTF8String]);
float* predictions;
int predictionsLength;
char** predictionsLabels;
int predictionsLabelsLength;
jpcnn_classify_image(network, inputImage, 0, 0, &predictions, &predictionsLength, &predictionsLabels, &predictionsLabelsLength);
jpcnn_destroy_image_buffer(inputImage);
for (int index = 0; index < predictionsLength; index += 1) {
const float predictionValue = predictions[index];
char* label = predictionsLabels[index % predictionsLabelsLength];
NSString* predictionLine = [NSString stringWithFormat: @"%s - %0.2f\n", label, predictionValue];
NSLog(@"predictionLine \n %@", predictionLine);
}
jpcnn_destroy_network(network);
} failureBlock:^(NSError *error) {
NSLog(@"error = %@", error);
}];
But it crashes with following error -
jpcnn couldn't open 'assets-library://asset/asset.JPG?id=CC74B475-2402-4494-8777-67E7659AB7BE&ext=JPG'
Hi, I was trying to recompile the sources file on Windows 7 but I ran into a few errors.
First the command:
LIBSRCS:=$(shell find src/lib -name '*.cpp')
doesn't work on windows 7 so I used the following to locate all the files:
LIBSRCS:=$(shell find src/lib -name '*.cpp')
And the following directories doesn't exist on my computer so I changed to match my path.
../eigen
/Users/petewarden/android_ndk/sources/cxx-stl/gnu-libstdc++/4.6/include
/Users/petewarden/android_ndk/sources/cxx-stl/gnu-libstdc++/4.6/libs/armeabi/include
But I'm also getting compiler errors such as:
qpu_gemm.cpp: error: 'class Buffer' has no member named _gpuMemoryBase
Hi, would it be possible to create bindings for Xamarin iOS?
I have a caffe model which was trained on the AlexNet architecture on my own dataset.
Any leads on how to convert the said model to a *.ntwk file so it can be used in the DeepBeliefSDK ?
I couldnot find any documentation at all binary format, and currently trying to hack my way through binary_format.cpp and the graph manipulation code.
But I have a feeling someone else has already done this. Any leads ?
Hey Pete,
I know your busy, and support for DeepBelief is low/non-priority
But could we get the next build with bitcode enabled? It would give DeepBelief longer legs, once apple starts making bit code mandatory.
Here's the error, and the current fix is as easy as changing the Enable Bitcode setting in Build Settings from YES to NO.
Current error message reads
'''
'/Frameworks/DeepBelief.framework(libjpcnn.o)' does not contain bitcode. You must rebuild it with bicode enabled (XCode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target. for architecture arm64
clang: error: linker command failed with exit code 1
'''
Pretty sure there's no way I can rebuild the package on my side, is there?
Lucky to have folks like you on the planet.
I make this with gemm qpu-asm complete and run
./jpcnn -i data/dog.jpg -n ../networks/jetpac.ntwk -t -m s -d
After that, my Raspberry Pi 2 have no respone, it crash and no result. Please help me solve this problem.
Thanks
Does your library work in windows or ubuntu? Is there support for it?
I have successfully installed and run the SDK on one of my RPI B+ with no problems. Memory set to 128.
Tried the same install procedure several times on a new RPI B 2 quadcore. The machine consistently locks up when trying to run the example/SimpleLinux sudo ./deepbelief test. RPI then needs a hard reboot to get working again. Not sure if this is an issue with RPI B 2 but would like to see if anyone else has a similar problem.
Thanks
Hi everybody,
I get crashes when I try run the android example. When it hits Line 167.
I read in the previous issues that this was patch so I'm not sure if it's because of the device I'm using (API 19 on a Samsung Galaxy S3).
Any ideas? Thank you very much.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.