$30 off During Our Annual Pro Sale. View Details »

JGS594 Lecture 11

JGS594 Lecture 11

Software Engineering for Machine Learning
Working with a Model
(202202)

Javier Gonzalez-Sanchez
PRO

February 23, 2022
Tweet

More Decks by Javier Gonzalez-Sanchez

Other Decks in Programming

Transcript

  1. jgs
    SER 594
    Software Engineering for
    Machine Learning
    Lecture 11: Working with a Model
    Dr. Javier Gonzalez-Sanchez
    [email protected]
    javiergs.engineering.asu.edu | javiergs.com
    PERALTA 230U
    Office Hours: By appointment

    View Slide

  2. jgs
    Previously …

    View Slide

  3. Javier Gonzalez-Sanchez | SER 594 | Spring 2022 | 3
    jgs
    Listeners
    https://refactoring.guru/design-patterns/observer

    View Slide

  4. Javier Gonzalez-Sanchez | SER 594 | Spring 2022 | 4
    jgs
    Listeners
    // add this before calling fit()
    model.setListeners(new MyListener());

    View Slide

  5. Javier Gonzalez-Sanchez | SER 594 | Spring 2022 | 5
    jgs
    MyListener

    View Slide

  6. Javier Gonzalez-Sanchez | SER 594 | Spring 2022 | 6
    jgs
    Output

    View Slide

  7. Javier Gonzalez-Sanchez | SER 594 | Spring 2022 | 7
    jgs
    Output
    0
    0.2
    0.4
    0.6
    0.8
    1
    1.2
    1.4
    1.6
    1
    21
    41
    61
    81
    101
    121
    141
    161
    181
    201
    221
    241
    261
    281
    301
    321
    341
    361
    381
    401
    421
    441
    461
    481
    501
    521
    541
    561
    581
    601
    621
    641
    661
    681
    701
    721
    741
    761
    781
    801
    821
    841
    861
    881
    901
    921
    941
    961
    981

    View Slide

  8. jgs
    Deploy the Model

    View Slide

  9. Javier Gonzalez-Sanchez | SER 594 | Spring 2022 | 9
    jgs
    Save the Model

    View Slide

  10. Javier Gonzalez-Sanchez | SER 594 | Spring 2022 | 10
    jgs
    Load the Model
    Load the updater

    View Slide

  11. jgs
    Create an Application
    Iris Model

    View Slide

  12. Javier Gonzalez-Sanchez | SER 594 | Spring 2022 | 12
    jgs
    Application

    View Slide

  13. Javier Gonzalez-Sanchez | SER 594 | Spring 2022 | 13
    jgs
    Application
    /
    / int [] y = model.predict (input)
    /
    / y[0]

    View Slide

  14. Javier Gonzalez-Sanchez | SER 594 | Spring 2022 | 14
    jgs
    Can we create a GUI?
    SEPAL LENGTH:
    SEPAL WIDTH:
    PETAL LENGTH:
    PETAL WIDTH:
    IRIS TYPE:
    Calculate

    View Slide

  15. jgs
    Create an Application
    MNIST Model

    View Slide

  16. Javier Gonzalez-Sanchez | SER 594 | Spring 2022 | 16
    jgs
    Goal

    View Slide

  17. Javier Gonzalez-Sanchez | SER 594 | Spring 2022 | 17
    jgs
    UML

    View Slide

  18. Javier Gonzalez-Sanchez | SER 594 | Spring 2022 | 18
    jgs
    Main.java (1/4)

    View Slide

  19. Javier Gonzalez-Sanchez | SER 594 | Spring 2022 | 19
    jgs
    Main.java (2/4)

    View Slide

  20. Javier Gonzalez-Sanchez | SER 594 | Spring 2022 | 20
    jgs
    Main.java (3/4)

    View Slide

  21. Javier Gonzalez-Sanchez | SER 594 | Spring 2022 | 21
    jgs
    Main.java (4/4)

    View Slide

  22. Javier Gonzalez-Sanchez | SER 594 | Spring 2022 | 22
    jgs
    DrawArea.java (1/2)

    View Slide

  23. Javier Gonzalez-Sanchez | SER 594 | Spring 2022 | 23
    jgs
    DrawArea.java (2/2)

    View Slide

  24. Javier Gonzalez-Sanchez | SER 594 | Spring 2022 | 24
    jgs
    InputImage.java (1/2)

    View Slide

  25. Javier Gonzalez-Sanchez | SER 594 | Spring 2022 | 25
    jgs
    InputImage.java (2/2)

    View Slide

  26. jgs
    Assignment 04
    Application

    View Slide

  27. Javier Gonzalez-Sanchez | SER 594 | Spring 2022 | 27
    jgs
    Assignment 04
    1. Select a new dataset.
    Lecture 08
    https://archive-beta.ics.uci.edu
    Your own CSV data from a project you are working on
    2. Create a Java Program for training a model until achieving a good performance (0.05). Save the model.
    This can be console application or GUI. Your choice.
    3. Create a Java Application that use the model.
    It should have a GUI
    Allow the user to input data: load an image, text, etc.
    Show a result/classification
    § You can work in a team of 2 or 3. No more than 3. Individual is OK.
    § Include Javadoc for classes and methods.
    https://www.oracle.com/technical-resources/articles/java/javadoc-tool.html
    § Submit java files. How many files?

    View Slide

  28. Javier Gonzalez-Sanchez | SER 594 | Spring 2022 | 28
    jgs
    Questions

    View Slide

  29. jgs
    SER 594 Software Engineering for Machine Learning
    Javier Gonzalez-Sanchez, Ph.D.
    [email protected]
    Spring 2022
    Copyright. These slides can only be used as study material for the class CSE205 at Arizona State University.
    They cannot be distributed or used for another purpose.

    View Slide