SlideShare a Scribd company logo
1 of 19
New tf.keras
Masao Taketani (竹谷 昌夫)
自己紹介 (Self-Introduction)
名前(name):竹谷 昌夫 (Masao Taketani)
学歴(education):アメリカの大学の理工学部統計学科を卒業 (BS in Statistics)
職業(occupation):ディープラーニングエンジニア (Deep Learning Engineer)
業務では主に画像系を担当するが、業務外では自然言語処理やレコメンドも経験あり
今までの tf.keras
モデル構築がシンプルでPythonicな書き方ができる。ただ、小さなモデル構築用
に作られており、大規模なモデル構築用ではなかった。
tf.estimator
そこで、スケーラビリティを意識したAPIとしてtf.estimatorがあった。
tf.estimatorを使用すれば分散学習も容易に行える。tf.estimatorならWide &
Deep Learning等のモデルもbuilt-inとして備わっており、学習や、本番環境用に
デプロイすることが容易に可能。
新しい tf.keras
TensorFlow 2.0からは、モデルの構築に関しては今までのtf.kerasと同じ書き方
で書けるように標準化し、そこにtf.estimatorも持ってくることでtf.kerasからプ
ロトタイプ作成、分散学習、そして本番環境へのデプロイまでが容易にできるよ
うになった。
古いtf.kerasでのモデルの書き方
新しいtf.kerasでのモデルの書き方
新しいtf.kerasのその他の特徴
● 今までのtf.kerasはグラフ構造を基にし、sessionを走らせることでデータを
投入していたが、新しいtf.kerasではEager modeでデータを投入させること
ができる(Define by Run)。
● データセットのパイプラインはnumpy配列の様に扱うことができ、デバッグ
も楽になる。かつ同時にデータセットも高いパフォーマンスのためにオーバ
ヘッドができるだけかからないように最適化される。
Eagerモード
● Eagerモードでもグラフの利点をそのまま残している。
● Eagerはデバッグやプロトタイプ作成を容易にさせるが、一方でTensorFlow
のランタイムがパフォーマンスやスケーリングの最適化の役割を賄う。
● 「run_eagarly」というフラグを使用することによって、明示的にeagerモー
ドでモデルをステップバイステップに走らせることができる。
多くのAPIをわかりやすく統合
● optimizers、metrics、losses、layersはtf.kerasの下にそれぞれ一つのセッ
トに統合され、eagerモードの使用、単独での学習か分散での学習かによら
ず使用できる。
● built-inにないものを利用したい際も、サブクラスを用いてカスタマイズする
ことができる。
● layersにおいてはkerasのAPI仕様書に書いてあるものはすべて使用可能。
RNNレイヤーの変更
今までのTensorFlowではいくつかのLSTMとGRUのバージョンがあり、cuDNNを
使用する際は実行する前に記載する必要があったが、新しいバージョンでは
LSTMもGRUも一つのバージョンしかなく、CPUを使用するかGPUを使用するか
は利用状況により、ランタイム時に自動で行ってくれる。
tf.kerasからtf.feature_columnが使用可能
tf.feature_columnは生データをestimatorが必要なフォーマットに変換する役目
を担っていたが、TensorFlow 2.0ではtf.kerasで作られたモデルにも
tf.feature_columnが使用できるようになった。
tf.kerasからTensorBoardの使用
● tf.kerasでTensorBoardを使用する際は一行で簡単に書くことができる。
● TensorBoardでaccuracy、loss、モデルの形状等が見れる。
● モデルのパフォーマンスやデバイスの配置確認、学習時のボトルネックを容
易に見つけることができるようなフルプロファイリング機能を追加。
手軽にできる分散学習
● tf.distribute.Strategy APIを使用することで、Kerasの利便性を保ちながら分
散学習のためのスケールアップが容易にできる。
● 下記の例では、変数は複数のGPUにコピーされ、学習時にallreduceを用いて
同期される。
モデルのセーブ/ロード
● 本番環境、スマホ、またはPython以外の言語で利用するために、モデルのセ
ーブやロードも簡単に行える。
● この機能はまだ実験段階(APIの詳細を調整中)だが、TF Serving、TF Lite等に
簡単にエクスポートしたり、再学習のためにリロードできるようになってい
る。
マルチノードでの同期(開発中)
まだ開発中だが、複数のマシーンで同期させて学習を行うための機能も追加予定
であり、現在試すことも可能。
TPUを用いた分散学習(開発中)
● 次のTensorFlowのリリースまで待たなければならないが、TPUの分散学習も
keras上からできるように開発中である。
● リリースされれば、TPUが利用できるGCPやColab上で使用できる。
2.0のファイナルバージョンに向けて
2.0の完成に向けて以下のスケーラビリティをtf.kerasに付け加えようとしている
。
・tf.kerasからのParameterServerStrategyの利用
・tf.kerasからのestimatorのモデル(Wide & Deepモデル等)利用
・巨大なモデルを扱うためのvariable partitioning
tf.thanks!

