iT邦幫忙

2021 iThome 鐵人賽

DAY 16
0
AI & Data

Attention到底在關注什麼?系列 第 16

Day 16 self-attention的實作準備(二) 設定tensorflow和keras的環境

前言

昨天在建立環境的時候發現有很多相容性的問題,因此今天我想說這幾天先來學習一下tensorflow跟keras,順便把環境建立好

安裝TensorFlow 2

在vscode中創建一個檔案,並且將檔案副檔名設定為.ipynb,會看到這個畫面

在.ipynb檔案中,加上!就可以使用bash指令,打上

!python3 -m pip install -U tensorflow

在另一個cell打上

import tensorflow as tf
from tensorflow import keras
print("tensorflow version: ", tf.__version__)
print("keras version: ", keras.__version__)

可以印出tensorflow跟keras的版本

跑一個keras的範例程式

Keras有一個工具可以用來抓取和載入常見的資料集,包括MNIST、Fashion MNIST等等。那這邊我們來載入Fashion MNIST

fashion_mnist = keras.datasets.fashion_mnist
(X_train_full, y_train_full), (X_test, y_test) = fashion_mnist.load_data()

X_train_full是訓練資料,y_train_full是target,X_test是測試資料,y_test是測試資料的target

我們來看一下訓練資料的外型和資料型態

print(X_train_full.shape)
print(X_train_full.dtype)

資料已經拆成訓練集和測試集了,但是還沒有驗證集,因此我們需要做一個
另外由於要使用梯度下降來訓練神經網路,因此我們要將像素的值除以255.0,來將他們調整到0-1的範圍

X_valid, X_train = X_train_full[:5000] / 255.0, X_train_full[5000:] / 255.0
y_valid, y_train = y_train_full[:5000], y_train_full[5000:]

在MNIST中,如果標籤是5,手寫數字就是5。但是在Fashion MNIST中,我們要使用類別名稱串列來掌握目前正在處理什麼

class_names = ["T-shirt/top", "Trouser", "Pullover", "Dress", "Coat", "Sandal", "Shirt", "Sneaker", "Bag", "Ankle boot"]
class_names[y_train[0]]

例如,訓練組的第一張圖片就代表coat


上一篇
Day 15 self-attention的實作準備(一)
下一篇
Day 17 self-attention的實作準備(三) 測試使用keras來建立模型
系列文
Attention到底在關注什麼?30

尚未有邦友留言

立即登入留言