Nikhil created MADLIB-1348:
------------------------------

             Summary: Weight initialization/transfer learning madlib_keras_fit()
                 Key: MADLIB-1348
                 URL: https://issues.apache.org/jira/browse/MADLIB-1348
             Project: Apache MADlib
          Issue Type: Improvement
          Components: Deep Learning
            Reporter: Nikhil
             Fix For: v1.16


Context

Many deep neural nets are not trained from scratch, but rather initialized from 
weights generated by training related data sets using the same model 
architecture (particularly true for CNN). 

Story

As a data scientist,
I want to start training a model based on weights that I have, 
so that I don't have to start from scratch.
* e.g,  use weights from one dataset (e.g., VGG-16 on Imagenet) as starting 
point to training VGG-16 model on my data.

Details

1. add support for optional param to load weights
2. add  “name” , “description” to model arch table

Interface

{code}

load_keras_model(
    keras_model_arch_table,
    model_arch,
    model_weights,  -- OPTIONAL
    name,  -- OPTIONAL
    description  -- OPTIONAL
)

{code}


Acceptance

1. Take a trained model with a known accuracy and load into the model arch 
table (can be simple).
2. Use it as input to training with fit() on the same data set it was trained 
on.  Since it has already converged, it should show the same accuracy on the 
1st or 2nd iteration as before.
3. Test load from keras library [2].  Pick any model, get the weights and test 
load into model arch table.  Test for 1 or 2 iterations on any dataset to check 
that it runs.

Reference

[1] VGG16 and other pre-trained weights for Imagenet are built into Keras
https://keras.io/getting-started/faq/#how-can-i-use-pre-trained-models-in-keras

[2] http://cs231n.github.io/transfer-learning/



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to