iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 16
0

Introduction

訓練深度學習模型時,會經過幾個步驟,定義模型、導入資料、訓練模型、評估模型、使用模型。

import

物件宣告:

# 引用相關組件
# 相容性需求,若使用舊版pyton時,可使用新版python函式
from __future__ import print_function

import cntk
import numpy as np
import scipy.sparse
import cntk.tests.test_utils

# 測試並設定使用 CPU 或 GPU 作為目前測試環境
cntk.tests.test_utils.set_device_from_pytest_env()

# 重新設定 CNTK、Numpy 的亂數種子
cntk.cntk_py.set_fixed_random_seed(1)

# 引用繪圖組件
from IPython.display import Image
import matplotlib.pyplot
%matplotlib inline
# 設定繪圖解析度
matplotlib.pyplot.rcParams['figure.figsize'] = (40,40)

model structure

在 CNTK 裡面,一個神經網路就是一個函式物件,我們將資料做為參數來呼叫函式。
目前其他流行的機器學習框架做法,皆是以函式物件作為神經網路層。

以函式構成的神經網路通常包含一些基本設定:

  • 基本操作:sigmoid()
  • 神經網路:Dense(), Embedding(), Convolution()
  • 成本函式:cross_entropy_with_softmax(), binary_cross_entropy(), squared_error(), classification_error(),成本函式只會有一個輸出值。
  • 定義模型:資料訓練的結果,最後可用於預測資料波動。
  • 損失函式:訓練器透過隨機梯度下降演算法(SGD)優化結果數值。
  • 網路堆疊:Sequential(), For(),組合多個函式成為多層神經網路。
  • 迭代循環:Recurrence(), Fold(), UnfoldFrom()。

data model

CNTK 有兩種資料型態。

  • tensors:多維陣列,密集或稀疏。
  • sequences:多組 tensors。

資料分類通常用有效編碼(one-hot code)表示,只有在代表所在類別的數值維 1,其餘為 0。


上一篇
長短期記憶
下一篇
CIFAR-10 資料集
系列文
探索 Microsoft CNTK 機器學習工具30

尚未有邦友留言

立即登入留言