52
Neural Network Console クラウド版 スターターガイド 音声分類編ソニーネットワークコミュニケーションズ株式会社

Neural Network Console クラウド版 スターターガイド 音声分類編...2 概要 本ドキュメントでは Neural Network Console(NNC)を用いて、音声データをカテゴリ分けするための分類

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Neural Network Console クラウド版 スターターガイド 音声分類編...2 概要 本ドキュメントでは Neural Network Console(NNC)を用いて、音声データをカテゴリ分けするための分類

Neural Network Console クラウド版

スターターガイド

–音声分類編–

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

Page 2: Neural Network Console クラウド版 スターターガイド 音声分類編...2 概要 本ドキュメントでは Neural Network Console(NNC)を用いて、音声データをカテゴリ分けするための分類

2

概要

本ドキュメントではNeural Network Console(NNC)を用いて、音声データをカテゴリ分けするための分類モデルを作成する一連の流れをまとめました。

音声データの分類は、楽曲のジャンル分け、音声による感情解析や人物特定、異音検知など様々な分野で利用することができます。

本ドキュメントでは、サンプルプロジェクトを利用してモデル作成を行う流れになっていますので、Deep Learningモデルの設計ノウハウが無い方でも取り組み易い構成になっています。

Page 3: Neural Network Console クラウド版 スターターガイド 音声分類編...2 概要 本ドキュメントでは Neural Network Console(NNC)を用いて、音声データをカテゴリ分けするための分類

3

目次

アカウントサインイン

データアップロード

分類モデル作成

分類モデル利用

1 Deep Learning概要

Page 4: Neural Network Console クラウド版 スターターガイド 音声分類編...2 概要 本ドキュメントでは Neural Network Console(NNC)を用いて、音声データをカテゴリ分けするための分類

4

Deep Learning概要

Deep Learningのモデルとは、分類や予測などを行うためのアルゴリズムで、ネットワークとパラメータに分解できます。よくDeep Learningは脳の神経構造に例えられますが、ネットワークとは回路図で、パラメータとはその上の抵抗値のようなものです。

Deep Learningのモデル作成とは、目的に合わせたネットワークを構築し、準備したデータセットを用いてパ

ラメータを最適化する作業です。データセットによるパラメータの最適化を学習と呼び、学習をしてできたモデルを学習済みモデルと呼びます。

ネットワーク

パラメータ

ネットワーク

学習済みパラメータ

入力 出力

最適化

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

学習前モデル 学習済みモデルデータセット

Deep Learningの学習

Page 5: Neural Network Console クラウド版 スターターガイド 音声分類編...2 概要 本ドキュメントでは Neural Network Console(NNC)を用いて、音声データをカテゴリ分けするための分類

5

目次

アカウントサインイン

データアップロード

分類モデル作成

分類モデル利用

Deep Learning概要

Page 6: Neural Network Console クラウド版 スターターガイド 音声分類編...2 概要 本ドキュメントでは Neural Network Console(NNC)を用いて、音声データをカテゴリ分けするための分類

6

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

Chromeを利用して、https://dl.sony.com/jaに移動します。

ページの右上にある「無料で体験」をクリックします。

サインインするためのアカウントをSONYアカウントまたはGoogleアカウントから選択します。どちらを選択してもこのドキュメントの内容は進めることが可能です。

2. SONYアカウントまたはGoogleアカウントのどちらかを選択

※アカウントがない場合には選択後に作成可能です

※どちらのアカウントを選択いただいても、機能に違いはありません

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

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

Page 7: Neural Network Console クラウド版 スターターガイド 音声分類編...2 概要 本ドキュメントでは Neural Network Console(NNC)を用いて、音声データをカテゴリ分けするための分類

7

SONYアカウントでのサインイン

SONYアカウントに登録しているメールアドレス・パスワードを入力し、ログインを行います。

※アカウントをお持ちでない方は、「新しいアカウントの作成」から新規作成を行ってください。詳細は、AppendixのSONYアカウントの取得方法に記載があります。

1.メールアドレスの入力 2.利用規約への同意

Page 8: Neural Network Console クラウド版 スターターガイド 音声分類編...2 概要 本ドキュメントでは Neural Network Console(NNC)を用いて、音声データをカテゴリ分けするための分類

