Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
Neural Network Console クラウド版
スターターガイド
–音声分類編–
ソニーネットワークコミュニケーションズ株式会社
2
概要
本ドキュメントではNeural Network Console(NNC)を用いて、音声データをカテゴリ分けするための分類モデルを作成する一連の流れをまとめました。
音声データの分類は、楽曲のジャンル分け、音声による感情解析や人物特定、異音検知など様々な分野で利用することができます。
本ドキュメントでは、サンプルプロジェクトを利用してモデル作成を行う流れになっていますので、Deep Learningモデルの設計ノウハウが無い方でも取り組み易い構成になっています。
3
目次
2
3
4
5
アカウントサインイン
データアップロード
分類モデル作成
分類モデル利用
1 Deep Learning概要
4
Deep Learning概要
Deep Learningのモデルとは、分類や予測などを行うためのアルゴリズムで、ネットワークとパラメータに分解できます。よくDeep Learningは脳の神経構造に例えられますが、ネットワークとは回路図で、パラメータとはその上の抵抗値のようなものです。
Deep Learningのモデル作成とは、目的に合わせたネットワークを構築し、準備したデータセットを用いてパ
ラメータを最適化する作業です。データセットによるパラメータの最適化を学習と呼び、学習をしてできたモデルを学習済みモデルと呼びます。
ネットワーク
パラメータ
ネットワーク
学習済みパラメータ
入力 出力
犬
猫
最適化
※学習前のパラメータは乱数により決定
学習前モデル 学習済みモデルデータセット
Deep Learningの学習
5
目次
2
3
4
5
アカウントサインイン
データアップロード
1
分類モデル作成
分類モデル利用
Deep Learning概要
6
サインインページへの移動
Chromeを利用して、https://dl.sony.com/jaに移動します。
ページの右上にある「無料で体験」をクリックします。
サインインするためのアカウントをSONYアカウントまたはGoogleアカウントから選択します。どちらを選択してもこのドキュメントの内容は進めることが可能です。
2. SONYアカウントまたはGoogleアカウントのどちらかを選択
※アカウントがない場合には選択後に作成可能です
※どちらのアカウントを選択いただいても、機能に違いはありません
1. 「無料で体験」をクリック
サインインページへの移動方法
7
SONYアカウントでのサインイン
SONYアカウントに登録しているメールアドレス・パスワードを入力し、ログインを行います。
※アカウントをお持ちでない方は、「新しいアカウントの作成」から新規作成を行ってください。詳細は、AppendixのSONYアカウントの取得方法に記載があります。
1.メールアドレスの入力 2.利用規約への同意
8
Googleアカウントでのサインイン
Googleのメールアドレス・パスワードを入力し、ログインを行います。
1.メールアドレスの入力 2.パスワードの入力 3.利用規約への同意
9
目次
2
3
4
5
アカウントサインイン
データアップロード
1
分類モデル作成
分類モデル利用
Deep Learning概要
10
データについて
お手持ちの音声データを用いて分類モデルを作成する場合には、データの準備やアップロードなどが必要ですので、次頁以降を読み進めてください。
データをお持ちでない場合には、NNCのサンプルデータを用いて本ドキュメントを進めることが可能です。本ドキュメントで利用しているNNCのサンプルデータに関してはサンプルデータの説明に説明があります。
また、 UCI Machine Learning RepositoryやKaggle等で公開されているウェブ上のオープンデータを利用することで、データ準備からモデル作成を体験いただくこともできます。
11
データアップロードのステップ
Neural Network Consoleはクラウドサービスのため、モデルを作成するために必要なデータセットをあらかじめクラウドにアップロードする必要があります。
データセットとは入力データと出力データのセットで、音声分類の場合には音声データとラベルになります。音声データはwav形式でご準備ください。
お手持ちのPCにデータセットを準備し、以下のステップでクラウドへのアップロードを行います。
1
2
3
データセットの準備
アップロード用CSVファイルの準備
データセットのアップロード
データアップロードのステップ
12
データセットの分割
モデル作成には、モデルを学習させるためのデータセット(学習データ、Training Data)と、モデルの精度を検証するためのデータセット(検証データ、Validation Data)の2つが必要になります。作成されたモデルの精度を正しく検証するためには、学習に利用していないデータで検証データを準備する必要があります。
複数データの場合には、サンプルや観測箇所などのデータ取得環境に応じて分割し、長時間データの場合には、観測時刻により分割します。
学習データ 検証データ
データセット
分割
学習に利用 学習には利用せず、
モデルの精度検証に使用
データセットの準備
CSVファイルの準備
データアップロード
長時間データの
場合
検証データ学習データ
サンプルA~C
サンプルD
複数データの場合
学習データと検証データ 音声データのデータ分割
学習データ
検証データ
13
データセットの成型・ラベリング (複数データの場合)
楽曲のジャンル分けなど音源が複数ある場合には、音声データの長さとサンプリングレートを統一します。そのうえで、各音声データに対して予想するラベルを追加し、合わせて管理します。
データセットの準備
CSVファイルの準備
データアップロード
音声データ音声データ 音声データ
タイプA
タイプB
タイプB
ラベル
成型済みデータセット元データセット ラベリング済みデータセット
長さがばらばら 長さ・サンプリングレートを統一
ラベルを追加
14
データセットの成型・ラベリング(長時間データの場合)
異音検査など観測データが長時間の場合には、一定時間ごとに切り出します。そのうえで、予想するラベルを追加し、合わせて管理します。切り出す領域を重複させることで多数のデータを作り出すことができます。
音声データ音声データ 音声データ ラベル
成型済みデータセット元データセット ラベリング済みデータセット
T=0~15T=5~20
T=10~25
異常箇所
正常
正常
異常
データセットの準備
CSVファイルの準備
データアップロード
一定時間で切り出し ラベルを追加
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ファイル
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以降のものをご利用ください。
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ファイルの準備
データアップロード
18
【参考】NNC上のサンプルデータ(wav_keyboard_sound)の説明
このドキュメントではNNC上のサンプルデータであるwav_keyboard_soundを用いて解説を行います。
このデータセットは、4つのキーボードの種類を打音から判別するものです。
0.25秒、44,100Hzのため、横方向に11,025データ
label キーボード
0 メカニカルキーボード(青軸※)
1 メカニカルキーボード(赤軸※)
2 パンタグラフキーボード
3 メンブレンキーボード
labelとキーボードの対応入力データの例
メカニカルキーボード(青軸※) メカニカルキーボード(赤軸※)
パンタグラフキーボード メンブレンキーボード
※青軸、赤軸とはメカニカルキーボードのCHERRY MXスイッチの青軸、赤軸を示しています。
19
目次
2
3
4
5
アカウントサインイン
データアップロード
1
分類モデル作成
分類モデル利用
Deep Learning概要
20
分類モデルの作成ステップ
wav_keyboard_soundのサンプルデータを用いて、音声の分類モデルの作成過程を説明します。
20
1
2
3
4
新規プロジェクトの作成
データセットの指定
ネットワークの作成
学習・評価
分類モデルの作成ステップ
21
サンプルプロジェクトのコピー
サンプルプロジェクト(wav_keyboard_sound)を検索し、コピーします。
サンプルプロジェクト選択
データセット変更
ネットワーク修正
学習・評価
1. Projectをクリック2. 検索窓に”wav”と入力
3. サンプルプロジェクトをクリック
4. ポップアップで好きな名前を入力してOKをクリック【注意】プロジェクト名は半角英数字のみ利用可能です
wav_keyboard_sound
wav_keyboard_sound
※1:学習結果やモデルも含めコピーを行うため、処理に時間がかかる場合があります。
wav
22
プロジェクトの起動
コピーしたプロジェクトをクリックし、プロジェクトを起動します。
以下のようなネットワークが表示されていることを確認します。
1. コピーしたプロジェクト(前頁4で指定した名称)をクリック
サンプルプロジェクト選択
データセット変更
ネットワーク修正
学習・評価
Editタブ: ネットワークを作成するページ
ネットワークが表示
wav_keyboard_sound
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
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
データ数
25
ネットワークの修正: 分類数の変更
分類するラベル数に応じて、ネットワークを変更をします。
サンプルプロジェクト選択
データセット変更
ネットワーク修正
学習・評価
ネットワーク修正の操作説明
1. Affineをクリック
2. OutShapeを分類数に修正
26
学習の実行
EDITページのRunボタンをクリックすることで学習が実行されます。GPUを選択すると、高速に学習を行うことができます※。(参考: 学習環境と処理時間)GPU等有料のメニューを利用する場合は、クレジットカード登録もしくは法人契約が必要になります。クレジットカード登録はユーザ設定を、法人契約はウェブサイトをご参照ください。
学習実行の方法 TRAININGページの概要
学習曲線(縦軸: 誤差、横軸: 学習世代)
1. 計算資源を選択
2. Runをクリック
途中経過のログ
新規プロジェクト作成
データセット変更
ネットワーク修正
学習・評価
※1: サンプルプロジェクトのネットワークは複雑なため、CPU実行の場合にはGPU実行と比較して学習時間が長時間になります。計算途中にウェブブラウザを閉じても計算が止まることはありませんので、長時間に及ぶ場合にはあらためて結果をご確認ください。
27
学習曲線の読み取り方
学習結果の良し悪しは、まずは学習曲線から判断をします。
TrainingとValidationの差が大きい場合(過学習)は、モデルがTraining Dataに特化し過ぎた状態(教科書を丸暗記した場合に応用問題が解けないのと似た状態)です。未知のデータの予測精度が低いため、学習データ量を増やすなどの改善が必要です。
Epoch数
誤差
Epoch数
誤差
Training Data(学習に使用したデータ)Validation Data(学習に使用しないデータ)
良いモデルの学習曲線 悪いモデルの学習曲線(過学習)
学習が進むにつれて誤差が小さくなる
TrainingとValidationの差が大きい
新規プロジェクト作成
データセット変更
ネットワーク修正
学習・評価
28
評価の実行
TRAININGページのRunをクリックするとEVALUTIONページに遷移し、詳細な判定結果を確認できます。
評価実行の方法 表示可能なグラフの概要
評価グラフ 内容 問題
OutputResult 各データの1つ1つの判定結果
ConfusionMatrix
ClassificationResult
ClassificationMatrix
LikelihoodGraph
すべて
データセット全体の統計的な指標と混同行列(分類ラベルごとに結果を集計した表) 分類
各データの判定確率上位3カテゴリの確率
カテゴリごとのモデルの判定傾向
判定確率と正答率の傾向
分類
分類
分類
サンプルプロジェクト選択
データセット指定
ネットワーク修正
学習・評価
次頁以降で詳細を説明
29
評価の見方:Output Result
検証用データの右側にモデルの予測結果が表示されます。各検証用データに対して、作成したモデルがどのように判断したか確認できます。
Output Resultページのスナップショットとその見方
検証用データ モデルの判定結果
クリックして選択 ページを変更し全ての結果を確認可能
追記カラム名について
• 出力をアポストロフィー付きで表記例: 学習時にx → yであれば、y’を出力
• 分類問題の場合にはさらにindexを用い、各クラスの予想確率を出力
8行目であれば、99.5%の確率でラベル3と予測
新規プロジェクト作成
データセット指定
ネットワーク作成
学習・評価
30
評価の見方:Confusion Matrix
検証用データに対する統計的な評価指標と混同行列を表示します。
混同行列を用いて、全体の正答数や間違いやすいラベルの傾向などを確認できます。
クリックして選択
Confusion Matrixページのスナップショットとその見方
モデル全体の評価指標
混同行列
正解がラベル”1” のものを”2” と予想し、間違えた数が3つ
y’(モデルによる判定結果)
Accuracy: 全データの内、正答した数の割合Precision:予測を正と判断した中で、答えも正のものである割合Recall:答えが正の中で、予測が正とされた割合F-Measure: PrecisionとRecallの調和平均
新規プロジェクト作成
データセット指定
ネットワーク作成
学習・評価
y (あらかじ
め設定した正解結果)
31
目次
2
3
4
5
アカウントサインイン
データアップロード
1
分類モデル作成
分類モデル利用
Deep Learning概要
32
分類モデルの利用方法
作成した分類モデルを利用するには、モデルをNNC上でAPIとして運用する方法と、モデルをダウンロードし、利用する方法の2種類があります。
モデルをNNC上でAPIとして運用することにより、手軽に分類モデルの利用ができます(Appendix参照)。
1
2
分類モデルをNNC上でAPIとして運用
分類モデルをダウンロードし利用
分類モデルの利用方法
33
API利用のステップ
API機能を利用するために、NNC上でモデルのAPI機能を有効化し、APIのURLとキーを取得する必要があります。APIのURLとキーはAPIを利用する際に必要な情報になります。
Pythonやcurlなどを利用し、URLとキーに加えて予測したいデータを送信することで、実行結果を取得することができます。
1
2
API機能の有効化
APIのURLとキーの取得
APIとして利用するモデルを選択し、そのAPI機能を有効化します
外部からAPIを利用するためのURLとキーを取得します
操作 概要
3 APIの実行Pythonやcurlなどを利用し、APIを実行します
4 実行結果の取得 実行結果を取得します
34
API機能の有効化
Projectで作成したモデルの一覧からAPIとして利用するモデルをTRAININGタブないしはEVALUATIONタブから選択します。選択後に表示されるポップアップの内容は次頁で解説します。
モデル一覧から有効化 EVALUATIONタブのボタンから有効化
左側の一覧からAPIを有効化するモデルを右クリックし、Publish→APIと選択
左側の一覧からAPIを有効化するモデルを選択し、右側の「Publish API」ボタンを押下
※モデル一覧からの有効化はTRAININGタブ、EVALUATIONタブの両方から実行可能です。
※
実行結果URL,キーの取得
API有効化
API実行
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実行
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実行
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有効化
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有効化
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実行
40
分類モデルのダウンロード利用のステップ
NNCで作成した分類モデルを利用するには、NNC上でモデルを運用する方法と、作成したモデルを
ダウンロードすることでお客様の環境で自由にモデル利用ができます。
モデルを実行するためには、Neural Network Libraries(NNL)が必要になります。
NNLを用いることでコマンドラインやpythonなど様々な方法で分類モデルが実行可能となります。
1
2
3
分類モデルのダウンロード
Neural Network Librariesの設定
分類モデルの実行
ダウンロード利用のステップ
41
分類モデルのダウンロード
学習が完了し最適なモデルを作成した後は、「Job History」の中から該当のモデルを右クリックし、選択肢の中の「Download」をクリックすることでモデルをダウンロードできます。
NNP、NNB、ONNXは作成したネットワークと学習済みパラメータの値が含まれたファイルで、実行方法に応じて使い分けをします (詳細はモデルの実行方法) 。また、html betaは学習結果などの内容をhtml形式で出力したものです。
作成したモデルの権利は作成者に帰属し、自由に分類モデルを利用することができます。
モデルのダウンロード
Neural NetworkLibrariesの設定
モデルの実行
42
Neural Network Librariesの設定
任意のPCにNeural Network Librariesをインストールします。
Neural Network Librariesのインストールについては、以下のドキュメントをご参照ください。http://nnabla.readthedocs.io/en/latest/python/installation.html
モデルのダウンロード
Neural NetworkLibrariesの設定
モデルの実行
43
モデルの実行方法
NNablaを用いてモデルを実行する方法は、使用する言語に応じて様々な方法があります。また、ONNXを利用することで、他のDeep Learningのフレームワークを利用することも可能です。
次頁以降では、コマンドラインで実行する方法を解説いたします。
1
2
3
4
コマンドライン
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ファイル
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の設定
モデルの実行
45
Appendix
46
SONYアカウントの取得
アカウント作成ページに移動し、メールアドレスやパスワードなどを設定します。
1.作成ページへの移動1 2.作成ページへの移動2 3.メールアドレス等の入力
「新しいアカウントの作成」を押下 「はじめる」を押下 登録するメールアドレスとパスワードを入力
47
SONYアカウントの取得
生年月日などを入力し、利用規約などの確認を行います。
4.生年月日の入力 5.利用規約への同意 6.セキュリティ認証
国/地域、言語、生年月日を入力 メール配信の有無を選択
利用規約・アカウントポリシーの確認
「私はロボットではありません」を押下
※画像選択が表示された場合には指示に従う
48
SONYアカウントの取得
確認メールを受信し、アカウントの有効化を行います。
7.確認メールの送付 8.確認メールの確認
登録したメールアドレス宛に確認メールが送付される
確認メールを開き、「確認する」を押下
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
50
ユーザ設定
Service Settingsからユーザ名や言語表示の変更、クレジットカード登録※1などが可能です。グループ機能を利用される場合には、ユーザ名を設定することで作業者が明確になり便利です※2。
12345678901234567890
12345678901234567890
1. “Service Settings”をクリック
※1GPUなど有料のサービスを利用される場合には、クレジットカード登録ないしは法人契約が必要になります。※2すでにグループ登録をされている方は、画面上に表示されるタブを、Personalに変更ください。(本紙には記載がありません)
2. “set”をクリックし、ポップアップからユーザ名を変更
3. 言語表示を選択
4. “Enter credit card”をクリックし、ポップアップからクレジットカードを登録
51
API機能とは
API機能とは作成したモデルをNNC上で運用する機能です。インターネット経由で推論データをNNCのサーバーに送信すると、NNC上で自動でモデルが実行され、推論結果が返却されます。
作成したモデルをダウンロードして利用することもできますが、API機能を利用することで、サーバーの構築や保守運用などが不要になり、手軽にモデル運用ができます。
NNC
モデルをダウンロードして運用する場合
①モデルをダウンロード
②Webサーバーの構築③モデルの推論プログラムを実装④Webサーバーを保守運用
⑤APIリクエストの実装
NNC
API機能を利用する場合
①モデルのAPI機能を有効化
②APIリクエストの実装 ご自身でのサーバーの構築や保守運用が不要
モデルの運用方法
PC サーバー PC サーバー
SONYはソニー株式会社の登録商標または商標です。
各ソニー製品の商品名・サービス名はソニー株式会社またはグループ各社の登録商標または商標です。その他の製品および会社名は、各社の商号、登録商標または商標です。