Skip to content

Commit b69685b

Browse files
committed
Added my programs
1 parent c08a37a commit b69685b

File tree

8 files changed

+143
-0
lines changed

8 files changed

+143
-0
lines changed

SP20/CV/Bigger CNN FASHION.png

19.9 KB
Loading

SP20/CV/Bigger CNN MNIST.png

17.2 KB
Loading

SP20/CV/CNN FASHION.png

20.4 KB
Loading

SP20/CV/CNN MNIST.png

17.5 KB
Loading

SP20/CV/CNN.py

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
import numpy as np
2+
import matplotlib.pyplot as plt
3+
from tensorflow.keras import datasets, models, layers, losses
4+
5+
# load data and preprocess it
6+
# (train_images, train_labels), (test_images, test_labels) = datasets.fashion_mnist.load_data()
7+
(train_images, train_labels), (test_images, test_labels) = datasets.mnist.load_data()
8+
train_images, test_images = train_images / 255.0, test_images / 255.0
9+
10+
train_images = train_images.reshape(train_images.shape[0], 28, 28, 1)
11+
test_images = test_images.reshape(test_images.shape[0], 28, 28, 1)
12+
13+
# design of actual NN
14+
model = models.Sequential()
15+
input_shape = (28, 28, 1)
16+
model.add(layers.Conv2D(32, (3, 3), activation='relu', input_shape=input_shape))
17+
model.add(layers.MaxPooling2D((2, 2)))
18+
19+
model.add(layers.Flatten())
20+
model.add(layers.Dense(32, activation='relu'))
21+
model.add(layers.Dense(10, activation='softmax'))
22+
23+
# train NN
24+
model.compile(optimizer='adam',
25+
loss=losses.sparse_categorical_crossentropy,
26+
metrics=['accuracy'])
27+
28+
# graph the learning process
29+
history = model.fit(train_images, train_labels, epochs=30,
30+
validation_data=(test_images, test_labels))
31+
plt.plot(history.history['accuracy'], label='accuracy')
32+
plt.plot(history.history['val_accuracy'], label = 'val_accuracy')
33+
plt.xlabel('Epoch')
34+
plt.ylabel('Accuracy')
35+
plt.ylim([0.5, 1])
36+
plt.legend(loc='lower right')
37+
38+
test_loss, test_acc = model.evaluate(test_images, test_labels, verbose=2)
39+
40+
plt.show()

SP20/CV/Transfer FASHION.png

19.5 KB
Loading

SP20/CV/coolerCNN.py

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
import numpy as np
2+
import matplotlib.pyplot as plt
3+
from tensorflow.keras import datasets, models, layers, losses
4+
5+
# load data and preprocess it
6+
#(train_images, train_labels), (test_images, test_labels) = datasets.fashion_mnist.load_data()
7+
(train_images, train_labels), (test_images, test_labels) = datasets.mnist.load_data()
8+
9+
train_images, test_images = train_images / 255.0, test_images / 255.0
10+
11+
train_images = train_images.reshape(train_images.shape[0], 28, 28, 1)
12+
test_images = test_images.reshape(test_images.shape[0], 28, 28, 1)
13+
14+
# design of actual NN
15+
model = models.Sequential()
16+
input_shape = (28, 28, 1)
17+
model.add(layers.Conv2D(32, (3, 3), activation='relu', input_shape=input_shape))
18+
19+
model.add(layers.Conv2D(64, (3, 3), activation='relu'))
20+
model.add(layers.MaxPooling2D((2, 2)))
21+
model.add(layers.Dropout(0.25))
22+
23+
model.add(layers.Conv2D(32, (3, 3), activation='relu'))
24+
25+
model.add(layers.Conv2D(16, (3, 3), activation='relu'))
26+
model.add(layers.MaxPooling2D((2, 2)))
27+
28+
model.add(layers.Flatten())
29+
model.add(layers.Dense(64, activation='relu'))
30+
model.add(layers.Dense(10, activation='softmax'))
31+
32+
# train NN
33+
model.compile(optimizer='adam',
34+
loss=losses.sparse_categorical_crossentropy,
35+
metrics=['accuracy'])
36+
37+
# graph the learning process
38+
history = model.fit(train_images, train_labels, epochs=30,
39+
validation_data=(test_images, test_labels))
40+
41+
plt.plot(history.history['accuracy'], label='accuracy')
42+
plt.plot(history.history['val_accuracy'], label = 'val_accuracy')
43+
plt.xlabel('Epoch')
44+
plt.ylabel('Accuracy')
45+
plt.ylim([0.5, 1])
46+
plt.legend(loc='lower right')
47+
48+
test_loss, test_acc = model.evaluate(test_images, test_labels, verbose=2)
49+
50+
plt.show()
51+

SP20/CV/transfer.py

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
import numpy as np
2+
import matplotlib.pyplot as plt
3+
import tensorflow as tf
4+
from tensorflow.keras import datasets, models, layers, losses, applications
5+
6+
# load data and preprocess it
7+
(train_images, train_labels), (test_images, test_labels) = datasets.fashion_mnist.load_data()
8+
9+
train_images, test_images = train_images / 255.0, test_images / 255.0
10+
11+
# resize image to 32 x 32 using bicubic interpolation
12+
train_images = train_images.reshape(train_images.shape[0], 28, 28, 1)
13+
train_images = tf.image.resize(train_images,[32,32], method='bicubic')
14+
train_images = tf.image.grayscale_to_rgb(train_images)
15+
plt.imshow(train_images[1])
16+
17+
test_images = test_images.reshape(test_images.shape[0], 28, 28, 1)
18+
test_images = tf.image.resize(test_images,[32,32], method='bicubic')
19+
test_images = tf.image.grayscale_to_rgb(test_images)
20+
21+
# load MobileNetV2
22+
base_model = applications.MobileNetV2(input_shape=(32, 32, 3), include_top=False, weights='imagenet')
23+
base_model.trainable = False
24+
25+
# design of actual NN
26+
model = models.Sequential([base_model])
27+
28+
model.add(layers.Flatten())
29+
model.add(layers.Dense(64, activation='relu'))
30+
model.add(layers.Dense(10, activation='softmax'))
31+
32+
# train NN
33+
model.compile(optimizer='adam',
34+
loss=losses.sparse_categorical_crossentropy,
35+
metrics=['accuracy'])
36+
37+
# graph the learning process
38+
history = model.fit(train_images, train_labels, epochs=30,
39+
validation_data=(test_images, test_labels))
40+
41+
plt.plot(history.history['accuracy'], label='accuracy')
42+
plt.plot(history.history['val_accuracy'], label = 'val_accuracy')
43+
plt.xlabel('Epoch')
44+
plt.ylabel('Accuracy')
45+
plt.ylim([0.5, 1])
46+
plt.legend(loc='lower right')
47+
48+
test_loss, test_acc = model.evaluate(test_images, test_labels, verbose=2)
49+
50+
plt.show()
51+
52+

0 commit comments

Comments
 (0)