페이지

2019년 9월 7일 토요일

Deeplearning4j 예제 빌드 및 실행

Deeplearning4j 예제 빌드 및 실행

이 글에서는 Deeplearning4j에서 제공하는 예제 dlj4-examples를 빌드하고 실행하는 과정을 보여줍니다. Ubuntu 환경을 기준으로 설명을 하고 Windows 환경에 대해서는 뒷부분에서 간략하게 소개합니다.

실습 환경

Ubuntu 16.04 환경

도구

  • OpenJDK 8
  • Apache Maven 3.6.2
  • Git

예제 일부에서 사용하고 있는 JavaFXOpenJDK 8에는 포함되어 있지 않기 때문에 아래 명령을 실행하여 설치합니다.

$ sudo apt-get install openjfx

예제 빌드

아래의 명령을 순서대로 실행하여 예제 소스를 다운로드하고 빌드합니다.

$ git clone https://github.com/deeplearning4j/dl4j-examples.git
$ cd dl4j-examples/
$ mvn clean install

예제 실행

예제 루트 폴더에 있는 runexamples.sh 스크립트를 사용하여 dl4j-examples 폴더 아래의 모든 예제를 실행하거나 하나를 지정하여 실행할 수 있습니다.

$ ./runexamples.sh -h
usage: ./runexamples.sh [-h|--help] [-a|-all] [-n|--no-pauses]
where:
  -h|--help          Show help and quit
  -a|--all           Run all the examples. Default is to prompt for which one to run.
  -n|--no-pauses     Don't pause between examples (use with --all).

스크립트를 옵션을 지정하지 않고 실행하면 예제 목록을 보여 주고 실행할 예제를 선택하도록 합니다.

$ ./runexamples.sh
[ 1] org.deeplearning4j.examples.dataexamples.CSVExample
[ 2] org.deeplearning4j.examples.dataexamples.BasicCSVClassifier
...
[68] org.deeplearning4j.examples.feedforward.mnist.MLPMnistTwoLayerExample
[69] org.deeplearning4j.examples.feedforward.mnist.MLPMnistSingleLayerExample
...
[111] org.deeplearning4j.examples.convolution.mnist.MnistClassifier
[112] org.deeplearning4j.examples.convolution.mnist.MnistClassifierUI

Enter a number for the example to run (q to quit):

예제 선택 프롬프트에서 69를 입력하고 엔터를 치면 훈련을 진행하고 마지막에 아래와 같은 결과를 출력합니다.

o.d.o.l.ScoreIterationListener - Score at iteration 7034 is 0.09349513289911367
o.d.e.f.m.MLPMnistSingleLayerExample - Evaluate model....
o.d.e.f.m.MLPMnistSingleLayerExample -

========================Evaluation Metrics========================
 # of classes:    10
 Accuracy:        0.9723
 Precision:       0.9723
 Recall:          0.9720
 F1 Score:        0.9721
Precision, recall & F1: macro-averaged (equally weighted avg. of 10 classes)


=========================Confusion Matrix=========================
    0    1    2    3    4    5    6    7    8    9
---------------------------------------------------
  966    0    1    2    0    3    5    1    2    0 | 0 = 0
    0 1125    2    1    0    1    3    1    2    0 | 1 = 1
    4    3 1004    5    3    1    1    7    4    0 | 2 = 2
    0    0    2  992    0    3    0    6    5    2 | 3 = 3
    1    0    5    0  960    0    3    2    2    9 | 4 = 4
    3    1    0    8    1  863    8    1    5    2 | 5 = 5
    5    3    1    0    7    7  932    0    3    0 | 6 = 6
    1   10   11    3    1    1    0  992    0    9 | 7 = 7
    3    1    2    9    3    6    5    5  938    2 | 8 = 8
    4    8    1   13   20    2    1    6    3  951 | 9 = 9

Confusion matrix format: Actual (rowClass) predicted as (columnClass) N times
==================================================================
o.d.e.f.m.MLPMnistSingleLayerExample - ****************Example finished********************

Windows 10 환경

도구

Windows 10 환경에서는 아래의 도구를 사용하여 문제없이 빌드하였습니다.

  • Oracle JDK 8
  • Apache Maven 3.3.9
  • Git

예제 일부에서 사용하고 있는 JavaFXOracle JDK 8에는 포함되어 있기 때문에 별도로 설치할 필요가 없습니다.

빌드

> mvn clean install

실행

예제 MLPMnistSingleLayerExample를 아래의 명령으로 실행합니다.

> cd dl4j-examples\target
> java -cp dl4j-examples-1.0.0-beta4-bin.jar org.deeplearning4j.examples.feedforward.mnist.MLPMnistSingleLayerExample

참고 문서

Deeplearning4j

  1. Get started
  2. Deeplearning4j Examples
  3. Examples Tour

Written with StackEdit.

댓글 없음:

댓글 쓰기

JWT 토큰 생성과 유효성 확인 과정

JWT 토큰 생성과 유효성 확인 과정 API 서비스를 개발하고 이에 대한 접근 권한을 제어하기 위하여 JSON Web Token(JWT)을 활용할 수 있습니다. 이 문서에서는 JWT 토큰의 생성과 유효성 확인 과정...