More Related Content

What's hot

Arに対する古典分子動力学シミュレーション
Arに対する古典分子動力学シミュレーションArに対する古典分子動力学シミュレーション
Arに対する古典分子動力学シミュレーションdc1394
 
SchracVisualizeによる波動関数の可視化
SchracVisualizeによる波動関数の可視化SchracVisualizeによる波動関数の可視化
SchracVisualizeによる波動関数の可視化dc1394
 
水素原子に対するSchrödinger方程式の数値解法
水素原子に対するSchrödinger方程式の数値解法水素原子に対するSchrödinger方程式の数値解法
水素原子に対するSchrödinger方程式の数値解法dc1394
 
20170806 Discriminative Optimization
20170806 Discriminative Optimization20170806 Discriminative Optimization
20170806 Discriminative OptimizationTakuya Minagawa
 
20160417dlibによる顔器官検出
20160417dlibによる顔器官検出20160417dlibによる顔器官検出
20160417dlibによる顔器官検出Takuya Minagawa
 
第34回CV勉強会「コンピュテーショナルフォトグラフィ」発表資料
第34回CV勉強会「コンピュテーショナルフォトグラフィ」発表資料第34回CV勉強会「コンピュテーショナルフォトグラフィ」発表資料
第34回CV勉強会「コンピュテーショナルフォトグラフィ」発表資料Takuya Minagawa
 
A Machine Learning Framework for Programming by Example
A Machine Learning Framework for Programming by ExampleA Machine Learning Framework for Programming by Example
A Machine Learning Framework for Programming by ExampleKoji Matsuda
 

What's hot (8)

Arに対する古典分子動力学シミュレーション
Arに対する古典分子動力学シミュレーションArに対する古典分子動力学シミュレーション
Arに対する古典分子動力学シミュレーション
 
SchracVisualizeによる波動関数の可視化
SchracVisualizeによる波動関数の可視化SchracVisualizeによる波動関数の可視化
SchracVisualizeによる波動関数の可視化
 
水素原子に対するSchrödinger方程式の数値解法
水素原子に対するSchrödinger方程式の数値解法水素原子に対するSchrödinger方程式の数値解法
水素原子に対するSchrödinger方程式の数値解法
 
20170806 Discriminative Optimization
20170806 Discriminative Optimization20170806 Discriminative Optimization
20170806 Discriminative Optimization
 
20160417dlibによる顔器官検出
20160417dlibによる顔器官検出20160417dlibによる顔器官検出
20160417dlibによる顔器官検出
 
第34回CV勉強会「コンピュテーショナルフォトグラフィ」発表資料
第34回CV勉強会「コンピュテーショナルフォトグラフィ」発表資料第34回CV勉強会「コンピュテーショナルフォトグラフィ」発表資料
第34回CV勉強会「コンピュテーショナルフォトグラフィ」発表資料
 
A Machine Learning Framework for Programming by Example
A Machine Learning Framework for Programming by ExampleA Machine Learning Framework for Programming by Example
A Machine Learning Framework for Programming by Example
 
