Neural Network Console クラウド版
スターターガイド–音声分類編–

ソニーネットワークコミュニケーションズ株式会社

概要
本ドキュメントではNeural Network Console(NNC)を用いて、音声データをカテゴリ分けするための分類モデルを作成する一連の流れをまとめました。
音声データの分類は、楽曲のジャンル分け、音声による感情解析や人物特定、異音検知など様々な分野で利用することができます。
本ドキュメントでは、サンプルプロジェクトを利用してモデル作成を行う流れになっていますので、Deep Learningモデルの設計ノウハウが無い方でも取り組み易い構成になっています。

2

目次

１

Deep Learning概要

２

アカウントサインイン

３

データアップロード

４

分類モデル作成

５

分類モデル利用
3

Deep Learning概要
Deep Learningのモデルとは、分類や予測などを行うためのアルゴリズムで、ネットワークとパラメータに分解できます。よくDeep Learningは脳の神経構造に例えられますが、ネットワークとは回路図で、パラメータとはその上の抵抗値のようなものです。
Deep Learningのモデル作成とは、目的に合わせたネットワークを構築し、準備したデータセットを用いてパラメータを最適化する作業です。データセットによるパラメータの最適化を学習と呼び、学習をしてできたモデルを学習済みモデルと呼びます。

Deep Learningの学習
学習前モデルネットワーク

データセット
入力

出力
犬

学習済みモデル
ネットワーク

猫

最適化
パラメータ
※学習前のパラメータは乱数により決定

4

学習済み
パラメータ

目次

１

Deep Learning概要

２

アカウントサインイン

３

データアップロード

４

分類モデル作成

５

分類モデル利用5サインインページへの移動
Chromeを利用して、https://dl.sony.com/jaに移動します。
ページの右上にある「無料で体験」をクリックします。
サインインするためのアカウントをSONYアカウントまたはGoogleアカウントから選択します。どちらを選択してもこのドキュメントの内容は進めることが可能です。

サインインページへの移動方法

１. 「無料で体験」をクリック

２. SONYアカウントまたはGoogleアカウントのどちらかを選択※アカウントがない場合には選択後に作成可能です※ どちらのアカウントを選択いただいても、機能に違いはありません
6

SONYアカウントでのサインイン
SONYアカウントに登録しているメールアドレス・パスワードを入力し、ログインを行います。
※アカウントをお持ちでない方は、「新しいアカウントの作成」から新規作成を行ってください。
詳細は、AppendixのSONYアカウントの取得方法に記載があります。

１．メールアドレスの入力

２．利用規約への同意

7

Googleアカウントでのサインイン
Googleのメールアドレス・パスワードを入力し、ログインを行います。

１．メールアドレスの入力

２．パスワードの入力

8

３．利用規約への同意目次

１

Deep Learning概要

２

アカウントサインイン

３

データアップロード

４

分類モデル作成

５

分類モデル利用9データについてお手持ちの音声データを用いて分類モデルを作成する場合には、データの準備やアップロードなどが必要ですので、次頁以降を読み進めてください。
データをお持ちでない場合には、NNCのサンプルデータを用いて本ドキュメントを進めることが可能です。
本ドキュメントで利用しているNNCのサンプルデータに関してはサンプルデータの説明に説明があります。
また、 UCI Machine Learning RepositoryやKaggle等で公開されているウェブ上のオープンデータを利用することで、データ準備からモデル作成を体験いただくこともできます。

10データアップロードのステップ
Neural Network Consoleはクラウドサービスのため、モデルを作成するために必要なデータセットをあらかじめクラウドにアップロードする必要があります。
データセットとは入力データと出力データのセットで、音声分類の場合には音声データとラベルになります。
音声データはwav形式でご準備ください。
お手持ちのPCにデータセットを準備し、以下のステップでクラウドへのアップロードを行います。

データアップロードのステップ
１

データセットの準備

２

アップロード用CSVファイルの準備

３

データセットのアップロード

11

データセットの準備

データセットの分割

CSVファイルの準備

データ
アップロードモデル作成には、モデルを学習させるためのデータセット（学習データ、Training Data）と、モデルの精度を検証するためのデータセット（検証データ、Validation Data）の２つが必要になります。作成されたモデルの精度を正しく検証するためには、学習に利用していないデータで検証データを準備する必要があります。
複数データの場合には、サンプルや観測箇所などのデータ取得環境に応じて分割し、長時間データの場合には、観測時刻により分割します。
学習データと検証データ

