-
As a base, we will use the web service, developed in the previous article, which is available in this repository. We will just rewrite the backend of this web service on different languages. That is why it's required to read the first article before continue reading this.
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
You can find the whole project with comments in this GitHub repository.
-
ONNXRuntime - this is the Julia bindings for ONNX runtime library.
-
You can find the source code of the Julia project in this repository.
-
multer - Middleware for Express.js to handle file uploads
-
You can find a source code of Node.js object detector web service in this repository.
-
You can find a source code of JavaScript object detector web service in this repository.
-
github.com/yalue/onnxruntime_go - ONNX runtime library bindings for Golang
-
github.com/nfnt/resize - the library to resize images. (Perhaps you can find more modern library, but I just used this one because it works properly)
-
Before continue, ensure that the ONNX runtime installed on your operating system, because the library that integrated to the Rust package may not work correctly. To install it, you can download the archive for your operating system from here, extract and copy contents of "lib" subfolder to the system libraries path of your operating system.
-
tensor
package tensor provides efficient and generic n-dimensional arrays in Go that are useful for machine learning and deep learning purposes
If you like to work with this output in a more convenient "Pythonic" way, there is a Gorgonia Tensor library that emulates features of NumPy in Go. You can use it to physically reshape the output to 84x400, then transpose to 8400x84 and then traverse detected objects by row.
-
You can find a source code of Go object detector web service in this repository.
-
ort - ONNX runtime library.
-
You can find a source code of Rust object detector web service in this repository.
-
Also, there are unofficial bindings for other languages, like PHP. It's a great way to integrate neural networks to WordPress websites.
-
sharp
High performance Node.js image processing, the fastest module to resize JPEG, PNG, WebP, AVIF and TIFF images. Uses the libvips library.
sharp - An image processing library
-
serde,serde_derive,serde_json - Serialization library to serialize data to JSON.
-
rocket - Web framework.
-
express - Express.js web framework