[mlpack] GSoC 2020: Visualization Tool

Gopi Manohar Tatiraju deathcoderx at gmail.com
Thu Mar 12 16:24:00 EDT 2020


Hey Rahul,

If you don't mind me asking, are you mentoring this project? Coz it was not
listed on the idea page and there are many things which I would I like to
discuss about this project from a mentor's perspective.
About serialized model, I need to go through the saved .h5 file to see how
exactly we can use it. Also I am just trying to determine what all can be
included in this project, I am yet to decide how to implement these things
coz there are many options available. As it was mentioned on the idea page
that proof of concept is required so I am just working on determining the
outlines of the project first,

Regards.
Gopi M Tatiraju


On Fri, Mar 13, 2020 at 1:35 AM Rahul Prabhu <cupertinorp at gmail.com> wrote:

> Hey Gopi,
> Thanks for the interest in this project. I was wondering, to visualize the
> neural network, could we not just parse the serialized model returned by
> data::Save()?
>
> On Thu, Mar 12, 2020 at 11:59 PM Gopi Manohar Tatiraju <
> deathcoderx at gmail.com> wrote:
>
>> Hey,
>>
>> Regarding Visualization Tool, I think we may need to use one or more
>> different libraries to build it, so a discussion regarding the dependencies
>> is needed to proceed further.
>>
>> I took the example of Digit Recogniser
>> <https://github.com/mlpack/models/tree/master/Kaggle> and started
>> working on it.
>>
>> I started by visualising the dataset itself. Using OpenCV I wrote code to
>> read images from CSV file and display them(OpenCV doesn't have any function
>> to read csv files as images).
>>
>> Now I think another good visual will be a list of all the layers and
>> activation function which are used and connections between them. Now we
>> have some options to do this:
>>
>>    1. *Total Naive Approach: *We can use file handling. Our tool will
>>    take code file as input. All layers are added like this(Add<Parameter>). We
>>    can detect the parameters and using openCV we can arrange them in a graph
>>    fashion.
>>    2. *A better approach: *A better approach will be to add a variable
>>    or function (for ex. FNN class) which keep track of the layers being added
>>    and other required parameters. Then we can create an object of visual
>>    class, and the FNN class object can be passed to this visual class which
>>    then can produce the required visualization.
>>
>> *Method 1 *maybe not that efficient and is prone to many errors as here
>> we also have to ensure code file given by the user contains right code and
>> all the connections are properly done. But here we don't need to touch any
>> of the base code of the library so required testing will be only be limited
>> to Visual Tool Class
>>
>> *Method 2 *is efficient but changing the base code of the library will
>> required extensive testing before we can merge it. Testing will take more
>> time here, but using objects can we more beneficial.
>>
>> I need some views regarding what method should be chosen and how to
>> proceed from here. Once the flow is established other parameters like
>> accuracy, bias and other parameters can be visualised using graphs. I have
>> some parameters in mind for now, we can also take some inspiration from
>> tensor-board <https://www.tensorflow.org/tensorboard> for that.
>>
>> Waiting for suggestion as  I am planning to implement a proof of concept
>> so that we can understand the project better.
>>
>> Regards
>> Gopi M Tatiraju
>>
>> _______________________________________________
>> mlpack mailing list
>> mlpack at lists.mlpack.org
>> http://knife.lugatgt.org/cgi-bin/mailman/listinfo/mlpack
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://knife.lugatgt.org/pipermail/mlpack/attachments/20200313/150ae909/attachment.htm>


More information about the mlpack mailing list