音声データのデータ分割
複数データの場合

データセット分割
学習データ

学習に利用

検証データ

12

長時間データの場合

学習には利用せず、モデルの精度検証に使用

サンプル
A～C

学習データ

サンプル
D

検証データ

学習データ

検証データ

データセットの成型・ラベリング (複数データの場合)

データセットの準備

CSVファイルの準備

データ
アップロード楽曲のジャンル分けなど音源が複数ある場合には、音声データの長さとサンプリングレートを統一します。
そのうえで、各音声データに対して予想するラベルを追加し、合わせて管理します。
元データセット

成型済みデータセット

音声データ

音声データ

ラベリング済みデータセット
音声データ

ラベル

タイプA

タイプB

タイプB
長さがばらばら長さ・サンプリングレートを統一

13

ラベルを追加データセットの成型・ラベリング(長時間データの場合)

データセットの準備

CSVファイルの準備

データ
アップロード

異音検査など観測データが長時間の場合には、一定時間ごとに切り出します。そのうえで、予想するラベルを追加し、合わせて管理します。切り出す領域を重複させることで多数のデータを作り出すことができます。
元データセット

成型済みデータセット

音声データ

音声データラベリング済みデータセット
音声データ

ラベル

正常

T=0～15T=5～20

T=10～25
異常箇所

正常

異常
一定時間で切り出し

14

ラベルを追加データセットの準備

アップロード用CSVファイルの作成

CSVファイルの準備

データ
アップロード

成形した音声データ(wav形式)はラベルと対応付けし、アップロードするためのCSVファイルで管理します。
ラベリング済みデータセット
音声データ

0001.wav

アップロード用CSVファイル

ラベル

training_data.csv
x

正常0002.wav

正常0003.wav

異常15y0001.wav

00002.wav

00003.wav

1

 Deep Learningの入出力に用いるための名称を記載
 原則は入力がxで、出力がy※※カラム名の変更も可能ですが、変更時はレイヤー設定を手動で変更する必要があります ラベルは数値情報に変換
この例では0を正常、1を異常として変換

データセットの準備

データセットのアップロード

CSVファイルの準備

データ
アップロードNeural Network Consoleへのデータアップロードには専用のアップローダを利用します。
アップローダ上で準備したCSVファイルを指定し、データをアップロードします。

１．アップローダの取得

２．アップロードキーの取得

３．アップローダの実行 以下のリンクからアップローダをダウンロード
https://support.dl.sony.com/docs-ja/
データセットアップロードツールのダウンロード/ Neural Network Consoleにログインし、Datasetタブの中のUpload Datasetをクリック

 １で取得したアップローダを起動 tokenに２で取得したアップロード
キーを貼り付け fileに作成したCSVファイルを指定
 Startをクリックし、アップロードを実行※ アップローダは2020/7/30以降のものをご利用ください。
 ポップアップ画面に表示されるアップロードキーをコピー※ 音声データはCSVに含まれるパスを参照し自動的にアップロードされます。
16

データセットの準備

アップロード先のデータセット確認

CSVファイルの準備

データ
アップロードアップロード後はDatasetタブの一覧にデータセットが追加されます。
アップロード時のCSVファイルのファイル名がデータ名として一覧に表示され、選択することで中身を確認することができます。表示の際に、画像や時系列データなどはサムネイルの形で確認できます。

アップロード後のデータセットの例
アップロード時のCSVファイル

データセット一覧に追加されたデータセット

例.wav_keyboard_sound.training.csv
xydata/0001.csv

3data/0002.csv

3data/0003.csv

3data/0004.csv

0

CSVのファイル名がデータ名になります…

…

音声データのファイル
パスはアップロード時に変更されます17【参考】NNC上のサンプルデータ(wav_keyboard_sound)の説明
このドキュメントではNNC上のサンプルデータであるwav_keyboard_soundを用いて解説を行います。
このデータセットは、４つのキーボードの種類を打音から判別するものです。

labelとキーボードの対応

入力データの例
メカニカルキーボード(青軸※)

パンタグラフキーボード

メカニカルキーボード(赤軸※)label キーボード
0

メカニカルキーボード(青軸※)1

メカニカルキーボード(赤軸※)2

パンタグラフキーボード

3

メンブレンキーボード

メンブレンキーボード

0.25秒、44,100Hzのため、横方向に11,025データ

18※青軸、赤軸とはメカニカルキーボードのCHERRY MXスイッチの青軸、赤軸を示しています。

目次

１Deep Learning概要

２

アカウントサインイン

３

データアップロード

４

分類モデル作成

５

分類モデル利用19

分類モデルの作成ステップ
wav_keyboard_soundのサンプルデータを用いて、音声の分類モデルの作成過程を説明します。

分類モデルの作成ステップ
１

新規プロジェクトの作成

２

データセットの指定

３

ネットワークの作成

４

学習・評価

20
20

サンプルプロ
ジェクト選択サンプルプロジェクトのコピー

データセット変更

ネットワーク
修正

学習・評価

サンプルプロジェクト(wav_keyboard_sound)を検索し、コピーします。

１. Projectをクリック

２. 検索窓に”wav”と入力

wav

wav_keyboard_sound

３. サンプルプロジェクトをクリック

wav_keyboard_sound４. ポップアップで好きな名前を入力してOKをクリック【注意】プロジェクト名は半角英数字のみ利用可能です※１: 学習結果やモデルも含めコピーを行うため、処理に時間がかかる場合があります。

21

サンプルプロ
ジェクト選択プロジェクトの起動

データセット変更

ネットワーク
修正

コピーしたプロジェクトをクリックし、プロジェクトを起動します。
以下のようなネットワークが表示されていることを確認します。
Editタブ: ネットワークを作成するページ

ネットワークが表示
wav_keyboard_sound１. コピーしたプロジェクト(前頁4で指定した名称)をクリック

22

学習・評価

サンプルプロ
ジェクト選択データセットの変更

データセット変更

ネットワーク
修正

学習・評価

DATASETタブからTrainingとValidationのデータセットをそれぞれ変更します。
(サンプルデータを利用する場合には変更は不要です)
１. Datasetタブをクリック
３. Link Datasetの横のハイパーリンクをクリック
２. Trainingをクリック

サンプルでセットされている既存のデータセット名が記載されています
Training: wav_keyboard_sound.training
Validation: wav_keyboard_sound.validation

６. Validationをクリックし、３～５と同様の手順を実施

４. 一覧から学習に用いるデータセットを選択
データセットのアップロード時に指定したファイル名を選択してください。
選択したデータセット名
wav_dataset_training※１: ブラウザの拡大率によって表示されないことがあります。
表示されない場合は表示の縮小をお試しください。

５. リンクマークをクリック※1
23

ネットワークの修正: 入力サイズの変更

サンプルプロジェクト選択データセット変更

ネットワーク
修正

学習・評価

音声データの時間、サンプリングレート、モノラル/ステレオにあわせて、InputレイヤーのSizeを修正します。
例えば、長さが0.25秒、サンプリングレートが44,100Hzの場合、 モノラルだと(11025, 1)、ステレオだと(11025,2)になります。

Sizeの計算方法
1次元目

2次元目

ネットワーク修正の操作説明

長さ

サンプリングレート

データ数

0.25秒

44,100Hz

11,025

音源

データ数

モノラル

1

ステレオ

2

１. EDITタブをクリック

２. Inputをクリック

３. Sizeの値を修正

24サンプルプロ
ジェクト選択ネットワークの修正: 分類数の変更

データセット
変更

分類するラベル数に応じて、ネットワークを変更をします。

ネットワーク修正の操作説明

１. Affineをクリック

２. OutShapeを分類数に修正

25

ネットワーク
修正

学習・評価

新規プロジェ
クト作成

学習の実行

データセット変更

ネットワーク
修正

学習・評価

EDITページのRunボタンをクリックすることで学習が実行されます。
GPUを選択すると、高速に学習を行うことができます※。（参考: 学習環境と処理時間）
GPU等有料のメニューを利用する場合は、クレジットカード登録もしくは法人契約が必要になります。クレジットカード登録はユーザ設定を、法人契約はウェブサイトをご参照ください。
TRAININGページの概要

学習実行の方法

２. Runをクリック

学習曲線（縦軸: 誤差、横軸: 学習世代）

１. 計算資源を選択

途中経過のログ※１: サンプルプロジェクトのネットワークは複雑なため、CPU実行の場合にはGPU実行と比較して学習時間が長時間になります。
計算途中にウェブブラウザを閉じても計算が止まることはありませんので、長時間に及ぶ場合にはあらためて結果をご確認ください。

