SlideShare a Scribd company logo
1 of 54
Jupyter NotebookとChainerで楽々
Deep Learning
乗松潤矢
Engineer at Alpaca
2016/4/16 SoftLayer Bluemix Community Festa 2016
自己紹介
乗松潤矢 (Jun-ya Norimatsu)
Engineer @ Alpaca
専門: 自然言語処理
統計的機械翻訳
統計的言語モデル
3月に博士号をとったばかりのペーペーです 2
フリーランス
今日の肩書き
Capitalico
https://www.capitalico.com/
Deep Learningによる
投資アルゴリズム学習
こんなの作ってます
3
Deep Learningで投資アルゴリズム学習?
投資家には、それぞれ思い描いているパターンがある
自分が思っているパターンが来たらお知らせしてほしい
4
Deep Learningで投資アルゴリズム学習?
これらはすべて同じパターンとして検出したい 実例から機械学習
5
与えられた実例からパターンを学習
6
今日のお話をきくとお得な人たち
Deep Learningやってみたいけど腰が重い人
Deep Learning Framework入れてみたけど、「…で?」となった人
過去にやった検証のどれがなにだかわからなくなりがちな人
逆に、時間の無駄になるかもしれない人たち
Chainerマスターな人
Jupyter Notebookマスターな人
7
本日の内容
• 第1部
• AlpacaにおけるChainer + Jupyter Notebook環境
• 第2部
• Jupyter NotebookでDeep Learningをやってみる
• (Chainer入門)
8
Alpacaにおける
Jupyter Notebook
+ Chainer環境
第1部
9
本題の前に…
AlpacaにおけるSoftlayerの利用
Alpacaでは開発にDockerをフル活用
Softlayerさまサーバー
Docker
Webサーバ DBサーバ Jobサーバ
Docker
Webサーバ DBサーバ Jobサーバ
Docker
Webサーバ DBサーバ Jobサーバ
Aさん用
環境
Bさん用
環境
Cさん用
環境
=container
各環境内で閉じたネットワーク
10
本題の前に…
AlpacaにおけるSoftlayerの利用
Softlayerさまサーバー
Docker
Webサーバ DBサーバ Jobサーバ
Docker
Webサーバ DBサーバ Jobサーバ
Aさん用
環境
Bさん用
環境
=container
一台のサーバーで複数人が同時開発可能
ポイント: Networkがコンテナ内で独立
11Softlayerサーバーをフル活用
本題の前に…
AlpacaにおけるSoftlayerの利用
Softlayerさまサーバー
Tesla K80
Tesla K80
Docker
12
検証用環境もDockerで構築
Chainer
+
Jupyter Notebook
Docker内からGPUにアクセスできるよう設定
本題
なぜJupyter Notebookなのか
「前にやったあの実験どうなったんだっけ」
「あのとき、ここのパラメータどうしたんだっけ」
「前はうまくいったはずだったんだけど…」
Notebook導入前の悩み
「これから新しく来る人に今までやってきた知見をどう伝えよう」
Notebookのいいところ
実験の手順を残せる
コードと一緒に実験結果のグラフ・表を保存できる
GitHubにアップロードすると実験結果へのpermalinkができる
13
Jupyter Notebook
旧IPython Notebook
Pythonだけじゃなくなったので名前変更
ノートブック形式でプログラムを実行・結果を保存
14
Notebook形式?
ノートに書き込んでいるかのように対話的なプログラム実行
Markdown
Pythonコード
15
NotebookファイルをGitHubに上げるとそのまま見える
記録・参照・共有に便利
16
Chainer
日本発のDeep Learning Framework
Networkをダイナミックに書き換えられる
数あるFrameworkの中で一番書きやすい(※)
(※)個人の感想です 17
Jupyter Notebook + Chainer
Notebook中でimportして使うだけ
GPUも問題なく使える
18
AlpacaでのJupyter Notebookの利用例
トレーニングの進捗をその場で可視化
training dataに対するlossを可視化
横軸: 正解データの値
縦軸: 推定データの値
training lossの反復に対する変化
横軸: 反復回数
縦軸: lossの値(average)
19
AlpacaでのJupyter Notebookの利用例
シグナルの出方をNotebook上で可視化
シグナル
20
Notebookの運用(試行錯誤中)
タスク管理との連動
NotebookのURL 21
Notebookの運用(試行錯誤中)
失敗した実験はどう保存する?
全部保存していたら大量のNotebookが溢れてしまう
(暫定作) Pull Requestを出してマージしない
PRから辿ればNotebookを参照できる 22
Jupyter Notebook Tips
Pythonでやるよりコマンド叩いた方が速いんだけど
“%%bash” でbashが使える
23
Jupyter Notebook Tips
時間を計りたい
“%%time” で実行時間を測定できる
24
Jupyter Notebook Tips
もっとインタラクティブにグラフを見たいんだけど
plotlyが便利
ただしGitHubからは見えなくなる
マウスオンで値が見える
拡大できる
25
第1部まとめ
• Jupyter NotebookでChainerつかえる
• Jupyter Notebookで実験を保存
• その場でグラフ作って結果確認
• GitHubと相性良い
• GitHubが実験にpermalinkをくれる
• チームメンバー全員が実験結果にアクセス可
• タスク管理ツールと連動すると後から参照しやすい
26
Jupyter Notebookで
Deep Learningをやってみる
(Chainer入門)
第2部
27
やってみよう
Jupyter Notebookのインストール
いろんな方法があります
多分一番楽なのはanaconda
chainerのインストール
pip install chainer
Notebookからpipできる
28
Demo
走れメロスっぽい文ジェネレータ
実際に、やってみた
Deep Learningで「走れメロス」の文体を学習
学習した文体で文を生成
29
走れメロスっぽい文ジェネレータ
実行例
30
走れメロスっぽい文ジェネレータ
うまくいかなかった文
走れメロス本文に出てくる文
なんかおかしい文
31
Jupyter Notebookのイロハ
%matplotlib inline
%load_ext autoreload
%autoreload 2
とりあえずこれを実行しておきましょう
%matplotlib inline
図をNotebook上に表示
%load_ext autoreload
%autoreload 2
importしたライブラリが更新されると自動的にリロードしてくれる
32
モデルを作ろう
やりたいこと: 文を生成したい
生成モデルがいいよね
文(単語列)を とする
を与えるモデルがあれば文をサンプリングできる
33
よくある式変形
をDeep Learningでモデル化しましょう
なので
34
今回のモデル
LSTM
LSTM
Fully Connected
EmbedID
Softmax
Chainerのexampleとほぼ同一
https://github.com/pfnet/chainer/blob/master/examples/ptb
単語を高次元空間の位置に変換
過去の単語と今回の単語を組み合わせて
文脈をベクトル化
ベクトルを確率分布に変換
35
今回のモデル
LSTM
LSTM
Fully Connected
EmbedID
Softmax
LSTM
LSTM
Fully Connected
EmbedID
Softmax
LSTM
LSTM
Fully Connected
EmbedID
Softmax
36
Modelを書こう – 全体像 –
class LM(Chain):
def __init__(self, n_vocab):
super(LM, self).__init__(
embed=L.EmbedID(n_vocab, 100),
lstm1=L.LSTM(100, 50),
lstm2=L.LSTM(50, 50),
out=L.Linear(50, n_vocab),
)
self.n_vocab = n_vocab
self.dropout_ratio = 0.5
self.train = False
self.softmax = lambda x: x
def reset_state(self):
self.lstm1.reset_state()
self.lstm2.reset_state()
def __call__(self, x):
h = self.embed(x)
h = self.lstm1(h)
h = F.dropout(h, ratio=self.dropout_ratio, train=self.train)
h = self.lstm2(h)
h = F.dropout(h, ratio=self.dropout_ratio, train=self.train)
y = self.out(h)
y = self.softmax(y)
return y
LSTM
LSTM
Fully Connected
EmbedID
(Softmax)
例えばこんな感じ
37
Modelを書こう – レイヤー定義 –
class LM(Chain):
def __init__(self, n_vocab):
super(LM, self).__init__(
embed=L.EmbedID(n_vocab, 100),
lstm1=L.LSTM(100, 50),
lstm2=L.LSTM(50, 50),
out=L.Linear(50, n_vocab),
)
LSTM
LSTM
Fully Connected
EmbedID
(Softmax)
パラメータを持つレイヤーの定義
レイヤーはlink.Chainが管理
Point!
dropout, softmaxはパラメータを持たない
38
Modelを書こう – 確率分布計算 –
def __call__(self, x):
h = self.embed(x)
h = self.lstm1(h)
h = F.dropout(h, ratio=self.dropout_ratio, train=self.train)
h = self.lstm2(h)
h = F.dropout(h, ratio=self.dropout_ratio, train=self.train)
y = self.out(h)
y = self.softmax(y)
return y
LSTM
LSTM
Fully Connected
EmbedID
(Softmax)
レイヤーを順に並べるだけ
たまにdropoutを入れるといい感じに学習する
Point!
39
(詳細は略)
学習しよう
モデルを作っただけではだめ
適切なモデルパラメータを学習しないと使えない
モデルパラメータはどうやって学習する?
学習データをうまく表現するパラメータを探す
モデルと学習データのズレ
(training) lossと言います
lossができるだけ小さくなるようにモデルパラメータを設定
最適化と言います 40
学習しよう
モデルパラーメタの学習
lossが小さくなるように
モデルのパラメータを少しずつ動かす作業
41
学習 [Step 1]
モデルから分類器を作る
classifier = links.Classifier(lm)
lm = LM(len(vocab))
次の1単語を予測
正解・不正解を判定
LSTM
LSTM
Fully Connected
EmbedID
(Softmax)
LM
loss
classifier( , ) : 「どういう風に当たり/外れたか」を返す
42
変数の取り扱い
classifier( , )
ってどう扱う?
って書いたけど、
Variableクラスを使いましょう!!
Variable( の単語ID, volatile=...)使い方
volatileに与える値(典型的な使い方の場合)
学習時: False, テスト時: True
43
値の持ち方
通常、複数の文を一度に処理します
文1
文2
文3
…
ID(w11) ID(w12) ID(w13) … ID(w1m)
ID(w21) ID(w22) ID(w23) … ID(w2m)
ID(w31) ID(w32) ID(w33) … ID(w3m)
… … … … …
1単語目 2単語目 3単語目 m単語目…
ID(w): 単語wの単語IDを返す関数
wij: 文iのj番目の単語, 文長がj未満の場合特殊単語</s>
m: データに含まれる文の最大文長+1
このとき、 は Variable(id_vec[:, i], volatile=...)
id_vec =
44
学習 [Step 2]
lossの計算
学習用データを1回なめる関数
一単語ずつ、予測・当たり/外れ情報が変数lossに溜まっていく
45
学習 [Step 3-1]
パラメータの最適化
Optimizerを使う
opt = optimizers.AdaDelta()
opt.setup(classifier)
opt.add_hook(optimizer.GradientClipping(5))
optimizers.AdaDelta()
optimizerの手法。他にもいろいろある。
経験的にはどれを使ってもあんまり変わらない
optimizers.SGDは玄人向き
最適化対象を設定
opt.setup(classifier)
値の爆発を抑制
opt.add_hook(optimizer.GradientClipping(5))
(細かい向き・不向きはある)
46
学習 [Step 3-2]
パラメータの最適化
lm.reset_state()
opt.zero_grads()
loss = forward_all(id_vec, classifier, train=True)
loss.backward()
opt.update()
学習用データを1回なめて、パラメータを更新
初期化
2つ前のスライド
で作った関数
当たり外れの情報からパラメータを更新
この処理を何度も何度も繰り返す
47
学習の様子をグラフで見る
単にPlotしたいときは、pandas.DataFrameを経由するのが便利
48
最適化処理は何をやっているのか
データを一回なめる (forward)
パラメータをどっちに動かすとlossが小さくなるか計算(backward)
正解との誤差を計算できる
その方向にちょっとだけずらす(update)
Variable.gradに結果を蓄積
変数lossに結果を蓄積
実は変数lossを各パラメータで偏微分しているだけ
49
出来上がったモデルを使ってみよう
適当に文をサンプリング
文をサンプルする関数
50
補足
GPUを使おう
CPUで計算すると重い
chainerの場合:
データをGPUに転送すればあとは勝手にやってくれる
転送方法
numpy配列: chainer.cuda.to_gpu(value)
Variable: variable.to_gpu()
Chain: model.to_gpu()
51
補足
注意: マルチGPU
GPUを複数積んでいるサーバーの場合
データとモデルのデータは同じGPU内メモリに置く
置き場所を間違えた時:
classifier.to_gpu(1)
GPUを指定する方法1: to_gpuで指定する
GPUを指定する方法2: withブロックで指定する
with cupy.cuda.Device(1):
... 52
第2部まとめ
ね、簡単でしょう?
53
まとめ
• Jupyter Notebook + Chainerでお手軽Deep Learningできる
• GitHubとの連携で後からの参照もばっちり
• Chainerは難しくない!
【PR】 Capitalico使ってね
54

