Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Compiled and tested RPI 2 jpcnn Had problem with previous /usr/lib/libjpcnn.so and include #50

Open
pageauc opened this issue Jun 27, 2015 · 2 comments

Comments

@pageauc
Copy link

pageauc commented Jun 27, 2015

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

!/bin/sh

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

@pageauc pageauc changed the title Installed and tested RPI 2 jpcnn. problem with previous /usr/lib/libjpcnn.so and include Installed and tested RPI 2 jpcnn Had problem with previous /usr/lib/libjpcnn.so and include Jun 27, 2015
@pageauc pageauc changed the title Installed and tested RPI 2 jpcnn Had problem with previous /usr/lib/libjpcnn.so and include compiled and tested RPI 2 jpcnn Had problem with previous /usr/lib/libjpcnn.so and include Jun 27, 2015
@pageauc pageauc changed the title compiled and tested RPI 2 jpcnn Had problem with previous /usr/lib/libjpcnn.so and include Compiled and tested RPI 2 jpcnn Had problem with previous /usr/lib/libjpcnn.so and include Jun 27, 2015
@Crowpeng
Copy link

HI pageauc, could you tell me how to deal with be locked up when running the test on RPI 2 and needed to be hard booted? i do need your help,thanks!

@pageauc
Copy link
Author

pageauc commented May 18, 2017

The explanation of what I did is at the top of this issue. Basically copied certain files so python so would be from the compiled version. Here is a summary of the script I wrote

I created a new install.sh in ~/projects/DeepBeliefSDK/source per below

!/bin/sh
echo "Installing libjpcnn library files"
sudo cp libjpcnn.so /usr/lib/
sudo cp src/include/libjpcnn.h /usr/include/
echo "Done"

Then ran
sudo ./install.sh.

Note hang only happened because I had a previous version of these files and had to update them per the commands above.

To resolve the original hang I had to unplug and replug the power on the RPI
Claude ...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants