Download - Torch intro
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.
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))