26

新規プロジェクト作成

学習曲線の読み取り方

データセット変更

ネットワーク
修正

学習・評価

学習結果の良し悪しは、まずは学習曲線から判断をします。
TrainingとValidationの差が大きい場合(過学習)は、モデルがTraining Dataに特化し過ぎた状態(教科書を丸暗記した場合に応用問題が解けないのと似た状態)です。
未知のデータの予測精度が低いため、学習データ量を増やすなどの改善が必要です。

良いモデルの学習曲線

悪いモデルの学習曲線（過学習）TrainingとValidationの差が大きい
誤差

誤差

学習が進むにつれて誤差が小さくなる

Epoch数Epoch数
27

Training Data
(学習に使用したデータ)
Validation Data
(学習に使用しないデータ)

サンプルプロ
ジェクト選択

評価の実行

データセット
指定

ネットワーク
修正

学習・評価

TRAININGページのRunをクリックするとEVALUTIONページに遷移し、詳細な判定結果を確認できます。

評価実行の方法

表示可能なグラフの概要
内容

評価グラフ

OutputResultConfusion
MatrixClassification
ResultClassification
MatrixLikelihoodGraph各データの１つ１つの判定結果

問題
すべて
次頁以降で詳細を説明

データセット全体の統計的な指標と混同行列(分類ラベルごとに結果を集計した表)

分類

各データの判定確率上位３カテゴリの確率分類

カテゴリごとのモデルの判定傾向

分類

判定確率と正答率の傾向

分類28

新規プロジェクト作成

評価の見方：Output Result

データセット
指定

ネットワーク
作成

学習・評価

検証用データの右側にモデルの予測結果が表示されます。
各検証用データに対して、作成したモデルがどのように判断したか確認できます。

Output Resultページのスナップショットとその見方
ページを変更し全ての結果を確認可能

クリックして選択

追記カラム名について• 出力をアポストロフィー付きで表記
例: 学習時にx → yであれば、y’を出力
検証用データモデルの判定結果• 分類問題の場合にはさらにindexを用い、各クラスの予想確率を出力

8行目であれば、99.5%の確率でラベル3と予測

29

新規プロジェクト作成

評価の見方：Confusion Matrix

データセット
指定

ネットワーク
作成

学習・評価

検証用データに対する統計的な評価指標と混同行列を表示します。
混同行列を用いて、全体の正答数や間違いやすいラベルの傾向などを確認できます。

Confusion Matrixページのスナップショットとその見方クリックして選択

モデル全体の評価指標

Accuracy: 全データの内、正答した数の割合
Precision:予測を正と判断した中で、答えも正のものである割合
Recall:答えが正の中で、予測が正とされた割合
F-Measure: PrecisionとRecallの調和平均y’(モデルによる判定結果)

混同行列
正解がラベル”1” のものを”2” と予想し、間違えた数が3つy (あらかじめ設定した正解結果)
30

目次

１

Deep Learning概要

２

アカウントサインイン

３

データアップロード

４

分類モデル作成

５

分類モデル利用31

分類モデルの利用方法
作成した分類モデルを利用するには、モデルをNNC上でAPIとして運用する方法と、モデルをダウンロードし、利用する方法の２種類があります。
モデルをNNC上でAPIとして運用することにより、手軽に分類モデルの利用ができます(Appendix参照)。

分類モデルの利用方法
１

分類モデルをNNC上でAPIとして運用

２

分類モデルをダウンロードし利用

32

API利用のステップ
API機能を利用するために、NNC上でモデルのAPI機能を有効化し、APIのURLとキーを取得する必要があります。APIのURLとキーはAPIを利用する際に必要な情報になります。
Pythonやcurlなどを利用し、URLとキーに加えて予測したいデータを送信することで、実行結果を取得することができます。
概要

操作

１

API機能の有効化

APIとして利用するモデルを選択し、そのAPI機能を有効化します

２

APIのURLとキーの取得

外部からAPIを利用するためのURLとキーを取得します

３

APIの実行

Pythonやcurlなどを利用し、APIを実行します４

実行結果の取得実行結果を取得します33

API機能の有効化

API
有効化

URL,キーの取得

API
実行

実行結果

Projectで作成したモデルの一覧からAPIとして利用するモデルをTRAININGタブないしはEVALUATIONタブから選択します。選択後に表示されるポップアップの内容は次頁で解説します。
EVALUATIONタブのボタンから有効化

