Example Code

Deep Learning Library for LabVIEW

Products and Environment

This section reflects the products and operating system used to create the example.

To download NI software, including the products shown below, visit ni.com/downloads.

    Hardware

  • Machine Vision

    Software

  • LabVIEW

    Operating System

  • Windows

Code and Documents

Attachment

Description

EVEAI is a Deep Learning Library based on python Keras and Tensorflow. EVEAI dll allows embedding inference images from keras models into user-written applications. Under Windows, the EVEAI training Tool provides services to train user specific image datasets and EVEAI dll provides services to existing Windows applications which support inference images.

 

You can find this project here

 

For labVIEW users , you do not need to learn python/tensorflow/keras , all you need to do is :

1. Prepare your own dataset.

2. Make annotation by training tool.

3. Train models by training tool.

4. Evaluate result by training tool.

5. Follow the sample code to integrate EVEAI to your project.

Vision Applications

Image Classification:

Assigning a label to an image, for example:Labeling an image is a cat or a dog.

Semantic Segmentation

Segmenting pixels in an image to different categories of object, for example: street view image segmentation.

Object Detection(MaskRCNN) (only inference,still working for annotation tool)

Tracking multiple objects in an image,for example: real-time tracking chinese chess positions. This algorithm source code is written by fizyr

 

 

Using MaskRCNN algorithm to detect different screws and washers including 2 screws are not for detect.

 

 

How to Use

1. Make sure download CPU or GPU runtime and training tool

2. Install CPU or GPU runtime

3. Install training tools , labview sample code is inside.

4. Prepare your own image dataset , use training tool to do annotation and training deep learning model.

5. Evaluate trained model result by using training tool.

6. Modify model path in sample code to your model path.

 

 

Additional Information

1. Sample code is written in LabVIEW2015(x86) , should be work for all version.

2. x86/x64 dll are ready to use , so x64 labview should be ok.

 

 

Related Links

My project is here , feel free to ask questions.

 

 

Example code from the Example Code Exchange in the NI Community is licensed with the MIT license.

Comments
jjbloomfield
Member
Member
on

Google thinks there is a virus in the training tool and prohibits downloading it saying, "only the owner can download an infected file".

Neghab
Member
Member
on

The link for the training tool is not working. Could you please update the link? 

HKPhysicist
Member
Member
on

Guys,

Files are here on Sourceforge:  😊

https://sourceforge.net/projects/project-eveai/

HKPhysicist
Member
Member
on

Do we need extra LabView modules to work with this Deep Learning Library?

 

When I run the vi, it asked me for extra VI.

nguyenxuanthai
Member
Member
on

Thank you very much for your work. It is very nice.

I followed your installation guide and installed it as the guide.

But when I run the Training Tool, it seems to be nothing happen.

The circle is rolling infinity as the screenshot below.

Please help me with that error.

Screenshot 2021-08-27 080214.png

adanali
Member
Member
on

Hi Hommoner;

I want to use your deep learning software for determination of the severity level but I don’t know how to use the software. For example, what should be the image resolution? How and where can I create Train Folder, Validate Folder, Test Folder and Save Model Folder? Which algorithm (Image Classification or MaskRCNN) should be used? At least, how many photos should be taken?

I would appreciate it if you could write what step I should start with first and the steps I should follow.

 

Thanks for your kind interest.

Best Regards,

YoussefMenjour
Member
Member
on

Dear Community,

 

The HAIBAL project is structured in the same way as Keras.

The project consists of more than 3000 VIs including, all is coded in LabVIEW native:😱😱😱

  • 16 activations (ELU, Exponential, GELU, HardSigmoid, LeakyReLU, Linear, PReLU, ReLU, SELU, Sigmoid, SoftMax, SoftPlus, SoftSign, Swish, TanH, ThresholdedReLU), nonlinear mathematical function generally placed after each layer having weights.
  • 84 functional layers/layers (Dense, Conv, MaxPool, RNN, Dropout, etc…).
  • 14 loss functions (BinaryCrossentropy, BinaryCrossentropyWithLogits, Crossentropy, CrossentropyWithLogits, Hinge, Huber, KLDivergence, LogCosH, MeanAbsoluteError, MeanAbsolutePercentage, MeanSquare, MeanSquareLog, Poisson, SquaredHinge), function evaluating the prediction in relation to the target.
  • 15 initialization functions (Constant, GlorotNormal, GlorotUniform, HeNormal, HeUniform, Identity, LeCunNormal, LeCunUniform, Ones, Orthogonal, RandomNormal, Random,Uniform, TruncatedNormal, VarianceScaling, Zeros), function initializing the weights.
  • 7 Optimizers (Adagrad, Adam, Inertia, Nadam, Nesterov, RMSProp, SGD), function to update the weights.

 

 

 Currently, we are working on the full integration of Keras in compatibility HDF5 file and will start soon same job for PyTorch. (we are able to load model from and will able to save model to in the future – this part is important for us).

Well obviously, Cuda is already working if you use Nvidia board and NI FPGA board will also be – not done yet.

We also working on the full integration on all Xilinx Alveo system for acceleration.

User will be able to do all the models he wants to do; the only limitation will be his hardware. (we will offer the same liberty as Keras or Pytorch) and in the future our company could propose Harware (Linux server with Xilinx Alveo card for exemple --> https://www.xilinx.com/products/boards-and-kits/alveo.html All full compatible Haibal !!!)

 

About the project communication: 

The website will be completely redone, a Youtube channel will be set up with many tutorials and a set of known examples will be offered within the library (Yolo, Mnist, etc.).

For now, we didn’t define release date, but we thought in the next July (it’s not official – we do our best to finish our product but as we are a small passionate team (we are 3 working on it) we do our best to release it soon).

 

This work is titanic and believe me it makes us happy that you encourage us in it. (it boosts us). In short, we are doing our best to release this library as soon as possible.

Still a little patience …

 

Youtube Video :


 

This exemple is a template state machine using HAIBAL library.

It show a signal (here it's Cos) and the neural network during his training has to learn to predict this signal  (here we choose 40 neurones by layers, 5 layers, layer choose is dense).

This template will be proposed as basic example to understood how we initialize, train and use neural network model.  This kind of "visualisation exemple" is inspired from https://playground.tensorflow.org/ help who want to start to learn deep learning.

Youssef Menjour 

Certified LabVIEW Architect (CLA)

Technologies de France

 


Youssef Menjour


Graiphic


www.Graiphic.io


y.menjour@graiphic.io


LabVIEW architect passionate about robotics and deep learning.



Follow us on LinkedIn
linkedin.com/company/graiphic



Follow us on YouTube
youtube.com/@graiphic



NicSab
Member
Member
on

Hi,

 

Would like to try this out but when I try to download the training tool from your Google Drive, it says "Sorry this file is infected with a virus. Only the owner is allowed to download infected files."

 

YoussefMenjour
Member
Member
on

If you want to make deep learning with LabVIEW use HAIBAL the graphical deep learning langage. Available in december 2022 on VIPM or www.haibal.com


Youssef Menjour


Graiphic


www.Graiphic.io


y.menjour@graiphic.io


LabVIEW architect passionate about robotics and deep learning.



Follow us on LinkedIn
linkedin.com/company/graiphic



Follow us on YouTube
youtube.com/@graiphic



Contributors