More Related Content

What's hot

High performance python computing for data science
High performance python computing for data scienceHigh performance python computing for data science
High performance python computing for data scienceTakami Sato
 
DockerでCoq インストール
DockerでCoq インストールDockerでCoq インストール
DockerでCoq インストールYoshihiro Mizoguchi
 
Stand alone self attention in vision models
Stand alone self attention in vision modelsStand alone self attention in vision models
Stand alone self attention in vision modelsharmonylab
 
AlmaLinux と Rocky Linux の誕生経緯&比較
AlmaLinux と Rocky Linux の誕生経緯&比較AlmaLinux と Rocky Linux の誕生経緯&比較
AlmaLinux と Rocky Linux の誕生経緯&比較beyond Co., Ltd.
 
非ガウス性を利用した 因果構造探索
非ガウス性を利用した因果構造探索非ガウス性を利用した因果構造探索
非ガウス性を利用した 因果構造探索Shiga University, RIKEN
 
[DL輪読会]Revisiting Deep Learning Models for Tabular Data (NeurIPS 2021) 表形式デー...
[DL輪読会]Revisiting Deep Learning Models for Tabular Data  (NeurIPS 2021) 表形式デー...[DL輪読会]Revisiting Deep Learning Models for Tabular Data  (NeurIPS 2021) 表形式デー...
[DL輪読会]Revisiting Deep Learning Models for Tabular Data (NeurIPS 2021) 表形式デー...Deep Learning JP
 