8

Googleアカウントでのサインイン

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

1.メールアドレスの入力 2.パスワードの入力 3.利用規約への同意

Page 9: Neural Network Console クラウド版 スターターガイド 音声分類編...2 概要 本ドキュメントでは Neural Network Console(NNC)を用いて、音声データをカテゴリ分けするための分類

9

目次

アカウントサインイン

データアップロード

分類モデル作成

分類モデル利用

Deep Learning概要

Page 10: Neural Network Console クラウド版 スターターガイド 音声分類編...2 概要 本ドキュメントでは Neural Network Console(NNC)を用いて、音声データをカテゴリ分けするための分類

10

データについて

お手持ちの音声データを用いて分類モデルを作成する場合には、データの準備やアップロードなどが必要ですので、次頁以降を読み進めてください。

データをお持ちでない場合には、NNCのサンプルデータを用いて本ドキュメントを進めることが可能です。本ドキュメントで利用しているNNCのサンプルデータに関してはサンプルデータの説明に説明があります。

また、 UCI Machine Learning RepositoryやKaggle等で公開されているウェブ上のオープンデータを利用することで、データ準備からモデル作成を体験いただくこともできます。

Page 11: Neural Network Console クラウド版 スターターガイド 音声分類編...2 概要 本ドキュメントでは Neural Network Console(NNC)を用いて、音声データをカテゴリ分けするための分類

11

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

Neural Network Consoleはクラウドサービスのため、モデルを作成するために必要なデータセットをあらかじめクラウドにアップロードする必要があります。

データセットとは入力データと出力データのセットで、音声分類の場合には音声データとラベルになります。音声データはwav形式でご準備ください。

お手持ちのPCにデータセットを準備し、以下のステップでクラウドへのアップロードを行います。

データセットの準備

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

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

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

Page 12: Neural Network Console クラウド版 スターターガイド 音声分類編...2 概要 本ドキュメントでは Neural Network Console(NNC)を用いて、音声データをカテゴリ分けするための分類

12

データセットの分割

モデル作成には、モデルを学習させるためのデータセット(学習データ、Training Data)と、モデルの精度を検証するためのデータセット(検証データ、Validation Data)の2つが必要になります。作成されたモデルの精度を正しく検証するためには、学習に利用していないデータで検証データを準備する必要があります。

複数データの場合には、サンプルや観測箇所などのデータ取得環境に応じて分割し、長時間データの場合には、観測時刻により分割します。

学習データ 検証データ

データセット

分割

学習に利用 学習には利用せず、

モデルの精度検証に使用

データセットの準備

CSVファイルの準備

データアップロード

長時間データの

場合

検証データ学習データ

サンプルA~C

サンプルD

複数データの場合

学習データと検証データ 音声データのデータ分割

学習データ

検証データ

Page 13: Neural Network Console クラウド版 スターターガイド 音声分類編...2 概要 本ドキュメントでは Neural Network Console(NNC)を用いて、音声データをカテゴリ分けするための分類

13

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

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

データセットの準備

CSVファイルの準備

データアップロード

音声データ音声データ 音声データ

タイプA

タイプB

タイプB

ラベル

成型済みデータセット元データセット ラベリング済みデータセット

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

ラベルを追加

Page 14: Neural Network Console クラウド版 スターターガイド 音声分類編...2 概要 本ドキュメントでは Neural Network Console(NNC)を用いて、音声データをカテゴリ分けするための分類

14

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

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

音声データ音声データ 音声データ ラベル

成型済みデータセット元データセット ラベリング済みデータセット

T=0~15T=5~20

T=10~25

異常箇所

正常

正常

異常

データセットの準備

CSVファイルの準備

データアップロード

一定時間で切り出し ラベルを追加

Page 15: Neural Network Console クラウド版 スターターガイド 音声分類編...2 概要 本ドキュメントでは Neural Network Console(NNC)を用いて、音声データをカテゴリ分けするための分類

15

x y

0001.wav 0

0002.wav 0

0003.wav 1

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

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

Deep Learningの入出力に用いるための名称を記載原則は入力がxで、出力がy※※カラム名の変更も可能ですが、変更時はレイヤー設定を手動で変更する必要があります

