Basics and usage scenarios of Mech-DLK SDK

The Mech-DLK SDK is now officially released.

Click here to access the download center.

I. SDK and API

1. What is an SDK?

An SDK (Software Development Kit) is a collection of software development tools, which usually consists of APIs, code libraries, documentation, code examples, tools, etc. Simply put, it contains everything necessary to develop a specific program. With this kit, developers can complete the entire development process of a designated program.

2. What is an API?

API stands for application programming interface. In simple terms, APIs are pre-defined functions that can be called to perform certain tasks. Users can use these functions without an understanding of the underlying implementation logic.

3. Difference between SDK and API

An API is a function with specific functionalities while an SDK, a collection of many functions, is a tool kit. Specifically, an SDK contains packages of different functions, and an API serves as the interface between SDK and other applications. Users can call the API by inputting specified parameters to execute the corresponding functionality in the SDK. For instance, if you want to perform addition or subtraction, you can call the corresponding API from the SDK to do the operation. No matter what computation you want to accomplish, there is always a method available in the SDK to achieve it.

II. Mech-DLK SDK

1. What is Mech-DLK SDK?

Mech-DLK SDK is a secondary development software kit specifically designed to be used with Mech-DLK. Its main purpose is to help developers easily do deep learning inference in their software systems. With Mech-DLK SDK, developers can rapidly deploy deep learning models and flexibly integrate deep learning functionality into their own applications without reliance on Mech-Vision.

2. What can Mech-DLK SDK do?

Mech-DLK SDK is a software development kit used for model deployment. Model deployment refers to the process of applying a trained model to real-world scenarios for inference. The basic model deployment process is illustrated below:

Mech-DLK SDK is mainly used to do model inference and display the results. It does not support other 2D processing algorithms, and users need to develop them on their own.

3. Which programming languages does Mech-DLK SDK support?

Currently, Mech-DLK SDK supports development in C and C#, and development in C++ and Python will be supported soon.

4. What third-party software does Mech-DLK SDK support?

It has been verified that Mech-DLK SDK supports the integration with LabVIEW to load and call DLLs in C#. In addition, as long as third-party software can support the calling of program blocks in C, C#, or C++, it can be integrated with Mech-DLK SDK and thus call program blocks.

5. What are the requirements for development with Mech-DLK SDK?

  1. Dongle: A Pro license dongle is required.
  2. Computer specifications: The deployment device should have an Nvidia GPU (GeForce RTX 3060 or higher is recommended), an Intel CPU (Intel 9th Gen CPU or higher is recommended), and at least 16GB of memory.
  3. Users should have practical programming skills to complete the development of the functionalities they need by reading the development documentation. Examples of such users include vision development engineers from vision vendors or agents (more likely to use C# and occasionally C++), automation teams from major end customers (more likely to use platform software, such as LabVIEW or third-party vision software adapted to our Mech-DLK SDK, for indirect development), and faculty and students of colleges and universities (more likely to use Python for development).

Appendix: Frequently Asked Questions (FAQ)

  1. Can models trained with Mech-DLK be used in other software?
    Yes, models trained with Mech-DLK can be used in other software, provided that the software supports the loading of inference models with Mech-DLK SDK and can call corresponding programming languages to write programs and thus use the models.
  2. Can other models be used in Mech-Vision / Mech-DLK SDK?
    No, Mech-Vision / Mech-DLK SDK can only use models trained with Mech-DLK or provided super models.
  3. Can models trained with Mech-DLK be converted into other model formats?
    No, they cannot be converted.