初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!Tetsutaro Watanabe
 
日本一やさしい マテリアルズ・インフォマティクスへの導き_柴田_nanotech2023
日本一やさしい マテリアルズ・インフォマティクスへの導き_柴田_nanotech2023日本一やさしい マテリアルズ・インフォマティクスへの導き_柴田_nanotech2023
日本一やさしい マテリアルズ・インフォマティクスへの導き_柴田_nanotech2023Matlantis
 
比較サイトの検索改善(SPA から SSR に変換)
比較サイトの検索改善(SPA から SSR に変換)比較サイトの検索改善(SPA から SSR に変換)
比較サイトの検索改善(SPA から SSR に変換)gree_tech
 
ブレインパッドにおける機械学習プロジェクトの進め方
ブレインパッドにおける機械学習プロジェクトの進め方ブレインパッドにおける機械学習プロジェクトの進め方
ブレインパッドにおける機械学習プロジェクトの進め方BrainPad Inc.
 
機械学習ゴリゴリ派のための数学とPython
機械学習ゴリゴリ派のための数学とPython機械学習ゴリゴリ派のための数学とPython
機械学習ゴリゴリ派のための数学とPythonKimikazu Kato
 
【DL輪読会】The Forward-Forward Algorithm: Some Preliminary
【DL輪読会】The Forward-Forward Algorithm: Some Preliminary【DL輪読会】The Forward-Forward Algorithm: Some Preliminary
【DL輪読会】The Forward-Forward Algorithm: Some PreliminaryDeep Learning JP
 