ラベルは数値情報に変換この例では0を正常、1を異常として変換

training_data.csv

データセットの準備

CSVファイルの準備

データアップロード

音声データ ラベル

正常

正常

異常

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

0001.wav

0002.wav

0003.wav

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

Page 16: Neural Network Console クラウド版 スターターガイド 音声分類編...2 概要 本ドキュメントでは Neural Network Console(NNC)を用いて、音声データをカテゴリ分けするための分類

16

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

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

1.アップローダの取得 2.アップロードキーの取得 3.アップローダの実行

以下のリンクからアップローダをダウンロードhttps://support.dl.sony.com/docs-ja/データセットアップロードツールのダウンロード/

Neural Network Consoleにログインし、Datasetタブの中のUpload Datasetをクリック

ポップアップ画面に表示されるアップロードキーをコピー

1で取得したアップローダを起動 tokenに2で取得したアップロードキーを貼り付け

fileに作成したCSVファイルを指定Startをクリックし、アップロードを実行

データセットの準備

CSVファイルの準備

データアップロード

※音声データはCSVに含まれるパスを参照し自動的にアップロードされます。

※アップローダは2020/7/30以降のものをご利用ください。

Page 17: Neural Network Console クラウド版 スターターガイド 音声分類編...2 概要 本ドキュメントでは Neural Network Console(NNC)を用いて、音声データをカテゴリ分けするための分類

17

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

アップロード後はDatasetタブの一覧にデータセットが追加されます。

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

例.wav_keyboard_sound.training.csv

x y

data/0001.csv 3

data/0002.csv 3

data/0003.csv 3

data/0004.csv 0

… …

アップロード時のCSVファイル データセット一覧に追加されたデータセット

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

音声データのファイルパスはアップロード時に変更されます

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

データセットの準備

CSVファイルの準備

データアップロード

Page 18: Neural Network Console クラウド版 スターターガイド 音声分類編...2 概要 本ドキュメントでは Neural Network Console(NNC)を用いて、音声データをカテゴリ分けするための分類

18

【参考】NNC上のサンプルデータ(wav_keyboard_sound)の説明

このドキュメントではNNC上のサンプルデータであるwav_keyboard_soundを用いて解説を行います。

このデータセットは、4つのキーボードの種類を打音から判別するものです。

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

label キーボード

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

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

2 パンタグラフキーボード

3 メンブレンキーボード

labelとキーボードの対応入力データの例

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

パンタグラフキーボード メンブレンキーボード

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

Page 19: Neural Network Console クラウド版 スターターガイド 音声分類編...2 概要 本ドキュメントでは Neural Network Console(NNC)を用いて、音声データをカテゴリ分けするための分類

19

目次

アカウントサインイン

データアップロード

分類モデル作成

分類モデル利用

Deep Learning概要

Page 20: Neural Network Console クラウド版 スターターガイド 音声分類編...2 概要 本ドキュメントでは Neural Network Console(NNC)を用いて、音声データをカテゴリ分けするための分類

20

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

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

20

新規プロジェクトの作成

データセットの指定

ネットワークの作成

学習・評価

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

Page 21: Neural Network Console クラウド版 スターターガイド 音声分類編...2 概要 本ドキュメントでは Neural Network Console(NNC)を用いて、音声データをカテゴリ分けするための分類

21

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

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

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

データセット変更

ネットワーク修正

学習・評価

1. Projectをクリック2. 検索窓に”wav”と入力

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

4. ポップアップで好きな名前を入力してOKをクリック【注意】プロジェクト名は半角英数字のみ利用可能です

wav_keyboard_sound

wav_keyboard_sound

※1:学習結果やモデルも含めコピーを行うため、処理に時間がかかる場合があります。

wav

Page 22: Neural Network Console クラウド版 スターターガイド 音声分類編...2 概要 本ドキュメントでは Neural Network Console(NNC)を用いて、音声データをカテゴリ分けするための分類

22

プロジェクトの起動

コピーしたプロジェクトをクリックし、プロジェクトを起動します。

以下のようなネットワークが表示されていることを確認します。

1. コピーしたプロジェクト(前頁4で指定した名称)をクリック

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

