Hi all Scilab and machine learning enthusiasts,

Great to have this topic in the mailing list as I am also exploring in deep learning recently.

From my point of view, there are a few possibilities to build the ML toolbox in Scilab, namely: 1. Using the Scilab Matrix operation (Pro: fast for the parts which allow vectorization, Con: memory issue. Not sure about GPU support)
2. Using C/C++ API, such as caffe, caffe2, dlib, tiny dnn....?
3. Using Python API through PIMS, such as python with tensorflow, keras, dlib...? 4. Using Java interface throught JIMS, such as....? (a few i came across which never explore..)

For the small to medium size network such as conventional FFBP, i think method one would have advantage as the batch processing could speed up the training and the codes are highly "readable" for non hardcore programmer. The network weights which could be simply representing by the matrices (1-2 hidden layers) and let the users easily visualize the "internal beauty" of the trained network with Scilab visualization features.

However, when we move to CNN, or other deep learning network, i am not sure whether we could leverage the advantage of this. Or at least, it won't be a "jumpstart" way to build a new ML module.

In seeing this, a quick "jumpstart" could be looking into the 2-4 methods. Then another issue might appear. Each of these having their class/structure to keep the complicated deep network architecture, and how are we going to interface this to Scilab? Should we: 1. Use the objects (Java objects, C++ class object in Scilab) to access the network created or loaded through the API?
2. Convert the objects into the Scilab mlist so it is more readable?

Then from the Scilab programmers point of view, if we were using the JIMS or PIMS, at the ends the Scilab codes would be very much looks like Python or Java style, unless we wrote another macros to wrap all these into Scilab style. So far I think the C/C++ API might be the most "seamless" integrated into Scilab, which we could utilizing parts of the C/C++ libraries while others work in Scilab

Finally as for the GPU usage concern, using libs could have solve this depending on the lib being used.

Forgive me if I made any mistake, just my 2 cents.

Regards,
Tan Chin Luh
_______________________________________________
dev mailing list
[email protected]
http://lists.scilab.org/mailman/listinfo/dev

Reply via email to