Intelligent Software Lab.
Torch 7
박천음 (parkce3@gmail.com)
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

Torch intro

  • 1.
    Intelligent Software Lab. Torch7 박천음 (parkce3@gmail.com) Intelligent Software Lab.
  • 2.
    Intelligent Software Lab. Torch7 Introduction: Installation
  • 3.
    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 처리 예제 설치
  • 4.
    Intelligent Software Lab. Torch7:Deep learning for NLP • To install deep learning library › sudo luarocks install dp • For CUDA › sudo luarocks install cunn
  • 5.
    Intelligent Software Lab. Torch7 Introduction: Examples
  • 6.
    Intelligent Software Lab. Torch7실행 명령어 • $ th • $ luajit -lenv
  • 7.
    Intelligent Software Lab. Torch7이미치 처리 예제 • th • th –lgfx.go -- gfx를 실행
  • 8.
    Intelligent Software Lab. Torch7이미지 분류 예제 • i = image.lena() • gfx.image(i)
  • 9.
    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”를 이미지로 출력
  • 10.
    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을 이미지로 출력
  • 11.
    Intelligent Software Lab. SupervisedLearning: 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와 유사
  • 12.
    Intelligent Software Lab. SupervisedLearning: 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”
  • 13.
    Intelligent Software Lab. SupervisedLearning: 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
  • 14.
    Intelligent Software Lab. SupervisedLearning: step_1 data cont` • Data › torch –lgfx.go –i 1_data.lua
  • 15.
    Intelligent Software Lab. SupervisedLearning: step_1 data cont` • Data › torch –lgfx.go –i 1_data.lua Y U V
  • 16.
    Intelligent Software Lab. SupervisedLearning: 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))
  • 17.