データセット変更

ネットワーク修正

学習・評価

Editタブ: ネットワークを作成するページ

ネットワークが表示

wav_keyboard_sound

Page 23: Neural Network Console クラウド版 スターターガイド 音声分類編...2 概要 本ドキュメントでは Neural Network Console(NNC)を用いて、音声データをカテゴリ分けするための分類

23

データセットの変更

DATASETタブからTrainingとValidationのデータセットをそれぞれ変更します。(サンプルデータを利用する場合には変更は不要です)

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

データセット変更

ネットワーク修正

学習・評価

1. Datasetタブをクリック

2. Trainingをクリック

3. Link Datasetの横のハイパーリンクをクリックサンプルでセットされている既存のデータセット名が記載されていますTraining: wav_keyboard_sound.trainingValidation: wav_keyboard_sound.validation

4. 一覧から学習に用いるデータセットを選択データセットのアップロード時に指定したファイル名を選択してください。

6. Validationをクリックし、3~5と同様の手順を実施

※1: ブラウザの拡大率によって表示されないことがあります。表示されない場合は表示の縮小をお試しください。

wav_dataset_training選択したデータセット名

5. リンクマークをクリック※1

Page 24: Neural Network Console クラウド版 スターターガイド 音声分類編...2 概要 本ドキュメントでは Neural Network Console(NNC)を用いて、音声データをカテゴリ分けするための分類

24

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

音声データの時間、サンプリングレート、モノラル/ステレオにあわせて、InputレイヤーのSizeを修正します。

例えば、長さが0.25秒、サンプリングレートが44,100Hzの場合、モノラルだと(11025, 1)、ステレオだと(11025, 2)になります。

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

データセット変更

ネットワーク修正

学習・評価

Sizeの計算方法 ネットワーク修正の操作説明

1. EDITタブをクリック

2. Inputをクリック

3. Sizeの値を修正

1次元目長さ

0.25秒

サンプリングレート

44,100Hz

データ数

11,025

2次元目モノラル

ステレオ

音源

1

2

データ数

Page 25: Neural Network Console クラウド版 スターターガイド 音声分類編...2 概要 本ドキュメントでは Neural Network Console(NNC)を用いて、音声データをカテゴリ分けするための分類

25

ネットワークの修正: 分類数の変更

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

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

データセット変更

ネットワーク修正

学習・評価

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

1. Affineをクリック

2. OutShapeを分類数に修正

Page 26: Neural Network Console クラウド版 スターターガイド 音声分類編...2 概要 本ドキュメントでは Neural Network Console(NNC)を用いて、音声データをカテゴリ分けするための分類

26

学習の実行

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

学習実行の方法 TRAININGページの概要

学習曲線(縦軸: 誤差、横軸: 学習世代)

1. 計算資源を選択

2. Runをクリック

途中経過のログ

新規プロジェクト作成

データセット変更

ネットワーク修正

学習・評価

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

Page 27: Neural Network Console クラウド版 スターターガイド 音声分類編...2 概要 本ドキュメントでは Neural Network Console(NNC)を用いて、音声データをカテゴリ分けするための分類

27

学習曲線の読み取り方

学習結果の良し悪しは、まずは学習曲線から判断をします。

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

Epoch数

誤差

Epoch数

誤差

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

良いモデルの学習曲線 悪いモデルの学習曲線(過学習)

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

TrainingとValidationの差が大きい

新規プロジェクト作成

データセット変更

ネットワーク修正

学習・評価

Page 28: Neural Network Console クラウド版 スターターガイド 音声分類編...2 概要 本ドキュメントでは Neural Network Console(NNC)を用いて、音声データをカテゴリ分けするための分類

28

評価の実行

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

評価実行の方法 表示可能なグラフの概要

評価グラフ 内容 問題

OutputResult 各データの1つ1つの判定結果

ConfusionMatrix

ClassificationResult

ClassificationMatrix

LikelihoodGraph

すべて

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

各データの判定確率上位3カテゴリの確率

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

判定確率と正答率の傾向

分類

分類

分類

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

データセット指定

ネットワーク修正

学習・評価

次頁以降で詳細を説明