Point net
Point netPoint net
Point net
 

Similar to New tf.keras

[Jjug]java small object programming
[Jjug]java small object programming[Jjug]java small object programming
[Jjug]java small object programmingYuichi Hasegawa
 
文章を読み、理解する機能の獲得に向けて-Machine Comprehensionの研究動向-
文章を読み、理解する機能の獲得に向けて-Machine Comprehensionの研究動向-文章を読み、理解する機能の獲得に向けて-Machine Comprehensionの研究動向-
文章を読み、理解する機能の獲得に向けて-Machine Comprehensionの研究動向-Takahiro Kubo
 
run Keras model on opencv
run Keras model on opencvrun Keras model on opencv
run Keras model on opencvTakuya Minagawa
 
LiDAR点群と画像とのマッピング
LiDAR点群と画像とのマッピングLiDAR点群と画像とのマッピング
LiDAR点群と画像とのマッピングTakuya Minagawa
 
20230105_TITECH_lecture_ishizaki_public.pdf
20230105_TITECH_lecture_ishizaki_public.pdf20230105_TITECH_lecture_ishizaki_public.pdf
20230105_TITECH_lecture_ishizaki_public.pdfKazuaki Ishizaki
 
ORB-SLAMを動かしてみた
ORB-SLAMを動かしてみたORB-SLAMを動かしてみた
ORB-SLAMを動かしてみたTakuya Minagawa
 
テクノアカデミー郡山 現役ソフトウェアエンジニアが語る。IT の今と未来
テクノアカデミー郡山 現役ソフトウェアエンジニアが語る。IT の今と未来テクノアカデミー郡山 現役ソフトウェアエンジニアが語る。IT の今と未来
テクノアカデミー郡山 現役ソフトウェアエンジニアが語る。IT の今と未来Daiyu Hatakeyama
 
BERT の解剖学: interpret-text による自然言語処理 (NLP) モデル解釈
BERT の解剖学: interpret-text による自然言語処理 (NLP) モデル解釈	BERT の解剖学: interpret-text による自然言語処理 (NLP) モデル解釈
BERT の解剖学: interpret-text による自然言語処理 (NLP) モデル解釈 順也 山口
 
メディアコンテンツを支えるデータストアサービスをAWSで
メディアコンテンツを支えるデータストアサービスをAWSでメディアコンテンツを支えるデータストアサービスをAWSで
メディアコンテンツを支えるデータストアサービスをAWSでYasuhiro Murata
 
Python による 「スクレイピング & 自然言語処理」入門
Python による 「スクレイピング & 自然言語処理」入門Python による 「スクレイピング & 自然言語処理」入門
Python による 「スクレイピング & 自然言語処理」入門Tatsuya Tojima
 
Machine Learning Operations (MLOps): Overview, Definition, and Architecture
Machine Learning Operations (MLOps): Overview, Definition, and ArchitectureMachine Learning Operations (MLOps): Overview, Definition, and Architecture
Machine Learning Operations (MLOps): Overview, Definition, and ArchitectureTakuya Minagawa
 
Interop2017
Interop2017Interop2017
Interop2017tak9029
 
日本語における自然言語解析とその応用 〜COTOHA VA & API〜
日本語における自然言語解析とその応用 〜COTOHA VA & API〜日本語における自然言語解析とその応用 〜COTOHA VA & API〜
日本語における自然言語解析とその応用 〜COTOHA VA & API〜ネクストスケープ
 
ChainerでDeep Learningを試す為に必要なこと
ChainerでDeep Learningを試す為に必要なことChainerでDeep Learningを試す為に必要なこと
ChainerでDeep Learningを試す為に必要なことJiro Nishitoba
 

Similar to New tf.keras (20)

Rakuten20181027
Rakuten20181027Rakuten20181027
Rakuten20181027
 
20140131 R-CNN
20140131 R-CNN20140131 R-CNN
20140131 R-CNN
 
