Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Chainer v1.6からv1.7の新機能
2016/03/18 Chainer Meetup #02@ドワンゴ
(株)Preferred Networks
奥田 遼介
自己紹介
奥田 遼介
 -2014東北大学 修士
 文字列処理など
 2014 (株)プリファードインフラストラクチャー
 2014- (株)プリファードネットワークス
 チーフアーキテクト
 映像解析系、製造業系にかかわる研究開発...
前回のChainer Meetup #01(2015/12/19)
からのアップデート
 2016/1/19 v1.6.0
 2016/2/ 3 v1.6.1
 2016/2/17 v1.6.2
 2016/3/ 1 v1.7.0
 ...
Issue/PRの統計
0 20 40 60 80 100 120
v1.6.0
v1.6.1
v1.6.2
v1.7.0
v1.7.1
v1.6.0 v1.6.1 v1.6.2 v1.7.0 v1.7.1
feature 30 22
bug ...
互換性ポリシーの作成 v1.6.0
 互換性のポリシーを作りました (#829)
 メジャー :不定期
 後方互換性のない変更を含む
 マイナー :6週間ごと
 新機能の追加
 後方互換性は維持する
 リビジョン :2週間ごと
...
新しいコア機能
 デバッグモードの導入(#899)
 forward/backwardの値のNaNチェックなどを行う
 softmax_cross_entorpyではlabelの範囲チェックも
 有効にするとオーバーヘッドがあります
...
デバッグモード
 chainer.set_device(True)で使えます
 NaNの検出デモ
In [1]: import chainer, numpy
In [2]: chainer.set_debug(True)
In [3]: x...
ファンクションフック
 例えば時間を測るフックが作れます:TimerHook
In [1]: import chainer, chainer.function_hooks, numpy
In [2]: h = chainer.function...
Variable.debug_print
 debug_print()を呼ぶだけ
In [1]: import chainer, numpy
In [2]: d = numpy.random.uniform(-1, 1, (3, 5)).as...
新しい関数(Chainer)その1
 activation
 elu (#754)
 log_softmax (#842)
 maxout (#856)
 slstm (#518)
 LSTM along binary trees
...
新しい関数(Chainer)その2
 math
 batch_l2_norm_squared (#828)
 det, batch_det (#613)
 matrix determinant
 inv, batch_inv (#60...
関数の機能拡張(Chainer)
 fixed_batch_normalization (#798)
 Backward をサポート
 sigmoid_cross_entropy (#790)
 ignore_label をサポート
...
新しい関数(CuPy)
 asfortranarray(#923)
 fortranオーダーにする
 broadcast_to (#644)
 NumPy 1.10からの新機能
 roll (#827)
 くるくる回す
13/18
NumPyシリアライザの追加
 NumPy NPZ シリアライザが追加されました (#810)
 これまでのシリアライザと同じく使えます
 save_npz(filename, obj, compression=True):
 NPZは...
Python関係
 インストールを安定化させました
 依存ライブラリの削減
 h5py をオプショナルに
 セットアップ時のNumPy依存をなくす
 setuptoolsやpipとの長い戦い
 NumPy 1.10サポート
 Ch...
CUDA関係
 cuDNN v4対応 (#838 #756)
 v2からv4すべてのライブラリに対応しました
 まだ一部最新の関数を使わないコードのままです
 PRお待ちしております
 Device-to-device copy時のG...
そのほか
 沢山の改善が行われました
 詳しくはRelease noteを見てください
 https://github.com/pfnet/chainer/releases
17/18
さいごに
 PRありがとうございます (敬称略)
 @cemoody @hrantzsch @jnishi @jnory
 @kashif @muupan @sinhrks @t-abe
 @wkentaro
 皆様のPRをお待ちして...
You’ve finished this document.
Download and read it offline.
Upcoming SlideShare
DLフレームワークChainerの紹介と分散深層強化学習によるロボット制御
Next
Upcoming SlideShare
DLフレームワークChainerの紹介と分散深層強化学習によるロボット制御
Next
Download to read offline and view in fullscreen.

3

Share

Chainer v1.6からv1.7の新機能

Download to read offline

Chainer v1.6からv1.7の新機能について説明する

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

Chainer v1.6からv1.7の新機能

  1. 1. Chainer v1.6からv1.7の新機能 2016/03/18 Chainer Meetup #02@ドワンゴ (株)Preferred Networks 奥田 遼介
  2. 2. 自己紹介 奥田 遼介  -2014東北大学 修士  文字列処理など  2014 (株)プリファードインフラストラクチャー  2014- (株)プリファードネットワークス  チーフアーキテクト  映像解析系、製造業系にかかわる研究開発  ChainerやCuPyの開発 最新版v1.7.1 (2016/3/15) 2/18
  3. 3. 前回のChainer Meetup #01(2015/12/19) からのアップデート  2016/1/19 v1.6.0  2016/2/ 3 v1.6.1  2016/2/17 v1.6.2  2016/3/ 1 v1.7.0  2016/3/15 v1.7.1  マイナー2回  リビジョン3回 3/18
  4. 4. Issue/PRの統計 0 20 40 60 80 100 120 v1.6.0 v1.6.1 v1.6.2 v1.7.0 v1.7.1 v1.6.0 v1.6.1 v1.6.2 v1.7.0 v1.7.1 feature 30 22 bug 25 14 2 4 7 enhancement 14 7 6 7 2 install 3 3 1 3 test 20 2 8 3 4 document 10 6 5 8 7 example 2 1 3 1 4/18
  5. 5. 互換性ポリシーの作成 v1.6.0  互換性のポリシーを作りました (#829)  メジャー :不定期  後方互換性のない変更を含む  マイナー :6週間ごと  新機能の追加  後方互換性は維持する  リビジョン :2週間ごと  バグ修正  ドキュメントに基づいた互換性維持  互換性はドキュメントに書かれた内容に従って維持されます 5/18
  6. 6. 新しいコア機能  デバッグモードの導入(#899)  forward/backwardの値のNaNチェックなどを行う  softmax_cross_entorpyではlabelの範囲チェックも  有効にするとオーバーヘッドがあります  ファンクションフックの追加(#933)  forward/backward の呼び出し時にフックを仕掛けることが可 能になった  Variable.debug_printメソッドの追加(#830)  data とgradについて、device ID, shape, dtype 統計情報を表 示 6/18
  7. 7. デバッグモード  chainer.set_device(True)で使えます  NaNの検出デモ In [1]: import chainer, numpy In [2]: chainer.set_debug(True) In [3]: x = chainer.Variable(numpuy.array([float(‘nan’)], ’f’)) In [4]: chainer.functions.identity(x) ----------------------------------------------------------- RuntimeError Traceback (most recent call last) <ipython-input-4-e234ae95dfb6> in <module>() ----> 1 chainer.functions.identity(x) =========省略========= RuntimeError: NaN is detected on forward computation 7/18
  8. 8. ファンクションフック  例えば時間を測るフックが作れます:TimerHook In [1]: import chainer, chainer.function_hooks, numpy In [2]: h = chainer.function_hooks.TimerHook() In [3]: link = chainer.links.Linear(5, 5) In [4]: with h: ...: link(chainer.Variable(numpy.zeros((3, 5), 'f'))) ...: In [5]: print(h.total_time()) 0.011421918869 In [6]: print(h.call_history) [(<chainer.functions.connection.linear.LinearFunction object at 0x7fb18d9ff790>, 0.011421918869018555)] 8/18
  9. 9. Variable.debug_print  debug_print()を呼ぶだけ In [1]: import chainer, numpy In [2]: d = numpy.random.uniform(-1, 1, (3, 5)).astype('f') In [3]: x = chainer.Variable(d) In [4]: print(x.debug_print()) <variable at 0x7fac1017a790> - device: CPU - volatile: OFF - backend: <type 'numpy.ndarray'> - shape: (3, 5) - dtype: float32 - statistics: mean=-0.02048243, std=0.46310186 - grad: None 9/18
  10. 10. 新しい関数(Chainer)その1  activation  elu (#754)  log_softmax (#842)  maxout (#856)  slstm (#518)  LSTM along binary trees  array  broadcast_to (#826)  expand_dims (#690)  evaluation  binary_accuracy (#757)  Accuracy for binary classification. 10/18
  11. 11. 新しい関数(Chainer)その2  math  batch_l2_norm_squared (#828)  det, batch_det (#613)  matrix determinant  inv, batch_inv (#608)  Differentiable matrix inversion  pool  unpooling_2d(#599)  spatial upsampling  Link  StatefulGRU (#817)  GRU with LSTM chain-like interface  Maxout (#856) 11/18
  12. 12. 関数の機能拡張(Chainer)  fixed_batch_normalization (#798)  Backward をサポート  sigmoid_cross_entropy (#790)  ignore_label をサポート  ctc_padding(#689)  異なる長さのシーケンスからなるミニバッチをサポート 12/18
  13. 13. 新しい関数(CuPy)  asfortranarray(#923)  fortranオーダーにする  broadcast_to (#644)  NumPy 1.10からの新機能  roll (#827)  くるくる回す 13/18
  14. 14. NumPyシリアライザの追加  NumPy NPZ シリアライザが追加されました (#810)  これまでのシリアライザと同じく使えます  save_npz(filename, obj, compression=True):  NPZは、numpyの配列1個が1ファイルとなっているものを集め たzipファイルです。  h5pyのインストールがオプショナルに  hdf5が不要になり、インストールが簡単に 14/18
  15. 15. Python関係  インストールを安定化させました  依存ライブラリの削減  h5py をオプショナルに  セットアップ時のNumPy依存をなくす  setuptoolsやpipとの長い戦い  NumPy 1.10サポート  Chainer,CuPy共に最新版のNumPyに対応  注意  ChainerはPython3.5.0では動きません。Python3.5.1を使って ください 15/18
  16. 16. CUDA関係  cuDNN v4対応 (#838 #756)  v2からv4すべてのライブラリに対応しました  まだ一部最新の関数を使わないコードのままです  PRお待ちしております  Device-to-device copy時のGPUDirect使用 (#884)  特定条件下でGPU間でのメモリ速度が向上しました  ホストメモリの経由がなくなった 16/18
  17. 17. そのほか  沢山の改善が行われました  詳しくはRelease noteを見てください  https://github.com/pfnet/chainer/releases 17/18
  18. 18. さいごに  PRありがとうございます (敬称略)  @cemoody @hrantzsch @jnishi @jnory  @kashif @muupan @sinhrks @t-abe  @wkentaro  皆様のPRをお待ちしております  Chainer開発アルバイトに興味ある人はぜひ声をかけて ください 18/18
  • uy_ou

    May. 18, 2016
  • Pirukuru

    Mar. 27, 2016
  • racooma

    Mar. 20, 2016

Chainer v1.6からv1.7の新機能について説明する

Views

Total views

3,967

On Slideshare

0

From embeds

0

Number of embeds

793

Actions

Downloads

23

Shares

0

Comments

0

Likes

3

×