Page 29: Neural Network Console クラウド版 スターターガイド 音声分類編...2 概要 本ドキュメントでは Neural Network Console(NNC)を用いて、音声データをカテゴリ分けするための分類

29

評価の見方:Output Result

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

Output Resultページのスナップショットとその見方

検証用データ モデルの判定結果

クリックして選択 ページを変更し全ての結果を確認可能

追記カラム名について

• 出力をアポストロフィー付きで表記例: 学習時にx → yであれば、y’を出力

• 分類問題の場合にはさらにindexを用い、各クラスの予想確率を出力

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

新規プロジェクト作成

データセット指定

ネットワーク作成

学習・評価

Page 30: Neural Network Console クラウド版 スターターガイド 音声分類編...2 概要 本ドキュメントでは Neural Network Console(NNC)を用いて、音声データをカテゴリ分けするための分類

30

評価の見方:Confusion Matrix

検証用データに対する統計的な評価指標と混同行列を表示します。

混同行列を用いて、全体の正答数や間違いやすいラベルの傾向などを確認できます。

クリックして選択

Confusion Matrixページのスナップショットとその見方

モデル全体の評価指標

混同行列

正解がラベル”1” のものを”2” と予想し、間違えた数が3つ

y’(モデルによる判定結果)

Accuracy: 全データの内、正答した数の割合Precision:予測を正と判断した中で、答えも正のものである割合Recall:答えが正の中で、予測が正とされた割合F-Measure: PrecisionとRecallの調和平均

新規プロジェクト作成

データセット指定

ネットワーク作成

学習・評価

y (あらかじ

め設定した正解結果)

Page 31: Neural Network Console クラウド版 スターターガイド 音声分類編...2 概要 本ドキュメントでは Neural Network Console(NNC)を用いて、音声データをカテゴリ分けするための分類

31

目次

アカウントサインイン

データアップロード

分類モデル作成

分類モデル利用

Deep Learning概要

Page 32: Neural Network Console クラウド版 スターターガイド 音声分類編...2 概要 本ドキュメントでは Neural Network Console(NNC)を用いて、音声データをカテゴリ分けするための分類

32

分類モデルの利用方法

作成した分類モデルを利用するには、モデルをNNC上でAPIとして運用する方法と、モデルをダウンロードし、利用する方法の2種類があります。

モデルをNNC上でAPIとして運用することにより、手軽に分類モデルの利用ができます(Appendix参照)。

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

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

分類モデルの利用方法

Page 33: Neural Network Console クラウド版 スターターガイド 音声分類編...2 概要 本ドキュメントでは Neural Network Console(NNC)を用いて、音声データをカテゴリ分けするための分類

33

API利用のステップ

API機能を利用するために、NNC上でモデルのAPI機能を有効化し、APIのURLとキーを取得する必要があります。APIのURLとキーはAPIを利用する際に必要な情報になります。

Pythonやcurlなどを利用し、URLとキーに加えて予測したいデータを送信することで、実行結果を取得することができます。

API機能の有効化

APIのURLとキーの取得

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

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

操作 概要

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

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

Page 34: Neural Network Console クラウド版 スターターガイド 音声分類編...2 概要 本ドキュメントでは Neural Network Console(NNC)を用いて、音声データをカテゴリ分けするための分類

34

API機能の有効化

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

モデル一覧から有効化 EVALUATIONタブのボタンから有効化

左側の一覧からAPIを有効化するモデルを右クリックし、Publish→APIと選択

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

※モデル一覧からの有効化はTRAININGタブ、EVALUATIONタブの両方から実行可能です。

実行結果URL,キーの取得

API有効化

API実行

Page 35: Neural Network Console クラウド版 スターターガイド 音声分類編...2 概要 本ドキュメントでは Neural Network Console(NNC)を用いて、音声データをカテゴリ分けするための分類

35

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

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

1.APIの実行タイプの選択 2.インスタンスなどの設定 3.起動時間の設定

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

インスタンスと起動時間を選択します。起動時でAlways(常時起動)を選択された場合、操作はここで終了です。

起動時間を時間帯と曜日で設定します。時間帯はUTCで設定ください※3。

※3 日本標準時から9時間引いた時刻がUTCです。例えば、日本標準時で9:00~18:00の起動設定をする場合は、0:00~9:00と設定ください。

