amazon-dsstne

아마존에서 이번에는 딥러닝 관련된 모델을 오픈소스로 공개했습니다.

2016/05/13 Editor’s choice

amznlabs/amazon-dsstne
_amazon-dsstne - Deep Scalable Sparse Tensor Network Engine (DSSTNE) is an Amazon developed library for building Deep…_github.com

tensor network engine이 이름에 들어가는군요.

설치해 보기

3가지의 기본 설치 방법을 제공하고 있습니다.

  • docker
  • AWS
  • dev install

보통은 빌드 툴과 docker 를 제공하고 마는데 역시 AWS를 이용한 방법을 쓰고 있습니다.

docker runtime으로는 10G 가 필요하다고 하는군요. 전철 안에서는 docker를 받아서는 안될거 같네요.

사용자 가이드

사용자 가이드는 Data Format으로 부터 시작합니다. NetCDF 포맷만 지원한다고 하며 그 형태는 다음과 같습니다.

Example1 Feature1:Feature2:Feature3  
Example2 Feature5:Feature2:Feature4  
Example3 Feature6:Feature7:Feature8

NetCDF
_NetCDF ( Network Common Data Form) is a set of software libraries and self-describing, machine-independent data formats…_en.wikipedia.org

데이타 포맷과 달리 레이어 포맷은 JSON을 통해 인풋 아웃풋이 결정됩니다

{  
"Version" : 0.8,  
"Name" : "2 Hidden Layer",  
"Kind" : "FeedForward",   

"ShuffleIndices" : false,  


"ScaledMarginalCrossEntropy" : {  
"oneTarget" : 1.0,  
"zeroTarget" : 0.0,  
"oneScale" : 1.0,  
"zeroScale" : 1.0  
},  
"Layers" : \[  
{ "Name" : "Input", "Kind" : "Input", "N" : "auto", "DataSet" : "input", "Sparse" : true },  
{ "Name" : "Hidden1", "Kind" : "Hidden", "Type" : "FullyConnected", "Source" : "Input", "N" : 1024, "Activation" : "Relu", "Sparse" : false, "pDropout" : 0.5, "WeightInit" : { "Scheme" : "Gaussian", "Scale" : 0.01 } },  
{ "Name" : "Hidden2", "Kind" : "Hidden", "Type" : "FullyConnected", "Source" : \["Hidden1"\], "N" : 1024, "Activation" : "Relu", "Sparse" : false, "pDropout" : 0.5, "WeightInit" : { "Scheme" : "Gaussian", "Scale" : 0.01 } },   
{ "Name" : "Output", "Kind" : "Output", "Type" : "FullyConnected", "DataSet" : "output", "N" : "auto", "Activation" : "Sigmoid", "Sparse" : true , "WeightInit" : { "Scheme" : "Gaussian", "Scale" : 0.01, "Bias" : -10.2 }}  
\],  

"ErrorFunction" : "ScaledMarginalCrossEntropy"  
}

필드를 보시면 아시겠지만 다른 여타 딥러닝 레이어 처럼

input, hidden layer, output 이렇게 세가지 중요한 factor들을 가지고 있습니다.

관련된 예제들도 같은 레파지토리들을 통해 확인해 볼 수 있습니다.

amznlabs/amazon-dsstne
_After you have followed setup we should be able to start neural network modeling using DSSTNE. As with any modeling we…_github.com

By Keen Dev on May 12, 2016.

Exported from Medium on May 31, 2017.

Scala-native

클래시 로얄 아이콘은 민망합니다.

밤새 핫한 프로젝트들이 많이 올라왔습니다. 1등은 facebook의 프로젝트가 했을에도 불구하고 오늘은 약간의 사명감을 가지고 scala-native를 리뷰하겠습니다.

2016/05/12 Editor’s choice

scala-native/scala-native
_scala-native - Your favourite language gets closer to bare metal._github.com

LLVM 기반으로 컴파일 하기 때문에 엄청나게 빠르다! 라고 강조하고 있습니다. 이제 JIT를 쓰지 않는다는 것은 JVM안녕으로 보면 되겠네요.

JVM은 모두가 공유하되 여러가지 언어가 올라갈 것이라던 사람들에게 어떻게 보면 낯선 이야기 이지만 성능을 위한 결정이니 좋다고 봅니다.

그리고 실제 소스는 여러 가지 이런 생각들을 많이 의식했는지 Comparison to JVM이 많이 나옵니다.


설치하기

아직 sbt-native-cli 뭐 이런 녀석이 존재하는 것은 아닌듯 싶습니다.

Mac을 새로 구입해서(데헷) 누구나 하는

$brew install sbt

로 scala build tool을 다운 받습니다.

왜냐 하면

$git clone [https://github.com/scala-native/scala-native.git][anchor2]

받아 보시면, sbt 로 빌드파일이 짜여져 있기 때문입니다.

sbt 를 실행하고

여기서 10분을 기다릴 줄이야

디펜던시를 모두 성공적으로 설치하고 다시 빌드를 돌리면

이야…뭐지? 어쩌라고 어.

이런 썰렁한 콘솔이 나옵니다.

아키텍쳐

scala-native 아키텍처 컨셉은 다음과 같습니다.

아 간단하다

스칼라 파일을 입력으로 받아서 ll파일이 나온다니. 요?

관련 PT는 아래 주소를 찾아가면 나옵니다.

https://github.com/densh/talks/blob/517b20c30dd4aaf390785039cdd002f623eaa91e/2016-05-11-scala-goes-native.pdf

프론트엔드 관련 내용도 들어 있는데 감흥이 느껴지는 슬라이드는 아니네요.

아직은 조금 두고봐야 하는 상황이라는 생각이 듭니다. 뭔가 훌륭하게 비교해 볼 수 있는 벤치마크도 없지만 많은 개발자들이 더 훌륭한 상황들을 만들어 낼 것 같습니다.

By Keen Dev on May 12, 2016.

Exported from Medium on May 31, 2017.