モデル一覧から有効化※

左側の一覧からAPIを有効化するモデルを選択し、右側の「PublishAPI」ボタンを押下

左側の一覧からAPIを有効化するモ
デルを右クリックし、Publish→APIと選択※モデル一覧からの有効化はTRAININGタブ、EVALUATIONタブの両方から実行可能です。

34

API機能の実行タイプの選択

API
有効化

URL,キーの取得

API
実行

実行結果

ポップアップにて、インスタンス占有タイプを選択し※1、インスタンスタイプなどの詳細設定を実施します。
APIの設定は後ほど変更することも可能です。

１．APIの実行タイプの選択

２．インスタンスなどの設定インスタンス占有対応を選択します。
音声データはリクエスト数課金タイプには対応しておりません。

インスタンスと起動時間を選択します。 起動時間を時間帯と曜日で設定します。
起動時でAlways(常時起動)を選択され時間帯はUTCで設定ください※3。
た場合、操作はここで終了です。

※2※2

３．起動時間の設定※2※3 日本標準時から9時間引いた時刻がUTCです。
例えば、日本標準時で9:00～18:00の起動設定をする
場合は、0:00～9:00と設定ください。
※1 インスタンス占有タイプの利用は有料プランとなり、利用にはクレジットカード登録もしくは法人契約が必要になります。クレジットカード登録はユーザ設定を、法人契約はウェブサイトをご参照ください。
※2 設定によってポップアップが英語で表示される場合があります。言語表示の変更はユーザ設定をご参照ください。

35

APIのURLとキーの取得

API
有効化

URL,キーの取得

API
実行

DashboardのPublished APIに有効化されたAPIの一覧が表示されます。
ここから、API利用時に必要となる各APIのURLやキーの取得が可能です。
また、APIの実行タイプ変更やインスタンス占有タイプのインスタンスや起動時間の変更も可能です。

URLの取得キーの取得

APIの停止取得したURLはクリップボードに保存されます

取得したキーはクリップボードに保存されます

OFFにすることでAPI機能を一時停止できます

APIの設定変更
実行タイプや詳細設定を変更できます※

APIの利用回数
2xxが正常終了、4xx/ 5xxが異常終了の回数を示しています※実行タイプを変更した際には、URLが変更されますのでご注意ください。

36

実行結果

API
有効化

音声データのAPI実行方法(例)API実行
URL,キーの取得 Python curl

実行結果

音声データはモデル作成時のデータセットと同じ長さ、ビットレートで準備をし※、base64値に変換した後に、API実行時に入力データとして送信します。
#!/usr/bin/env python3# -*- coding: utf-8 -*import requests
import json
URL = 'https://xxxxx.dl.sony.com/v1/serverless/classifiers/dasdfadfd/inference'
KEY = '6626b3e4-1316-4b1a-b10b-6dsaf3dfsdab995d8’
WAV = './data.wav'
headers = {'Content-Type' : 'application/json','x-api-key' : KEY}
b64 = base64.encodebytes(open(WAV, 'rb').read()).decode('utf8')
data = {"executor": "Executor","inputs": [{"name": "x",name: モデルの入力データ名を入力"type": “wav”,"data": b64}]}
r = requests.post(URL, data=json.dumps(data), headers=headers)
print(r.text)※ 対応している音声データのフォーマットは‘wav’のみになります。

37

URL: NNC上で取得したURLを入力
KEY: NNC上で取得したキーを入力
WAV: 音声のファイルパスを入力curlを用いた実行方法(例)

API
有効化

URL,キーの取得

API実行
Pythoncurl

実行結果

curlを用いたコマンドラインからの実行例は以下の通りです。
jsonファイルに実行するデータを記載します。
《curlによる実行例》
curl -H "x-api-key:6626b3e4-1316-4b1a-b10b-6dasab995d8" ¥-H "Content-Type:application/json" ¥-d @data.json ¥"https://xxxxx.dl.sony.com/v1/serverless/classifiers/dasddfd/inference"《データを記載したjsonファイルの例》{}"executor": "Executor","inputs": [{"name": "x","type": “wav",“data": “ajf;aejoafasdf・・・¥n”}]
base64値を入力※1※1 音声データは事前にbase64値に変換いただく必要があります。
Pythonによる変換例は以下の通りです。
base64.encodebytes(open(filepath, 'rb').read()).decode('utf8')38