※1 インスタンス占有タイプの利用は有料プランとなり、利用にはクレジットカード登録もしくは法人契約が必要になります。クレジットカード登録はユーザ設定を、法人契約はウェブサイトをご参照ください。

※2 設定によってポップアップが英語で表示される場合があります。言語表示の変更はユーザ設定をご参照ください。

※2 ※2 ※2

実行結果URL,キーの取得

API有効化

API実行

Page 36: Neural Network Console クラウド版 スターターガイド 音声分類編...2 概要 本ドキュメントでは Neural Network Console(NNC)を用いて、音声データをカテゴリ分けするための分類

36

APIのURLとキーの取得

DashboardのPublished APIに有効化されたAPIの一覧が表示されます。

ここから、API利用時に必要となる各APIのURLやキーの取得が可能です。

また、APIの実行タイプ変更やインスタンス占有タイプのインスタンスや起動時間の変更も可能です。

URLの取得

取得したURLはク

リップボードに保存されます

キーの取得

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

APIの停止

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

APIの設定変更

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

※実行タイプを変更した際には、URLが変更されますのでご注意ください。

APIの利用回数

2xxが正常終了、4xx / 5xxが異常終了の回

数を示しています

実行結果URL,キーの取得

API有効化

API実行

Page 37: Neural Network Console クラウド版 スターターガイド 音声分類編...2 概要 本ドキュメントでは Neural Network Console(NNC)を用いて、音声データをカテゴリ分けするための分類

37

音声データのAPI実行方法(例)

音声データはモデル作成時のデータセットと同じ長さ、ビットレートで準備をし※、base64値に変換した後に、API実行時に入力データとして送信します。

#!/usr/bin/env python3# -*- coding: utf-8 -*-import requestsimport jsonURL = '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","type": “wav”,"data": b64

}]}r = requests.post(URL, data=json.dumps(data), headers=headers)print(r.text)

URL: NNC上で取得したURLを入力KEY: NNC上で取得したキーを入力WAV: 音声のファイルパスを入力

name: モデルの入力データ名を入力

※対応している音声データのフォーマットは‘wav’のみになります。

API実行実行結果

Python curlURL,キーの取得

API有効化

Page 38: Neural Network Console クラウド版 スターターガイド 音声分類編...2 概要 本ドキュメントでは Neural Network Console(NNC)を用いて、音声データをカテゴリ分けするための分類

38

curlを用いた実行方法(例)

curlを用いたコマンドラインからの実行例は以下の通りです。jsonファイルに実行するデータを記載します。

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"

{"executor": "Executor","inputs": [{"name": "x","type": “wav",“data": “ajf;aejoafasdf・・・¥n”

}]}

NNC上で取得したキー

NNC上で取得したURL

データを記載したjsonファイル

※1 音声データは事前にbase64値に変換いただく必要があります。Pythonによる変換例は以下の通りです。base64.encodebytes(open(filepath, 'rb').read()).decode('utf8')

《curlによる実行例》

《データを記載したjsonファイルの例》

base64値を入力※1

API実行実行結果

Python curlURL,キーの取得

API有効化

Page 39: Neural Network Console クラウド版 スターターガイド 音声分類編...2 概要 本ドキュメントでは Neural Network Console(NNC)を用いて、音声データをカテゴリ分けするための分類

39

実行結果

実行が正常に完了すると、出力レイヤーの名称とデータなどが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”が含まれると実行に失敗

“message”の内容で失敗の原因を確認ください。• “Invalid API key”の場合

APIのキーを再確認ください。• “Invalid request”の場合送付したデータを再確認ください。

• “Can not publish api”の場合無料利用枠を使い切ったため、有料プランをご利用ください※2。

•その他APIが有効になっているかをご確認の上で、少し時間をおいて再

度お試しください。改善しない場合には、問合せフォームかコミュニティでご連絡ください。

※1実行時にjson形式の返却がなくエラーが発生する場合には、URLが誤りの可能性がありますので、ご確認ください。

※2有料プランの利用にはクレジットカード登録もしくは法人契約が必要にな

ります。クレジットカード登録はユーザ設定を、法人契約はウェブサイトをご参照ください。