Active Learning と Bayesian Neural Network
Active Learning と Bayesian Neural NetworkActive Learning と Bayesian Neural Network
Active Learning と Bayesian Neural NetworkNaoki Matsunaga
 
科学技術計算関連Pythonパッケージの概要
科学技術計算関連Pythonパッケージの概要科学技術計算関連Pythonパッケージの概要
科学技術計算関連Pythonパッケージの概要Toshihiro Kamishima
 
金融×AIで解くべき問題は何か?
金融×AIで解くべき問題は何か?金融×AIで解くべき問題は何か?
金融×AIで解くべき問題は何か?Tsunehiko Nagayama
 
【DL輪読会】ViT + Self Supervised Learningまとめ
【DL輪読会】ViT + Self Supervised Learningまとめ【DL輪読会】ViT + Self Supervised Learningまとめ
【DL輪読会】ViT + Self Supervised LearningまとめDeep Learning JP
 
20170419PFNオープンハウス インターンと採用 公開用
20170419PFNオープンハウス  インターンと採用 公開用20170419PFNオープンハウス  インターンと採用 公開用
20170419PFNオープンハウス インターンと採用 公開用Preferred Networks
 
最近傍探索と直積量子化(Nearest neighbor search and Product Quantization)
最近傍探索と直積量子化(Nearest neighbor search and Product Quantization)最近傍探索と直積量子化(Nearest neighbor search and Product Quantization)
最近傍探索と直積量子化(Nearest neighbor search and Product Quantization)Nguyen Tuan
 
強化学習 と ゲーム理論 (MARL)
強化学習 と ゲーム理論 (MARL)強化学習 と ゲーム理論 (MARL)
強化学習 と ゲーム理論 (MARL)HarukaKiyohara
 

What's hot (20)

High performance python computing for data science
High performance python computing for data scienceHigh performance python computing for data science
High performance python computing for data science
 
Google Colaboratoryの使い方
Google Colaboratoryの使い方Google Colaboratoryの使い方
Google Colaboratoryの使い方
 
DockerでCoq インストール
DockerでCoq インストールDockerでCoq インストール
DockerでCoq インストール
 
Stand alone self attention in vision models
Stand alone self attention in vision modelsStand alone self attention in vision models
Stand alone self attention in vision models
 
AlmaLinux と Rocky Linux の誕生経緯&比較
AlmaLinux と Rocky Linux の誕生経緯&比較AlmaLinux と Rocky Linux の誕生経緯&比較
AlmaLinux と Rocky Linux の誕生経緯&比較
 
非ガウス性を利用した 因果構造探索
非ガウス性を利用した因果構造探索非ガウス性を利用した因果構造探索
非ガウス性を利用した 因果構造探索
 
[DL輪読会]Revisiting Deep Learning Models for Tabular Data (NeurIPS 2021) 表形式デー...
[DL輪読会]Revisiting Deep Learning Models for Tabular Data  (NeurIPS 2021) 表形式デー...[DL輪読会]Revisiting Deep Learning Models for Tabular Data  (NeurIPS 2021) 表形式デー...
[DL輪読会]Revisiting Deep Learning Models for Tabular Data (NeurIPS 2021) 表形式デー...
 
