ksy9164 / Ktune

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

KTUNE

KTUNE is machine learning wrapper for ManyCore CPU which motivated by Keras


How to Optimize

  1. OpenMP
  • We use OpenMP for using Multithreading.
  1. MKL library
  • We also use Math Kernel Library given by Intel
  1. Find an optimized number of threads.
  • We developed an algorithm for find optimized number of threads.

Compile

$ mv ./src
$ export LD_PRELOAD=libmkl_core.so:libmkl_sequential.so
$ make
$ mv Ktune.so ./../

How to use?


$ python3
>>>> import Ktune
>>>> t = Ktune.Sequential()
>>>> t.help()
  
You can use .help() to refer to it.
  
here is the function of Ktune
  
1. network
This is a function that determines what kind of network to use
 .networkd(kind of network)
example : .network(fully connected)
  
2. add
This is a function that add layer
 .add(number of layer , 1st layer number(input layer) , 2nd layer number ...., output layer number)
example : .add(4, 784 , 120 , 40 , 10)
  
3. action
This is a function that setting action function
 .action(action function name)
example : .action(sigmoid)
  
4. loss
This is a function that setting loss function
 .loss(loss function name)
example : .loss(mean_squared_error)
  
5. optimizer
This is a function that setting optimizer function
 .optimizer(optimizer function name)
example : .optimizerz(sgd)
  
6. data
This is a function that setting determines what kind of data to use
 .data(data name)
example : .data(mnist)
  
7. fit
This is a function that training data
 .fit(Batch_size,Epoch,Learning_rate)
example : .fit(5,100,0.8)
  

Requirement

Intel C++ Compile ( icc )
MKL library

Our Execution environment is intel¢ç Xeon Phi¢â Processor 7210 (16GB, 1.30 GHz, 64 core)


Paper

We published Paper whith Ktune you can find our Paper in this site (korean institute of information scientists and engineers) http://www.dbpia.co.kr/Article/NODE07322653

About


Languages

Language:C 88.0%Language:C++ 8.0%Language:Python 2.2%Language:Makefile 1.8%