実行結果URL,キーの取得

API有効化

API実行

Page 40: Neural Network Console クラウド版 スターターガイド 音声分類編...2 概要 本ドキュメントでは Neural Network Console(NNC)を用いて、音声データをカテゴリ分けするための分類

40

分類モデルのダウンロード利用のステップ

NNCで作成した分類モデルを利用するには、NNC上でモデルを運用する方法と、作成したモデルを

ダウンロードすることでお客様の環境で自由にモデル利用ができます。

モデルを実行するためには、Neural Network Libraries(NNL)が必要になります。

NNLを用いることでコマンドラインやpythonなど様々な方法で分類モデルが実行可能となります。

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

Neural Network Librariesの設定

分類モデルの実行

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

Page 41: Neural Network Console クラウド版 スターターガイド 音声分類編...2 概要 本ドキュメントでは Neural Network Console(NNC)を用いて、音声データをカテゴリ分けするための分類

41

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

学習が完了し最適なモデルを作成した後は、「Job History」の中から該当のモデルを右クリックし、選択肢の中の「Download」をクリックすることでモデルをダウンロードできます。

NNP、NNB、ONNXは作成したネットワークと学習済みパラメータの値が含まれたファイルで、実行方法に応じて使い分けをします (詳細はモデルの実行方法) 。また、html betaは学習結果などの内容をhtml形式で出力したものです。

作成したモデルの権利は作成者に帰属し、自由に分類モデルを利用することができます。

モデルのダウンロード

Neural NetworkLibrariesの設定

モデルの実行

Page 42: Neural Network Console クラウド版 スターターガイド 音声分類編...2 概要 本ドキュメントでは Neural Network Console(NNC)を用いて、音声データをカテゴリ分けするための分類

42

Neural Network Librariesの設定

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

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

モデルのダウンロード

Neural NetworkLibrariesの設定

モデルの実行

Page 43: Neural Network Console クラウド版 スターターガイド 音声分類編...2 概要 本ドキュメントでは Neural Network Console(NNC)を用いて、音声データをカテゴリ分けするための分類

43

モデルの実行方法

NNablaを用いてモデルを実行する方法は、使用する言語に応じて様々な方法があります。また、ONNXを利用することで、他のDeep Learningのフレームワークを利用することも可能です。

次頁以降では、コマンドラインで実行する方法を解説いたします。

コマンドライン

Python

C++

C

5他Deep Learningフレームワーク

可能

可能

可能

不可

環境依存

最も簡単に利用可能

比較的容易に利用可能

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

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

環境依存

https://support.dl.sony.com/docs-ja/チュートリアル:neural-network-consoleによる学習済みニューラ/https://support.dl.sony.com/docs-ja/チュートリアル:neural-network-consoleによる学習済みニューラ/https://github.com/sony/nnabla/tree/master/examples/cpp/mnist_runtime

https://github.com/sony/nnabla-c-runtime

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

NNPファイル

NNPファイル

NNPファイル

NNBファイル

ONNXファイル

実行方法GPU利用 特徴

ダウンロードファイル 参考URL

次頁に解説あり

モデルのダウンロード

Neural NetworkLibrariesの設定

モデルの実行

6 TensorFlow 環境依存

環境依存TensorFlowのウェブページをご覧ください

TensorFlow frozen graphファイル

Page 44: Neural Network Console クラウド版 スターターガイド 音声分類編...2 概要 本ドキュメントでは Neural Network Console(NNC)を用いて、音声データをカテゴリ分けするための分類

44

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

Neural Network LibrariesのインストールされたPython環境で、コマンドラインから以下を実行します。

nnabla_cli forward ¥-c [ダウンロードしたネットワークモデルファイル(*.nnp)] ¥-d [推論をするデータセットを取りまとめたCSVファイル] ¥-o [推論結果の出力ディレクトリ]

2017-10-24 05:54:28,942 [worker]: [INFO]: nnabla_cli forward -c /home/nnabla/results/results_current_100.nnp -d ccbf15a0-bcb6-4ba6-b10e-27fc877c4348/1002/index.csv -o /home/nnabla/results

