DLtrain is used handling AI Inference workflow such as

  1. Inferencing by using NN model.

  2. Inferencing by using g CNN model

Above AI inferring workload ported into Android phones as well by using Android NDK. Added to that it is ported to many EDGE computers boards such as Jetson Nano, Mistral Neuron etc For example https://www.jkuse.com/dl-in-iot-edge/j7-app J7 app popular example application in Android phone. Deployment of training AI model in Android phone is handled in J7 app and very good details given in the above.

Above mentioned DLtrain platform development took few years of innovation and coding. DLtrain is designed to make their silicon EDGE computing ready for AI work load. DLtrain is a perfect tool to handle issues in porting trained AI models in Edge computers with ease.

DLtrain working with CNN Model (via Docker )

A drawback with this multi-platform support is that one Docker image has to be built for each specific target platform, i.e. a specific operating system and hardware architecture. So, if you want to be able to run your Docker container on both Linux and Windows using Intel 64-bit hardware you must create two Docker images, one for Linux and one for Windows. You also have to create each Docker image using a Docker engine running on the specific target platform.


A Dockerfile is basically a text document that contains the list of commands which can be invoked by a user using the command line in order to assemble an image Docker Image read-only templates are nothing but the building blocks of a Docker Container . A Docker Container is the running instance of a Docker Image


How to create a docker file ?

How to build docker image ?

How to deploy docker image ?

How to run docker image ?

How to stop Docker image running ?

How to delete docker image ?

How to create Container with Docker image?

How to deploy container?


sudo docker rmi -f << docker image ID>> // delete docker image with this ID

sudo docker rm -f << docker container ID>> // delete docker container with this ID

sudo docker image ls //To see the image you just pulled, type the below command

sudo docker run hello-world

sudo docker run --rm -it hello-world:latest // runs latest and rm deletes after it runs



dev/dockerNov23/app$ sudo docker login

Authenticating with existing credentials...

WARNING! Your password will be stored unencrypted in /home/mistral/.docker/config.json.

Configure a credential helper to remove this warning. See

https://docs.docker.com/engine/reference/commandline/login/#credentials-store


Login Succeeded


appbuildforbbuntu Build this first (Base container)

app container is building need to taken up after Base Container build

dltrain:1.0.0


// following worked to push local image to docker hub

dev/dockerNov23/app$ sudo docker tag dltrain:1.0.0 jkhome/dltrain:1.0.0

dev/dockerNov23/app$ sudo docker push jkhome/dltrain:1.0.0



/dev/dockerNov23/app$ sudo docker push jkhome/dltrain:1.0.0

The push refers to repository [docker.io/jkhome/dltrain]

d55ee02ea098: Pushed

6557b027d9ae: Pushed

77547bcae516: Pushed

76938074632d: Pushed

5f5083519224: Pushed

0879abc5008e: Pushed

a5c4338af7f3: Pushed

083779f16fbf: Pushed

7a694df0ad6c: Pushed

3fd9df553184: Pushed

805802706667: Pushed

1.0.0: digest: sha256:94d71c05c716e7d234e66cfa51f58120d47b209aaf31b64676eff04b3e975868 size: 2610

/dev/dockerNov23/app$


Build appbuildforbbuntu:0.1.0 and keep this is ready then build dltrain:1.0.0

Mentioned above process is worked well


/dev/dockerNov23$ sudo docker build . -t appbuildforbbuntu:0.1.0

/dev/dockerNov23/app$ sudo docker build . -t dltrain:1.0.0


dev/dockerNov23/app$ docker run --rm -it dltrain:1.0.0 -m train -s NewNetwork.dat -c network_prop.txt -n 2000 -e 3

DLtrain used to train CNN



dev/dockerNov23/app$ sudo docker run --rm -it dltrain:1.0.0 -m infer -s NewNetwork.dat -c network_prop.txt -n 14

DLtrain used to infer given image


//////sudo docker pull jkhome/dltrain:1.0.0


/tst1$ sudo docker pull jkhome/dltrain:1.0.0

1.0.0: Pulling from jkhome/dltrain

171857c49d0f: Already exists

419640447d26: Already exists

61e52f862619: Already exists

4ac9b033c679: Pull complete

bf21ea76f89b: Pull complete

fcf360b180ac: Pull complete

043a8708b6d2: Pull complete

138c09806188: Pull complete

5e15a5a3d6b4: Pull complete

0978d35d7bc5: Pull complete

2cd4d5cea17d: Pull complete

Digest: sha256:94d71c05c716e7d234e66cfa51f58120d47b209aaf31b64676eff04b3e975868

Status: Downloaded newer image for jkhome/dltrain:1.0.0

docker.io/jkhome/dltrain:1.0.0


This image is pulled from docker hub and used in the following and worked well

/tst1$ sudo docker run --rm -it jkhome/dltrain:1.0.0 -m train -s NewNetwork.dat -c network_prop.txt -n 2000 -e 3

jj1

jj2

Loaded 2000 image data!

jj3

jj4

jj5

jj6

Constructed required matrices.

Loaded network successfully!

1% | Epoch left: 2

2% | Epoch left: 2

3% | Epoch left: 2

4% | Epoch left: 2

5% | Epoch left: 2

6% | Epoch left: 2

7% | Epoch left: 2


/tst1$ sudo docker run --rm -it jkhome/dltrain:1.0.0 -m infer -s NewNetwork.dat -c network_prop.txt -n 14

Loaded 14 image data!

jj3

jj4

jj5

jj6

Constrcuted required matrices.

Loaded network successfully!

Running inference on 14 images.Number: 5 | Guessed: 7 | Accuracy: -nan

Number: 0 | Guessed: 0 | Accuracy: 100

Number: 4 | Guessed: 4 | Accuracy: 100

Number: 1 | Guessed: 1 | Accuracy: 100

Number: 9 | Guessed: 4 | Accuracy: 75

Number: 2 | Guessed: 4 | Accuracy: 60

Number: 1 | Guessed: 1 | Accuracy: 66.6667

Number: 3 | Guessed: 3 | Accuracy: 71.4286

Number: 1 | Guessed: 1 | Accuracy: 75

Number: 4 | Guessed: 4 | Accuracy: 77.7778

Number: 3 | Guessed: 3 | Accuracy: 80

Number: 5 | Guessed: 1 | Accuracy: 72.7273

Number: 3 | Guessed: 0 | Accuracy: 66.6667

Number: 6 | Guessed: 6 | Accuracy: 69.2308