因為 MNIST 提供手寫數字的是 28×28 的灰階圖檔,每一個 pixel 介於 0~255 間, 我們要送到類神經網路裡計算需要先正規化 0~1 的數值
# 6萬張 traning 轉成一個 array train_images = train_images.reshape((60000, 28 * 28)) train_images = train_images.astype('float32') / 255 tensorflow.keras.utils.to_categorical(train_labels) # one-hot encoding tensorflow.keras.utils.to_categorical(test_labels) # one-hot encoding 因為這是一個輸出成0~9的類別 (multiclass classification problem),這裡要先用 one-hot encoding 作資料前處理,最後一層因為要輸出 10 個類別,所以用了 10 個節點的 softmax
完整程式碼 from tensorflow.keras.datasets import mnist from tensorflow.keras import models from tensorflow.keras import layers from tensorflow.keras.utils import to_categorical (train_images, train_labels), (test_images, test_labels) = mnist....
從上篇的 keras 安裝 在我的環境是失敗的經驗, 似乎對 mac 比較不友善
from tensorflow.keras import models network = models.Sequential() 在這一行一直出現TypeError,原本以為是 python 或 numpy 的版本等衝突,換了幾個組合, 最後才發現原因在於我透過 conda 安裝的 tensorflow 版本不能用在 Apple Mac M1 上。
arm64 : Apple Silicon 看到 Apple 的 Getting Started with tensorflow-metal PluggableDevice 安裝了 Miniforge 照著做,最後建立虛擬環境(據說 tensorflow 在 python v3.8 比 v3.9來得快)
% conda create -n tf python=3.8 % conda activate tf % conda install -c apple tensorflow-deps % python -m pip install tensorflow-macos % python -m pip install tensorflow-metal 最後的環境版本 import sys import tensorflow as tf print(f"TensorFlow v{tf....
主要之前已經使用過 golang/nodejs/java 實在是不太想再學 python(主觀),所以這倆天嘗試了 TensorFlow.js v3.18,不過相關資料有點少(硬)。只好切換一下,更何況沒寫過 python 不能當作抗拒的理由, 畢竟深度學習 Python 生態系是最活躍的。
看了 keras tutorial 關於開發環境大概可以從 google colab 開始, 不必設定就可讓你在瀏覽器中編寫及執行Python 程式碼也可以免費使用 GPU 跟 TPU,也可直接線上跟他人共用蠻方便的。
但我還是比較習慣 desktop,所以選用了 anaconda 管理(避免Python模組或版本的衝突) 跟比較熟悉的 vscode 來入門
安裝開發環境 anaconda + vs code 安裝 anaconda 安裝環境管理工具(可以切換 virtual enivironment),從 anaconda 官網 下載 安裝 vs code + python extension for vs code 確認目前的開發環境版本 % conda --version conda 4.13.0 % python --version Python 3.9.12 建立新 enivironment 開啟 Anaconda Navigator後,其中預設的python環境內建是 base(root),這裡我建立一個名為 course 的 virtual environment...
TensorFlow.js 可以在瀏覽器或 NodeJS 上 training 和 deploy models。
如果不想涉獵低階的 Tensors 或 Optimizers,可以先從高階的ml5.js 開始, 這個 ml5.js 是 open source 並封裝了 TensorFlow.js 不需要安裝其他 dependencies,可以直接使用內建的 models & algorithms。
TensorFlow JS 安裝方式 % npm install @tensorflow/tfjs-node # for CPU % npm install @tensorflow/tfjs-node-gpu # for GPU % npm install @tensorflow/tfjs # 效能最糟 import * as tf from '@tensorflow/tfjs-core'; import '@tensorflow/tfjs-backend-webgl'; 如果在 Node.js 中,如果有支援 CUDA (EX: NVIDIA GPU) 或者在 Browser 中有 WebGL, TensorFlow.js 是支援硬體加速的。以WebGL 來說 GPU 預設已經包含在 @tensorflow/tfjs, 只要呼叫以下 setBackend()...