初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!
 
日本一やさしい マテリアルズ・インフォマティクスへの導き_柴田_nanotech2023
日本一やさしい マテリアルズ・インフォマティクスへの導き_柴田_nanotech2023日本一やさしい マテリアルズ・インフォマティクスへの導き_柴田_nanotech2023
日本一やさしい マテリアルズ・インフォマティクスへの導き_柴田_nanotech2023
 
比較サイトの検索改善(SPA から SSR に変換)
比較サイトの検索改善(SPA から SSR に変換)比較サイトの検索改善(SPA から SSR に変換)
比較サイトの検索改善(SPA から SSR に変換)
 
ブレインパッドにおける機械学習プロジェクトの進め方
ブレインパッドにおける機械学習プロジェクトの進め方ブレインパッドにおける機械学習プロジェクトの進め方
ブレインパッドにおける機械学習プロジェクトの進め方
 
機械学習ゴリゴリ派のための数学とPython
機械学習ゴリゴリ派のための数学とPython機械学習ゴリゴリ派のための数学とPython
機械学習ゴリゴリ派のための数学とPython
 
【DL輪読会】The Forward-Forward Algorithm: Some Preliminary
【DL輪読会】The Forward-Forward Algorithm: Some Preliminary【DL輪読会】The Forward-Forward Algorithm: Some Preliminary
【DL輪読会】The Forward-Forward Algorithm: Some Preliminary
 
Active Learning と Bayesian Neural Network
Active Learning と Bayesian Neural NetworkActive Learning と Bayesian Neural Network
Active Learning と Bayesian Neural Network
 
科学技術計算関連Pythonパッケージの概要
科学技術計算関連Pythonパッケージの概要科学技術計算関連Pythonパッケージの概要
科学技術計算関連Pythonパッケージの概要
 
金融×AIで解くべき問題は何か?
金融×AIで解くべき問題は何か?金融×AIで解くべき問題は何か?
金融×AIで解くべき問題は何か?
 
【DL輪読会】ViT + Self Supervised Learningまとめ
【DL輪読会】ViT + Self Supervised Learningまとめ【DL輪読会】ViT + Self Supervised Learningまとめ
【DL輪読会】ViT + Self Supervised Learningまとめ
 
20170419PFNオープンハウス インターンと採用 公開用
20170419PFNオープンハウス  インターンと採用 公開用20170419PFNオープンハウス  インターンと採用 公開用
20170419PFNオープンハウス インターンと採用 公開用
 
最近傍探索と直積量子化(Nearest neighbor search and Product Quantization)
最近傍探索と直積量子化(Nearest neighbor search and Product Quantization)最近傍探索と直積量子化(Nearest neighbor search and Product Quantization)
最近傍探索と直積量子化(Nearest neighbor search and Product Quantization)
 
強化学習 と ゲーム理論 (MARL)
強化学習 と ゲーム理論 (MARL)強化学習 と ゲーム理論 (MARL)
強化学習 と ゲーム理論 (MARL)
 

Viewers also liked

Deep Learningと画像認識   ~歴史・理論・実践~
Deep Learningと画像認識 ~歴史・理論・実践~Deep Learningと画像認識 ~歴史・理論・実践~
Deep Learningと画像認識   ~歴史・理論・実践~nlab_utokyo
 
Res netと派生研究の紹介
Res netと派生研究の紹介Res netと派生研究の紹介
Res netと派生研究の紹介masataka nishimori
 
5分で分るWebRTCコーデックウォーズ
5分で分るWebRTCコーデックウォーズ5分で分るWebRTCコーデックウォーズ
5分で分るWebRTCコーデックウォーズYusuke Naka
 
Apache Spark超入門 (Hadoop / Spark Conference Japan 2016 講演資料)
Apache Spark超入門 (Hadoop / Spark Conference Japan 2016 講演資料)Apache Spark超入門 (Hadoop / Spark Conference Japan 2016 講演資料)
Apache Spark超入門 (Hadoop / Spark Conference Japan 2016 講演資料)NTT DATA OSS Professional Services
 
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)NTT DATA OSS Professional Services
 
サルでもわかるディープラーニング入門 (2017年) (In Japanese)
サルでもわかるディープラーニング入門 (2017年) (In Japanese)サルでもわかるディープラーニング入門 (2017年) (In Japanese)
サルでもわかるディープラーニング入門 (2017年) (In Japanese)Toshihiko Yamakami
 
20171024 DLLab#04_PFN_Hiroshi Maruyama
20171024 DLLab#04_PFN_Hiroshi Maruyama20171024 DLLab#04_PFN_Hiroshi Maruyama
20171024 DLLab#04_PFN_Hiroshi MaruyamaPreferred Networks
 
