Torch intro

17
Intelligent Software Lab. Torch 7 박천음 ([email protected]) Intelligent Software Lab.

Transcript of Torch intro

Intelligent Software Lab.

Torch 7

박천음 ([email protected])Intelligent Software Lab.

Intelligent Software Lab.

Torch 7

Introduction: Installation

Intelligent Software Lab.

Torch7 설치: Building

• Building (Linux, Ubuntu 12.04)› sudo apt-get install lua5.2

› building Lua

› sudo apt-get install nodejs

› Torch는 nodejs가 제공하는 브라우저환경에서 실행되는GFX.js를 사용..

› sudo apt-get install npm

› Torch 설치

› image 처리 예제 설치

Intelligent Software Lab.

Torch7: Deep learning for NLP

• To install deep learning library› sudo luarocks install dp

• For CUDA› sudo luarocks install cunn

Intelligent Software Lab.

Torch 7

Introduction: Examples

Intelligent Software Lab.

Torch7 실행 명령어

• $ th

• $ luajit -lenv

Intelligent Software Lab.

Torch7 이미치처리 예제

• th

• th –lgfx.go -- gfx를 실행

Intelligent Software Lab.

Torch7 이미지분류 예제

• i = image.lena()

• gfx.image(i)

Intelligent Software Lab.

Torch7 이미지분류 예제 (2)

• require ‘nn’

• n = nn.SpatialConvolution(1, 64, 16, 16)

• gfx.image(n.weight, {zoom=2, legend=‘’})

• nn: Torch에서 사용하는Neural Net. module

• nn.SpatialConvolution(): • 데이터셋을 학습시키는 함수• 16x16 크기의 64개 필터를 주고,해당 필터 별 “weight”를 이미지로 출력

Intelligent Software Lab.

Torch7 이미지분류 예제 (3)

• n = nn.SpatialConvolution(1, 16, 12, 12)

• res = n:forward(image.rgb2y(image.lena()))

• gfx.image(res, {zoom=0.25, legend=‘states’})

• forward(): output을이미지로 출력

Intelligent Software Lab.

Supervised Learning: step_1 data

• torch7으로 기계학습 진행• https://github.com/clementfarabet/ipam-

tutorials/blob/master/th_tutorials/1_supervised/1_data.lua

• 예제에서 사용하는 dataset은 SVHN(Street View House Number)

• SVHN• real-world image dataset

• MNIST와 유사

Intelligent Software Lab.

Supervised Learning: step_1 data cont`

• SVHN dataset• 10 classes (digit 당 1개의 class)

• ex) digit: 1 label: 1, digit: 0 label: 10, digit: 9 label: 9

• train set: 73257 digits

• test set: 26032 digits

• additional extra training data: 531131 digits

• dataset format• inputs: image feature “3*32*32”

• outputs: target result “10-dimensional”

Intelligent Software Lab.

Supervised Learning: step_1 data cont`

• torch7으로 기계학습 진행• https://github.com/clementfarabet/ipam-

tutorials/blob/master/th_tutorials/1_supervised/1_data.lua

• Data(train_set, test_set 다운)› torch –lgfx.go –i 1_data.lua

Intelligent Software Lab.

Supervised Learning: step_1 data cont`

• Data› torch –lgfx.go –i 1_data.lua

Intelligent Software Lab.

Supervised Learning: step_1 data cont`

• Data› torch –lgfx.go –i 1_data.lua

Y U V

Intelligent Software Lab.

Supervised Learning: step_2 model

• 2_model.lua, model 종류› th –i 2_model.lua –model linear

› th –i 2_model.lua –model mlp

› th –i 2_model.lua –model convnet

• model 정의_linear› model = nn.Sequential()

› model:add(nn.Reshape(ninputs))

› model:add(nn.Linear(ninputs, noutputs))

• model 정의_mlp› model = nn.Sequential()

› model:add(nn.Reshape(ninputs))

› model:add(nn.Linear(ninputs, nhiddens))

› model:add(nn.Tanh())

› model:add(nn.Linear(nhiddens, noutputs))

Intelligent Software Lab.

Thank you