NNC上で取得したキーデータを記載したjsonファイルNNC上で取得したURL

API
有効化

実行結果

URL,キーの取得

API
実行

実行結果

実行が正常に完了すると、出力レイヤーの名称とデータなどがjson形式で返却されます※1。
異常時には”error”を含むデータが返却されますので、”message”を確認したうえで、キーやデータなどを再確認ください。
《正常時の実行結果》{"version":"20200707_051647035778","outputs":[{"name":"y'","data":"0.9994778037071228, 0.000522176269441843, 9.620963747902778e-12"}]}《異常時の実行結果》

outputsに出力レイヤーの名称とデータが記載{"code":"4031020301","error":"ACCESS_DENIED","message":"Invalid API key","data":{"request_id":"e5aefec8-cbab-4a45-af65-7905e4e26fa4"}}

実行結果に”error”が含まれると実行に失敗※１ 実行時にjson形式の返却がなくエラーが発生する場合には、URLが誤りの可能性がありますので、ご確認ください。
※２ 有料プランの利用にはクレジットカード登録もしくは法人契約が必要になります。クレジットカード登録はユーザ設定を、法人契約はウェブサイトをご参照ください。

“message”の内容で失敗の原因を確認ください。
• “Invalid API key”の場合APIのキーを再確認ください。
• “Invalid request”の場合送付したデータを再確認ください。
• “Can not publish api”の場合無料利用枠を使い切ったため、有料プランをご利用ください※2。
• その他
APIが有効になっているかをご確認の上で、少し時間をおいて再度お試しください。改善しない場合には、問合せフォームかコミュニティでご連絡ください。
39

分類モデルのダウンロード利用のステップ
NNCで作成した分類モデルを利用するには、NNC上でモデルを運用する方法と、作成したモデルをダウンロードすることでお客様の環境で自由にモデル利用ができます。
モデルを実行するためには、Neural Network Libraries(NNL)が必要になります。
NNLを用いることでコマンドラインやpythonなど様々な方法で分類モデルが実行可能となります。

ダウンロード利用のステップ
１

分類モデルのダウンロード

２

Neural Network Librariesの設定

３

分類モデルの実行

40

モデルのダウンロード

分類モデルのダウンロード

Neural Network
Librariesの設定

モデルの実行

学習が完了し最適なモデルを作成した後は、「Job History」の中から該当のモデルを右クリックし、選択肢の中の「Download」をクリックすることでモデルをダウンロードできます。
NNP、NNB、ONNXは作成したネットワークと学習済みパラメータの値が含まれたファイルで、実行方法に応じて使い分けをします (詳細はモデルの実行方法) 。また、html betaは学習結果などの内容をhtml形式で出力したものです。
作成したモデルの権利は作成者に帰属し、自由に分類モデルを利用することができます。

41

モデルのダウンロード

Neural Network Librariesの設定任意のPCにNeural Network Librariesをインストールします。

Neural Network Librariesのインストールについては、以下のドキュメントをご参照ください。
http://nnabla.readthedocs.io/en/latest/python/installation.html

42

Neural Network
Librariesの設定

モデルの実行

モデルのダウンロードモデルの実行方法

Neural Network
Librariesの設定

モデルの実行

NNablaを用いてモデルを実行する方法は、使用する言語に応じて様々な方法があります。
また、ONNXを利用することで、他のDeep Learningのフレームワークを利用することも可能です。
次頁以降では、コマンドラインで実行する方法を解説いたします。
GPU
ダウンロード
利用
特徴
ファイル
実行方法

参考URL
https://support.dl.sony.com/docs-ja/
チュートリアル：neural-networkconsoleによる学習済みニューラ/
https://support.dl.sony.com/docs-ja/
チュートリアル：neural-networkconsoleによる学習済みニューラ/
https://github.com/sony/nnabla/tree/master/examples/cpp/mnist_runti
me１

コマンドライン可能

最も簡単に利用可能

NNPファイル

２

Python可能

比較的容易に利用可能

NNPファイル

３

C++

可能

推論環境にPythonのインストールが不要

NNPファイル

４C

不可

非常にコンパクトであり、組み込み利用向き

NNBファイル

https://github.com/sony/nnabla-cruntime

５

他Deep Learning
フレームワーク

環境依存

環境依存

ONNXファイル