Chainer入門と最近の機能
Chainer入門と最近の機能Chainer入門と最近の機能
Chainer入門と最近の機能Yuya Unno
 
Chainerチュートリアル -v1.5向け- ViEW2015
Chainerチュートリアル -v1.5向け- ViEW2015Chainerチュートリアル -v1.5向け- ViEW2015
Chainerチュートリアル -v1.5向け- ViEW2015Ryosuke Okuta
 
Chainer meetup lt
Chainer meetup ltChainer meetup lt
Chainer meetup ltAce12358
 
機械学習概論 講義テキスト
機械学習概論 講義テキスト機械学習概論 講義テキスト
機械学習概論 講義テキストEtsuji Nakai
 
Pythonとdeep learningで手書き文字認識
Pythonとdeep learningで手書き文字認識Pythonとdeep learningで手書き文字認識
Pythonとdeep learningで手書き文字認識Ken Morishita
 
TensorFlow を使った 機械学習ことはじめ (GDG京都 機械学習勉強会)
TensorFlow を使った機械学習ことはじめ (GDG京都 機械学習勉強会)TensorFlow を使った機械学習ことはじめ (GDG京都 機械学習勉強会)
TensorFlow を使った 機械学習ことはじめ (GDG京都 機械学習勉強会)徹 上野山
 
Tokyo.R 41 サポートベクターマシンで眼鏡っ娘分類システム構築
Tokyo.R 41 サポートベクターマシンで眼鏡っ娘分類システム構築Tokyo.R 41 サポートベクターマシンで眼鏡っ娘分類システム構築
Tokyo.R 41 サポートベクターマシンで眼鏡っ娘分類システム構築Tatsuya Tojima
 
scikit-learnを用いた機械学習チュートリアル
scikit-learnを用いた機械学習チュートリアルscikit-learnを用いた機械学習チュートリアル
scikit-learnを用いた機械学習チュートリアル敦志 金谷
 

Viewers also liked (20)

Deep Learningと画像認識   ~歴史・理論・実践~
Deep Learningと画像認識 ~歴史・理論・実践~Deep Learningと画像認識 ~歴史・理論・実践~
Deep Learningと画像認識   ~歴史・理論・実践~
 
Apache Sparkのご紹介 (後半:技術トピック)
Apache Sparkのご紹介 (後半:技術トピック)Apache Sparkのご紹介 (後半:技術トピック)
Apache Sparkのご紹介 (後半:技術トピック)
 
Res netと派生研究の紹介
Res netと派生研究の紹介Res netと派生研究の紹介
Res netと派生研究の紹介
 
5分で分るWebRTCコーデックウォーズ
5分で分るWebRTCコーデックウォーズ5分で分るWebRTCコーデックウォーズ
5分で分るWebRTCコーデックウォーズ
 
Apache Spark の紹介(前半:Sparkのキホン)
Apache Spark の紹介(前半:Sparkのキホン)Apache Spark の紹介(前半:Sparkのキホン)
Apache Spark の紹介(前半:Sparkのキホン)
 
LinAction Theme Docker
LinAction Theme DockerLinAction Theme Docker
LinAction Theme Docker
 
More modern gpu
More modern gpuMore modern gpu
More modern gpu
 
Apache Spark超入門 (Hadoop / Spark Conference Japan 2016 講演資料)
Apache Spark超入門 (Hadoop / Spark Conference Japan 2016 講演資料)Apache Spark超入門 (Hadoop / Spark Conference Japan 2016 講演資料)
Apache Spark超入門 (Hadoop / Spark Conference Japan 2016 講演資料)
 
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
 
サルでもわかるディープラーニング入門 (2017年) (In Japanese)
サルでもわかるディープラーニング入門 (2017年) (In Japanese)サルでもわかるディープラーニング入門 (2017年) (In Japanese)
サルでもわかるディープラーニング入門 (2017年) (In Japanese)
 
20171024 DLLab#04_PFN_Hiroshi Maruyama
20171024 DLLab#04_PFN_Hiroshi Maruyama20171024 DLLab#04_PFN_Hiroshi Maruyama
20171024 DLLab#04_PFN_Hiroshi Maruyama
 
Chainer入門と最近の機能
Chainer入門と最近の機能Chainer入門と最近の機能
Chainer入門と最近の機能
 
Chainerチュートリアル -v1.5向け- ViEW2015
Chainerチュートリアル -v1.5向け- ViEW2015Chainerチュートリアル -v1.5向け- ViEW2015
Chainerチュートリアル -v1.5向け- ViEW2015
 
Chainer meetup lt
Chainer meetup ltChainer meetup lt
Chainer meetup lt
 
機械学習概論 講義テキスト
機械学習概論 講義テキスト機械学習概論 講義テキスト
機械学習概論 講義テキスト
 
