---
# System prepended metadata

title: 'a.初探神經網路:第一支神經網路'
tags: [Deep Learning by Keras God]

---

# a.初探神經網路:第一支神經網路

###### tags: `Deep Learning by Keras God`

## 1.簡介

* <font color="#0080FF">**匯入手寫辨識資料集(Mnist)**</font>

```python=+
from keras.datasets import mnist

(train_img,train_label),(test_img,test_label) = mnist.load_data()
```

> ```11493376/11490434 [==============================] - 0s 0us/step```
##
* <font color="#0080FF">**建立模型及輸入層、輸出層**</font>

```python=+
from keras.models import Sequential
from keras.layers import Dense 

model = Sequential()
model.add(Dense(512,activation = 'relu',input_shape = (28*28,)))
model.add(Dense(10,activation = 'softmax'))
```
##
* <font color="#0080FF">**編譯模型**</font>

```python=+
model.compile(optimizer = 'rmsprop',
loss = 'categorical_crossentropy',
metrics = ['accuracy'])
```
##
* <font color="#0080FF">**資料預處理 - 將圖片正規化**</font>

```python=+
train_img = train_img.reshape(60000,28*28)
train_img = train_img.astype('float32') / 255

test_img = test_img.reshape(10000,28*28)
test_img = test_img.astype('float32') / 255
```
##
* <font color="#0080FF">**資料預處理 - 將標籤(數字)轉為one-hot**</font>

```python=+
from keras.utils import to_categorical

train_label = to_categorical(train_label)
test_label = to_categorical(test_label)
```
##
* <font color="#0080FF">**訓練模型**</font>

```python=+
model.fit(train_img,train_label,epochs = 5,batch_size = 128)
```

> ```Epoch 1/5```</br>
> ```469/469 [==============================] - 1s 3ms/step - loss: 0.2562 - accuracy: 0.9262```</br>
> ```Epoch 2/5```</br>
> ```469/469 [==============================] - 1s 3ms/step - loss: 0.1040 - accuracy: 0.9688```</br>
> ```...```</br>
> ```<tensorflow.python.keras.callbacks.History at 0x7fa1e0141a58>```

##
* <font color="#0080FF">**評估模型**</font>

```python=+
test_loss,test_acc = model.evaluate(test_img,test_label)
print('test_acc:',test_acc)
```

> ```test_acc: 0.9815999865531921```

## 時間戳記

> [name=ZEOxO][time=Sun, Dec 06, 2020 15:30 PM][color=#907bf7]