https://nnabla.readthedocs.io/en/latest/python/file_format_converter/file_format_converter.html

６

TensorFlow

環境依存

環境依存

TensorFlow frozen TensorFlowのウェブページをご覧くださいgraphファイル43

次頁に解説ありモデルのダウンロード

コマンドラインでの実行実行

Neural Network
Librariesの設定

モデルの実行

Neural Network LibrariesのインストールされたPython環境で、コマンドラインから以下を実行します。
nnabla_cli forward ¥-c [ダウンロードしたネットワークモデルファイル(*.nnp)] ¥-d [推論をするデータセットを取りまとめたCSVファイル] ¥-o [推論結果の出力ディレクトリ]※ Neural Network ConsoleのEVALUATIONタブでの推論実行時に同様のコマンドを使用しているため、ログの出力ウインドウに同様のものが出力されています。
2017-10-24 05:54:28,942 [worker]: [INFO]: nnabla_cli forward -c/home/nnabla/results/results_current_100.nnp -d ccbf15a0-bcb6-4ba6-b10e27fc877c4348/1002/index.csv -o /home/nnabla/results

44Appendix

45

SONYアカウントの取得
アカウント作成ページに移動し、メールアドレスやパスワードなどを設定します。

１．作成ページへの移動１２．作成ページへの移動２

３．メールアドレス等の入力 「新しいアカウントの作成」を押下 「はじめる」を押下 登録するメールアドレスとパスワードを入力

46

SONYアカウントの取得
生年月日などを入力し、利用規約などの確認を行います。

４．生年月日の入力

５．利用規約への同意

６．セキュリティ認証

 国/地域、言語、生年月日を入力

 メール配信の有無を選択
 利用規約・アカウントポリシーの確認

 「私はロボットではありません」を押下※画像選択が表示された場合には指示に従う

47

SONYアカウントの取得
確認メールを受信し、アカウントの有効化を行います。

７．確認メールの送付

８．確認メールの確認

 登録したメールアドレス宛に確認メールが送付される

 確認メールを開き、「確認する」を押下

48

学習環境と処理時間
一般的にDeep LearningはGPUを用いることにより、CPUと比べ高速に学習処理を行うことが可能です。

学習実行環境と処理時間・ご利用料金
学習実行環境学習処理時間

1時間当たりのご利用料金

ご利用料金目安

１CPU

1,209,600秒(336時間)85円約28,560円

２NVIDIA® TESLA® K80
GPU

14,976秒(4.16時間)

210円

約874円

３

NVIDIA® TESLA® V100
GPU

3,960秒(1.1時間)

560円

約616円

【検証環境】
 データセット：CIFAR 10 ネットワーク：ResNet-101
 epoch：300
49ユーザ設定
Service Settingsからユーザ名や言語表示の変更、クレジットカード登録※1などが可能です。
グループ機能を利用される場合には、ユーザ名を設定することで作業者が明確になり便利です※2。
２. “set”をクリックし、ポップ
12345678901234567890
アップからユーザ名を変更
３. 言語表示を選択

４. “Enter credit card”をクリックし、ポップアップからクレジットカードを登録
１. “Service Settings”をクリック

12345678901234567890※１GPUなど有料のサービスを利用される場合には、クレジットカード登録ないしは法人契約が必要になります。
※２ すでにグループ登録をされている方は、画面上に表示されるタブを、Personalに変更ください。(本紙には記載がありません)

50

API機能とはAPI機能とは作成したモデルをNNC上で運用する機能です。インターネット経由で推論データをNNCのサーバーに送信すると、NNC上で自動でモデルが実行され、推論結果が返却されます。
作成したモデルをダウンロードして利用することもできますが、API機能を利用することで、サーバーの構築や保守運用などが不要になり、手軽にモデル運用ができます。

モデルの運用方法
モデルをダウンロードして運用する場合

API機能を利用する場合

NNC

NNC
①モデルのAPI機能を有効化①モデルをダウンロード
PC

PC

サーバー

⑤APIリクエストの実装②Webサーバーの構築③モデルの推論プログラムを実装④Webサーバーを保守運用
51

サーバー

②APIリクエストの実装

ご自身でのサーバーの構築や保守運用が不要SONYはソニー株式会社の登録商標または商標です。
各ソニー製品の商品名・サービス名はソニー株式会社またはグループ各社の登録商標または商標です。その他の製品および会社名は、各社の商号、登録商標または商標です。