Pythonとdeep learningで手書き文字認識
Pythonとdeep learningで手書き文字認識Pythonとdeep learningで手書き文字認識
Pythonとdeep learningで手書き文字認識
 
CuPy解説
CuPy解説CuPy解説
CuPy解説
 
TensorFlow を使った 機械学習ことはじめ (GDG京都 機械学習勉強会)
TensorFlow を使った機械学習ことはじめ (GDG京都 機械学習勉強会)TensorFlow を使った機械学習ことはじめ (GDG京都 機械学習勉強会)
TensorFlow を使った 機械学習ことはじめ (GDG京都 機械学習勉強会)
 
Tokyo.R 41 サポートベクターマシンで眼鏡っ娘分類システム構築
Tokyo.R 41 サポートベクターマシンで眼鏡っ娘分類システム構築Tokyo.R 41 サポートベクターマシンで眼鏡っ娘分類システム構築
Tokyo.R 41 サポートベクターマシンで眼鏡っ娘分類システム構築
 
scikit-learnを用いた機械学習チュートリアル
scikit-learnを用いた機械学習チュートリアルscikit-learnを用いた機械学習チュートリアル
scikit-learnを用いた機械学習チュートリアル
 

Similar to Jupyter NotebookとChainerで楽々Deep Learning

20180613 [TensorFlow分散学習] Horovodによる分散学習の実装方法と解説
20180613 [TensorFlow分散学習] Horovodによる分散学習の実装方法と解説20180613 [TensorFlow分散学習] Horovodによる分散学習の実装方法と解説
20180613 [TensorFlow分散学習] Horovodによる分散学習の実装方法と解説LeapMind Inc
 
「機械学習とは?」から始める Deep learning実践入門
「機械学習とは?」から始める Deep learning実践入門「機械学習とは?」から始める Deep learning実践入門
「機械学習とは?」から始める Deep learning実践入門Hideto Masuoka
 
Introduction of Unity ML-Agents
Introduction of Unity ML-AgentsIntroduction of Unity ML-Agents
Introduction of Unity ML-AgentsTomohiro Namba
 
20171212 Sony Neural Network Libraries and Console for GTC Japan 2017
20171212 Sony Neural Network Libraries and Console for GTC Japan 201720171212 Sony Neural Network Libraries and Console for GTC Japan 2017
20171212 Sony Neural Network Libraries and Console for GTC Japan 2017Sony Network Communications Inc.
 
「深層学習」勉強会LT資料 "Chainer使ってみた"
「深層学習」勉強会LT資料 "Chainer使ってみた"「深層学習」勉強会LT資料 "Chainer使ってみた"
「深層学習」勉強会LT資料 "Chainer使ってみた"Ken'ichi Matsui
 
Chainerの使い方と 自然言語処理への応用
Chainerの使い方と自然言語処理への応用Chainerの使い方と自然言語処理への応用
Chainerの使い方と 自然言語処理への応用Yuya Unno
 
関数型志向Python - LLまつり2013
関数型志向Python - LLまつり2013関数型志向Python - LLまつり2013
関数型志向Python - LLまつり2013Esehara Shigeo
 
ソフトウェアエンジニアのための「機械学習理論」入門・ハンズオン演習ガイド
 ソフトウェアエンジニアのための「機械学習理論」入門・ハンズオン演習ガイド ソフトウェアエンジニアのための「機械学習理論」入門・ハンズオン演習ガイド
ソフトウェアエンジニアのための「機械学習理論」入門・ハンズオン演習ガイドEtsuji Nakai
 
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~infinite_loop
 
つくってあそぼ ラムダ計算インタプリタ
つくってあそぼ ラムダ計算インタプリタつくってあそぼ ラムダ計算インタプリタ
つくってあそぼ ラムダ計算インタプリタ京大 マイコンクラブ
 
KDD 2015勉強会_高橋
KDD 2015勉強会_高橋KDD 2015勉強会_高橋
KDD 2015勉強会_高橋Ryo Takahashi
 
カスタムSIで使ってみよう ~ OpenAI Gym を使った強化学習
カスタムSIで使ってみよう ~ OpenAI Gym を使った強化学習カスタムSIで使ってみよう ~ OpenAI Gym を使った強化学習
カスタムSIで使ってみよう ~ OpenAI Gym を使った強化学習Hori Tasuku
 
なにわテック20180127
なにわテック20180127なにわテック20180127
なにわテック20180127Natsutani Minoru
 
Pythonによる機械学習入門 ~Deep Learningに挑戦~
Pythonによる機械学習入門 ~Deep Learningに挑戦~Pythonによる機械学習入門 ~Deep Learningに挑戦~
Pythonによる機械学習入門 ~Deep Learningに挑戦~Yasutomo Kawanishi
 
Start!! Ruby
Start!! RubyStart!! Ruby
Start!! Rubymitim
 