[Jjug]java small object programming
[Jjug]java small object programming[Jjug]java small object programming
[Jjug]java small object programming
 
文章を読み、理解する機能の獲得に向けて-Machine Comprehensionの研究動向-
文章を読み、理解する機能の獲得に向けて-Machine Comprehensionの研究動向-文章を読み、理解する機能の獲得に向けて-Machine Comprehensionの研究動向-
文章を読み、理解する機能の獲得に向けて-Machine Comprehensionの研究動向-
 
run Keras model on opencv
run Keras model on opencvrun Keras model on opencv
run Keras model on opencv
 
Pn learning takmin
Pn learning takminPn learning takmin
Pn learning takmin
 
LiDAR点群と画像とのマッピング
LiDAR点群と画像とのマッピングLiDAR点群と画像とのマッピング
LiDAR点群と画像とのマッピング
 
20230105_TITECH_lecture_ishizaki_public.pdf
20230105_TITECH_lecture_ishizaki_public.pdf20230105_TITECH_lecture_ishizaki_public.pdf
20230105_TITECH_lecture_ishizaki_public.pdf
 
ORB-SLAMを動かしてみた
ORB-SLAMを動かしてみたORB-SLAMを動かしてみた
ORB-SLAMを動かしてみた
 
20180424 orb slam
20180424 orb slam20180424 orb slam
20180424 orb slam
 
テクノアカデミー郡山 現役ソフトウェアエンジニアが語る。IT の今と未来
テクノアカデミー郡山 現役ソフトウェアエンジニアが語る。IT の今と未来テクノアカデミー郡山 現役ソフトウェアエンジニアが語る。IT の今と未来
テクノアカデミー郡山 現役ソフトウェアエンジニアが語る。IT の今と未来
 
BERT の解剖学: interpret-text による自然言語処理 (NLP) モデル解釈
BERT の解剖学: interpret-text による自然言語処理 (NLP) モデル解釈	BERT の解剖学: interpret-text による自然言語処理 (NLP) モデル解釈
BERT の解剖学: interpret-text による自然言語処理 (NLP) モデル解釈
 
メディアコンテンツを支えるデータストアサービスをAWSで
メディアコンテンツを支えるデータストアサービスをAWSでメディアコンテンツを支えるデータストアサービスをAWSで
メディアコンテンツを支えるデータストアサービスをAWSで
 
Deep learning を用いた画像から説明文の自動生成に関する研究の紹介
Deep learning を用いた画像から説明文の自動生成に関する研究の紹介Deep learning を用いた画像から説明文の自動生成に関する研究の紹介
Deep learning を用いた画像から説明文の自動生成に関する研究の紹介
 
Python による 「スクレイピング & 自然言語処理」入門
Python による 「スクレイピング & 自然言語処理」入門Python による 「スクレイピング & 自然言語処理」入門
Python による 「スクレイピング & 自然言語処理」入門
 
Machine Learning Operations (MLOps): Overview, Definition, and Architecture
Machine Learning Operations (MLOps): Overview, Definition, and ArchitectureMachine Learning Operations (MLOps): Overview, Definition, and Architecture
Machine Learning Operations (MLOps): Overview, Definition, and Architecture
 
「最近傍検索とその応用」#yjdsw2
「最近傍検索とその応用」#yjdsw2「最近傍検索とその応用」#yjdsw2
「最近傍検索とその応用」#yjdsw2
 
Interop2017
Interop2017Interop2017
Interop2017
 
日本語における自然言語解析とその応用 〜COTOHA VA & API〜
日本語における自然言語解析とその応用 〜COTOHA VA & API〜日本語における自然言語解析とその応用 〜COTOHA VA & API〜
日本語における自然言語解析とその応用 〜COTOHA VA & API〜
 
ChainerでDeep Learningを試す為に必要なこと
ChainerでDeep Learningを試す為に必要なことChainerでDeep Learningを試す為に必要なこと
ChainerでDeep Learningを試す為に必要なこと
 

Recently uploaded

スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 

Recently uploaded (9)

スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 

New tf.keras