simshineaicamera / SIMCAM_SDK

SimCam SDK
60 stars 15 forks source link

Unable using either docker file to build my own model #6

Open jiver54 opened 4 years ago

jiver54 commented 4 years ago

I am trying to train my own caffee model. I have a pre existing set of images and annotations which were created using labelImg. I installed the docker file: sudo docker run -ti --name=simcamsdk -v /home/myname/:/home/myname/ simcam/simcamsdk:v1.0 bash

I copied the images to to: /SIMCAM_SDK_v1.0.0/train/data/Images_xmls/JPEGImages and the XML annotations to: /SIMCAM_SDK_v1.0.0/train/data/Images_xmls/Annotations Executed: python create_txt.py This created the appropriate text files I modified the /SIMCAM_SDK_v1.0.0/train/data/lmdb_files/labelmap.prototxt file as such: item { name: "WeedyLeft" label: 0 display_name: "WeedyLeft" } item { name: "WeedyRight" label: 1 display_name: "WeedyRight" } item { name: "FlankLeft" label: 2 display_name: "FlankLeft" } item { name: "FlankRight" label: 3 display_name: "FlankRight" }

I ran the script: ./create_list.sh This threw the following error:..... ./create_list.sh: line 17: [: missing ]' Create list for Images_xmls trainval... ./create_list.sh: line 17: [: missing]' Create list for Images_xmls test... WARNING: Logging before InitGoogleLogging() is written to STDERR F0923 08:10:51.719509 63 get_image_size.cpp:110] This tool requires OpenCV; compile with USE_OPENCV. ** Check failure stack trace: ./create_list.sh: line 8: 63 Aborted (core dumped) $caffe_root/build/tools/get_image_size $root_dir $dst_file $bash_dir/$dataset"_name_size.txt"**

Then I tried sudo docker run --runtime=nvidia -ti --name=simcam -v /home/your_username:/home/your_username simcam/caffe-ssd:gpu bash This would only run with the --runtime=nvidia removed.. The SDK is not in this docker file.. So I started the install I had to get-apt install git git clone https://github.com/simshineaicamera/SIMCAM_SDK.git cd SIMCAM_SDK cd SIMCAM_SDK/tools/arm_toolchain chmod +x cross.v300.install ./cross.v300.install apt-get install lib32z1 apt-get install lib32stdc++6-4.8-dbg ./install-ncsdk.sh vi ~/.bashrc (Added this line to the bottom of the file) export PATH="/opt/hisi-linux/x86-arm/arm-hisiv300-linux/target/bin:$PATH" source ~/.bashrc arm-hisiv300-linux-gcc -v cd $SIMCAM_SDK/tools/mv_toolchain/model_conversion/ ./install-ncsdk.sh

I got the following error... Movidius Neural Compute Toolkit Setup. Checking OS and version... Your current combination of linux distribution and distribution version is not officially supported!

So I have failed with BOTH docker files... sigh... any ideas?

jiver54 commented 4 years ago

I have fixed one of the problems when I run the ./create_list.sh: .... I space is needed on line 17 i.e. instead of if [ $dataset == "test"] ... it should be if [ $dataset == "test" ] ... with a space.

The error now is .. Create list for Images_xmls trainval... WARNING: Logging before InitGoogleLogging() is written to STDERR F0924 01:13:32.694209 210 get_image_size.cpp:110] This tool requires OpenCV; compile with USE_OPENCV. Check failure stack trace: ./create_listFIX.sh: line 8: 210 Aborted (core dumped) $caffe_root/build/tools/get_image_size $root_dir $dst_file $bash_dir/$dataset"_name_size.txt"

I Installed version3 of openCV I used the instructions on https://gist.github.com/arundasan91/b432cb011d1c45b65222d0fac5f9232c This failed except when I did the following:

cd /usr/lib/x86_64-linux-gnu sudo ln -s libhdf5_serial.so.8.0.2 libhdf5.so sudo ln -s libhdf5_serial_hl.so.8.0.2 libhdf5_hl.so and as well as the Makefile.config flags I also set

INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial/ and LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu/hdf5/serial/ It then compiled.. That is now working properly, except now I get. ./create_list.sh: line 46: /opt/movidius/ssd-caffe/build/tools/get_image_size: No such file or directory I will keep trying...

jiver54 commented 4 years ago

Reloaded the whole thing again to make sure amongst the debugging I didn't break something.. So the non-GPU docker file.. if you are to use that there is a syntax error in the "create_list.sh" file and caffe has been compiled without the openCV switch being set. This switch needs to be set so "create_list.sh" can run. They are definite errors. (OpenCV is not actually installed) Also when you have a Docker session labelImg does not run. It throws an error "labelImg: cannot connect to X server localhost:1.0"... "