2/7

2/21

2/28

5/21

Team Selection

Client Presentations

Project Proposal

Revised Project Proposal

Final Project Documentation

No class

No class

No class

Project Presentations

5/03

No class

Implementation / Testing / Deployment

38 Days

Full-Power

in the next 2 weeks

No Class!

4/28 Project Status Meeting

80% of final grade

1936 Turing Machine

1950 Turing Test

Text

1956 AI Research

Artificial General Intelligence

Supervised Learning

MNIST

9

Convolutional Neural Network

GIBBS Cluster

conda install keras-gpu

conda install pytorch

conda install pillow

1. Load Data

2. Setup Network

3. Train Network

4. Predict!

4 Steps

Data

Training

Testing

2

Label

?

Label

But we know the answer!

X_train

y_train

X_test

y_test

Setup Network

NUMBER_OF_CLASSES = 10
model = keras.models.Sequential()
model.add(keras.layers.Conv2D(32, kernel_size=(3, 3),
                             activation='relu',
                             input_shape=first_image.shape))
model.add(keras.layers.Conv2D(64, (3, 3), activation='relu'))
model.add(keras.layers.MaxPooling2D(pool_size=(2, 2)))
model.add(keras.layers.Dropout(0.25))
model.add(keras.layers.Flatten())
model.add(keras.layers.Dense(128, activation='relu'))
model.add(keras.layers.Dropout(0.5))
model.add(keras.layers.Dense(NUMBER_OF_CLASSES, activation='softmax'))
model.compile(loss=keras.losses.categorical_crossentropy,
              optimizer=keras.optimizers.Adadelta(),
              metrics=['accuracy'])

Train Network

9

Training Data

Then we check how well the network predicts the testing data!

?

Loss

should go down!

Repeated.. (1 run is called an epoch)

Predict!

Testing Data

0 0 0

1 1 1

2 2 2

3 3 3

4 4 4

5 5 5

6 6 6

7 7 7

8 8 8

9 9 9

Measure how well the CNN does...

Text

(60000, 28, 28, 1)

(0,0,0,0,0,1,0,0,0,0)

First X_test image

cat

Convolutional Neural Network

Agile

Methodology

Predictive!

Requires extreme planning

Takes long to get product

Not adaptive to new technology

During Verification, a lot of unexpected issues arise!

Software is complex, can't be 100% predicted.

Software sometimes does not meet original requirements.

Product could be outdated when finished.

Scrum!

Sprints

1-4 Weeks

1-4 Weeks

Whats needs to be done...

Holds team responsible...

Builds the product..

Software Engineering 101

Software Development Model

Todo List

Action Plan

Daily Meetings during Sprint

Delivery

What went well? What did not..?

Lean Startup

Create and evaluate product as fast as possible

cat

Convolutional Neural Network

Original Dataset

CS410 Dataset

CS410 Lecture 28

By Daniel Haehn

CS410 Lecture 28

Slides for CS410 Software Engineering at UMass Boston. See https://cs410.net!

  • 43

More from Daniel Haehn