※ Neural Network ConsoleのEVALUATIONタブでの推論実行時に同様のコマンドを使用しているため、ログの出力ウインドウに同様のものが出力されています。

モデルのダウンロード

Neural NetworkLibrariesの設定

モデルの実行

Page 45: Neural Network Console クラウド版 スターターガイド 音声分類編...2 概要 本ドキュメントでは Neural Network Console(NNC)を用いて、音声データをカテゴリ分けするための分類

45

Appendix

Page 46: Neural Network Console クラウド版 スターターガイド 音声分類編...2 概要 本ドキュメントでは Neural Network Console(NNC)を用いて、音声データをカテゴリ分けするための分類

46

SONYアカウントの取得

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

1.作成ページへの移動1 2.作成ページへの移動2 3.メールアドレス等の入力

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

Page 47: Neural Network Console クラウド版 スターターガイド 音声分類編...2 概要 本ドキュメントでは Neural Network Console(NNC)を用いて、音声データをカテゴリ分けするための分類

47

SONYアカウントの取得

生年月日などを入力し、利用規約などの確認を行います。

4.生年月日の入力 5.利用規約への同意 6.セキュリティ認証

国/地域、言語、生年月日を入力 メール配信の有無を選択

利用規約・アカウントポリシーの確認

「私はロボットではありません」を押下

※画像選択が表示された場合には指示に従う

Page 48: Neural Network Console クラウド版 スターターガイド 音声分類編...2 概要 本ドキュメントでは Neural Network Console(NNC)を用いて、音声データをカテゴリ分けするための分類

48

SONYアカウントの取得

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

7.確認メールの送付 8.確認メールの確認

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

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

Page 49: Neural Network Console クラウド版 スターターガイド 音声分類編...2 概要 本ドキュメントでは Neural Network Console(NNC)を用いて、音声データをカテゴリ分けするための分類

49

学習環境と処理時間

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

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

学習実行環境 学習処理時間 ご利用料金目安

2NVIDIA® TESLA® K80 GPU

14,976秒(4.16時間) 約874円

3NVIDIA® TESLA® V100 GPU

3,960秒(1.1時間) 約616円

85円

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

210円

560円

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

【検証環境】 データセット:CIFAR 10 ネットワーク:ResNet-101 epoch:300

Page 50: Neural Network Console クラウド版 スターターガイド 音声分類編...2 概要 本ドキュメントでは Neural Network Console(NNC)を用いて、音声データをカテゴリ分けするための分類

50

ユーザ設定

Service Settingsからユーザ名や言語表示の変更、クレジットカード登録※1などが可能です。グループ機能を利用される場合には、ユーザ名を設定することで作業者が明確になり便利です※2。

12345678901234567890

12345678901234567890

1. “Service Settings”をクリック

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

2. “set”をクリックし、ポップアップからユーザ名を変更

3. 言語表示を選択

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

Page 51: Neural Network Console クラウド版 スターターガイド 音声分類編...2 概要 本ドキュメントでは Neural Network Console(NNC)を用いて、音声データをカテゴリ分けするための分類

51

API機能とは

API機能とは作成したモデルをNNC上で運用する機能です。インターネット経由で推論データをNNCのサーバーに送信すると、NNC上で自動でモデルが実行され、推論結果が返却されます。

作成したモデルをダウンロードして利用することもできますが、API機能を利用することで、サーバーの構築や保守運用などが不要になり、手軽にモデル運用ができます。

NNC

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

①モデルをダウンロード

②Webサーバーの構築③モデルの推論プログラムを実装④Webサーバーを保守運用

⑤APIリクエストの実装

NNC

API機能を利用する場合

①モデルのAPI機能を有効化

②APIリクエストの実装 ご自身でのサーバーの構築や保守運用が不要

モデルの運用方法

PC サーバー PC サーバー

Page 52: Neural Network Console クラウド版 スターターガイド 音声分類編...2 概要 本ドキュメントでは Neural Network Console(NNC)を用いて、音声データをカテゴリ分けするための分類

SONYはソニー株式会社の登録商標または商標です。

各ソニー製品の商品名・サービス名はソニー株式会社またはグループ各社の登録商標または商標です。その他の製品および会社名は、各社の商号、登録商標または商標です。