Jubatusのリアルタイム分散レコメンデーション@TokyoWebmining#17
Jubatusのリアルタイム分散レコメンデーション@TokyoWebmining#17Jubatusのリアルタイム分散レコメンデーション@TokyoWebmining#17
Jubatusのリアルタイム分散レコメンデーション@TokyoWebmining#17Yuya Unno
 
第1回 Jubatusハンズオン
第1回 Jubatusハンズオン第1回 Jubatusハンズオン
第1回 JubatusハンズオンYuya Unno
 
第1回 Jubatusハンズオン
第1回 Jubatusハンズオン第1回 Jubatusハンズオン
第1回 JubatusハンズオンJubatusOfficial
 

Similar to Jupyter NotebookとChainerで楽々Deep Learning (20)

20180613 [TensorFlow分散学習] Horovodによる分散学習の実装方法と解説
20180613 [TensorFlow分散学習] Horovodによる分散学習の実装方法と解説20180613 [TensorFlow分散学習] Horovodによる分散学習の実装方法と解説
20180613 [TensorFlow分散学習] Horovodによる分散学習の実装方法と解説
 
「機械学習とは?」から始める Deep learning実践入門
「機械学習とは?」から始める Deep learning実践入門「機械学習とは?」から始める Deep learning実践入門
「機械学習とは?」から始める Deep learning実践入門
 
Introduction of Unity ML-Agents
Introduction of Unity ML-AgentsIntroduction of Unity ML-Agents
Introduction of Unity ML-Agents
 
20171212 Sony Neural Network Libraries and Console for GTC Japan 2017
20171212 Sony Neural Network Libraries and Console for GTC Japan 201720171212 Sony Neural Network Libraries and Console for GTC Japan 2017
20171212 Sony Neural Network Libraries and Console for GTC Japan 2017
 
「深層学習」勉強会LT資料 "Chainer使ってみた"
「深層学習」勉強会LT資料 "Chainer使ってみた"「深層学習」勉強会LT資料 "Chainer使ってみた"
「深層学習」勉強会LT資料 "Chainer使ってみた"
 
Thinking in Cats
Thinking in CatsThinking in Cats
Thinking in Cats
 
Chainerの使い方と 自然言語処理への応用
Chainerの使い方と自然言語処理への応用Chainerの使い方と自然言語処理への応用
Chainerの使い方と 自然言語処理への応用
 
関数型志向Python - LLまつり2013
関数型志向Python - LLまつり2013関数型志向Python - LLまつり2013
関数型志向Python - LLまつり2013
 
ソフトウェアエンジニアのための「機械学習理論」入門・ハンズオン演習ガイド
 ソフトウェアエンジニアのための「機械学習理論」入門・ハンズオン演習ガイド ソフトウェアエンジニアのための「機械学習理論」入門・ハンズオン演習ガイド
ソフトウェアエンジニアのための「機械学習理論」入門・ハンズオン演習ガイド
 
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
 
Presen 190517
Presen 190517Presen 190517
Presen 190517
 
つくってあそぼ ラムダ計算インタプリタ
つくってあそぼ ラムダ計算インタプリタつくってあそぼ ラムダ計算インタプリタ
つくってあそぼ ラムダ計算インタプリタ
 
KDD 2015勉強会_高橋
KDD 2015勉強会_高橋KDD 2015勉強会_高橋
KDD 2015勉強会_高橋
 
カスタムSIで使ってみよう ~ OpenAI Gym を使った強化学習
カスタムSIで使ってみよう ~ OpenAI Gym を使った強化学習カスタムSIで使ってみよう ~ OpenAI Gym を使った強化学習
カスタムSIで使ってみよう ~ OpenAI Gym を使った強化学習
 
なにわテック20180127
なにわテック20180127なにわテック20180127
なにわテック20180127
 
Pythonによる機械学習入門 ~Deep Learningに挑戦~
Pythonによる機械学習入門 ~Deep Learningに挑戦~Pythonによる機械学習入門 ~Deep Learningに挑戦~
Pythonによる機械学習入門 ~Deep Learningに挑戦~
 
Start!! Ruby
Start!! RubyStart!! Ruby
Start!! Ruby
 
Jubatusのリアルタイム分散レコメンデーション@TokyoWebmining#17
Jubatusのリアルタイム分散レコメンデーション@TokyoWebmining#17Jubatusのリアルタイム分散レコメンデーション@TokyoWebmining#17
Jubatusのリアルタイム分散レコメンデーション@TokyoWebmining#17
 
第1回 Jubatusハンズオン
第1回 Jubatusハンズオン第1回 Jubatusハンズオン
第1回 Jubatusハンズオン
 
第1回 Jubatusハンズオン
第1回 Jubatusハンズオン第1回 Jubatusハンズオン
第1回 Jubatusハンズオン
 

Jupyter NotebookとChainerで楽々Deep Learning