Upgrade to Pro — share decks privately, control downloads, hide ads and more …

R-CNNの原理とここ数年の流れ

 R-CNNの原理とここ数年の流れ

2017年6月14日、部署内勉強会で発表

SlideShareからのお引越し
https://www.slideshare.net/KazukiMotohashi2/rcnn

kmotohas

June 14, 2017
Tweet

More Decks by kmotohas

Other Decks in Technology

Transcript

  1. R-CNNの原理と
    ここ数年の流れ
    本橋和貴
    CS室AI開発課
    (R-)CNN調査報告会 - 2017年6月14日

    View full-size slide

  2. Agenda
    - Introduction
    - R-CNNの原理
    - 領域分け
    - CNN
    - 分類器
    - R-CNNの問題点
    - R-CNNの最近の動向
    - SSD (Single Shot multibox Detector) の概要
    - まとめ
    2

    View full-size slide

  3. R-CNN (Regions with CNN features)
    ('n03085013', 'computer_keyboard', 0.78958303)
    ('n04264628', 'space_bar', 0.13960978)
    ('n04505470', 'typewriter_keyboard', 0.050729375)
    ('n03793489', 'mouse', 0.0087937126)
    ('n04074963', 'remote_control', 0.0026325041)
    \* 出典:人工知能に関する断創録 - KerasでVGG16を使う (2017)
    \* http://aidiary.hatenablog.com/entry/20170104/1483535144
    CNN (Convolutional Neural Network) 単体では
    画像全体から特徴量 (feature) を抽出可能
    領域候補
    (Region Proposals)
    を生成すれば...
    Region毎のfeatureを抽出可能
    人間が行うような”物体認識”
    \* 出典:Rich feature hierarchies for accurate object detection and semantic segmentation (2013)
    \* https://arxiv.org/abs/1311.2524
    3

    View full-size slide

  4. R-CNNの応用例
    4
    \* NVIDIA Seminar ディープラーニングによる画像認識と応用事例
    \* https://www.slideshare.net/Takayosi/nvidia-51814334
    すみません、RNNの応用例でした

    View full-size slide

  5. R-CNNの応用例
    5
    \* NVIDIA Seminar ディープラーニングによる画像認識と応用事例
    \* https://www.slideshare.net/Takayosi/nvidia-51814334

    View full-size slide

  6. R-CNNの応用例
    R-CNNの人認識とクラスタリングを組み合わせた手法
    「Deep Learning技術をベースとした異常画像検出」(2016)
    https://kaigi.org/jsai/webprogram/2016/pdf/664.pdf
    (有限責任監査法人トーマツ デロイトアナリティクス&株式会社リクルート住まいカンパニー)
    【不動産ポータルサイトSUUMO】
    - 物件管理者側から提供された物件写真をサイトに掲載できるかチェック
    NG:人が写っていたらダメ(プライバシーの観点から)
    NG:工事中の写真はダメ
    NG:拡大しすぎ/縮小しすぎはダメ

    View full-size slide

  7. Agenda
    - Introduction
    - R-CNNの原理
    - 領域分け
    - CNN
    - 分類器
    - R-CNNの問題点
    - R-CNNの最近の動向
    - SSD (Single Shot multibox Detector) の概要
    - まとめ
    7

    View full-size slide

  8. R-CNNの原点
    原論文:
    Rich feature hierarchies for accurate object detection
    and semantic segmentation (2013)
    https://arxiv.org/abs/1311.2524
    8

    View full-size slide

  9. R-CNNの原点
    原論文:
    Rich feature hierarchies for accurate object detection
    and semantic segmentation (2013)
    https://arxiv.org/abs/1311.2524
    9
    1. 入力画像に対して、
    2. 物体が写っている領域の候補 (region proposal) を抽出し、
    a. CNNのインプットの大きさに合うように領域中の画像をリサ
    イズし、
    3. それぞれの領域に対してCNNで特徴量 (feature) を計算し
    4. それぞれの領域になにが写っているか分類する

    View full-size slide

  10. R-CNNの原点
    原論文:
    Rich feature hierarchies for accurate object detection
    and semantic segmentation (2013)
    https://arxiv.org/abs/1311.2524
    10
    1. 入力画像に対して、
    2. 物体が写っている領域の候補 (region proposal) を約2,000個抽出し、
    a. CNNのインプットの大きさに合うように領域中の画像をリサイズし、
    3. それぞれの領域に対してCNNで特徴量 (feature) を計算し
    4. それぞれの領域になにが写っているか分類する
    詳細は後述

    View full-size slide

  11. R-CNNの原点
    原論文:
    Rich feature hierarchies for accurate object detection
    and semantic segmentation (2013)
    https://arxiv.org/abs/1311.2524
    11
    1. 入力画像に対して、
    2. 物体が写っている領域の候補 (region proposal) を約2,000個抽出し、
    a. CNNのインプットの大きさに合うようにそれぞれの領域中の画像をリサイズし、
    3. それぞれの領域に対してCNNで特徴量 (feature) を計算し
    4. それぞれの領域になにが写っているか分類する
    詳細は後述

    View full-size slide

  12. R-CNNの原点
    原論文:
    Rich feature hierarchies for accurate object detection
    and semantic segmentation (2013)
    https://arxiv.org/abs/1311.2524
    12
    1. 入力画像に対して、
    2. 物体が写っている領域の候補 (region proposal) を約2,000個抽出し、
    a. CNNのインプットの大きさに合うようにそれぞれの領域中の画像をリサイズし、
    3. それぞれの領域に対してCNNで特徴量 (feature) を計算し、
    4. それぞれの領域になにが写っているか分類する
    詳細は後述

    View full-size slide

  13. R-CNNの原点
    原論文:
    Rich feature hierarchies for accurate object detection
    and semantic segmentation (2013)
    https://arxiv.org/abs/1311.2524
    13
    1. 入力画像に対して、
    2. 物体が写っている領域の候補 (region proposal) を約2,000個抽出し、
    a. CNNのインプットの大きさに合うようにそれぞれの領域中の画像をリサイズし、
    3. それぞれの領域に対してCNNで特徴量 (feature) を計算し、
    4. それぞれの領域になにが写っているか分類する
    詳細は後述

    View full-size slide

  14. R-CNNの原理(1):領域分け
    色々なアルゴリズムが存在するが、(あくまで先行研究との比較のため)
    原論文ではselective searchを用いている
    14

    View full-size slide

  15. R-CNNの原理(1):領域分け
    色々なアルゴリズムが存在するが、(あくまで先行研究との比較のため)
    原論文ではselective searchを用いている
    15
    1. 色や濃淡勾配などの特徴が類似する領域に分ける
    2. 類似度が高い隣接領域をどんどん結合していく
    こうして小さい領域候補から大きな領域候補まで網羅
    (参考:領域の大きさのことをスケールと呼ぶ)
    “Fast mode”では約2,000個の候補 (VOC @ ~500x300 pix)
    時系列 \* 出典:Selective Search for Object Recognition
    \* https://www.koen.me/research/selectivesearch/

    View full-size slide

  16. 現論文で用いたCNNのモデルは”AlexNet” (Alex Krizhevsky et al)
    • 2012年の”ImageNet” datasetの1,000クラス分類コンペで圧勝したモデル
    • 他の有名なモデル:GoogLeNet (22層), VGG (16/19層), ResNet (18/34/50/...層) など
    16
    出典:ImageNet Classification with Deep Convolutional Neural Networks (2012)
    https://papers.nips.cc/paper/4824-imagenet-classification-with-deep-convolutional-neural-networks.pdf
    R-CNNの原理(2) CNNを用いた特徴量抽出
    R-CNNの原理(2) CNNを用いた特徴量抽出
    全8層 = (入力)     畳込み層×5  + 全結合層×2+出力層×1

    View full-size slide

  17. 現論文で用いたCNNのモデルは”AlexNet” (Alex Krizhevsky et al)
    • 2012年の”ImageNet” datasetの1,000クラス分類コンペで圧勝したモデル
    • 他の有名なモデル:GoogLeNet (22層), VGG (16/19層), ResNet (18/34/50/...層) など
    17
    出典:ImageNet Classification with Deep Convolutional Neural Networks (2012)
    https://papers.nips.cc/paper/4824-imagenet-classification-with-deep-convolutional-neural-networks.pdf
    R-CNNの原理(2) CNNを用いた特徴量抽出
    R-CNNの原理(2) CNNを用いた特徴量抽出
    全8層 = (入力)     畳込み層×5  + 全結合層×2+出力層×1
    \* GoogLeNet in Keras
    \* https://joelouismarino.github.io/blog_posts/blog_googlenet_keras.html

    View full-size slide

  18. 現論文で用いたCNNのモデルは”AlexNet” (Alex Krizhevsky et al)
    • 2012年の”ImageNet” datasetの1,000クラス分類コンペで圧勝したモデル
    • 他の有名なモデル:GoogLeNet (22層), VGG (16/19層), ResNet (18/34/50/...層) など
    18
    出典:ImageNet Classification with Deep Convolutional Neural Networks (2012)
    https://papers.nips.cc/paper/4824-imagenet-classification-with-deep-convolutional-neural-networks.pdf
    R-CNNの原理(2) CNNを用いた特徴量抽出
    R-CNNの原理(2) CNNを用いた特徴量抽出
    全8層 = (入力)     畳込み層×5  + 全結合層×2+出力層×1
    \* リアルタイム画風変換とその未来
    \* https://engineering.linecorp.com/ja/blog/detail/105
    Visual Geometry Group

    View full-size slide

  19. 現論文で用いたCNNのモデルは”AlexNet” (Alex Krizhevsky et al)
    • 2012年の”ImageNet” datasetの1,000クラス分類コンペで圧勝したモデル
    • 他の有名なモデル:GoogLeNet (22層), VGG (16/19層), ResNet (18/34/50/...層) など
    19
    出典:ImageNet Classification with Deep Convolutional Neural Networks (2012)
    https://papers.nips.cc/paper/4824-imagenet-classification-with-deep-convolutional-neural-networks.pdf
    R-CNNの原理(2) CNNを用いた特徴量抽出
    R-CNNの原理(2) CNNを用いた特徴量抽出
    全8層 = (入力)     畳込み層×5  + 全結合層×2+出力層×1
    \* Image Classification
    \* http://book.paddlepaddle.org/03.image_classification/ Residual Net

    View full-size slide

  20. 現論文で用いたCNNのモデルは”AlexNet” (Alex Krizhevsky et al)
    • 2012年の”ImageNet” datasetの1,000クラス分類コンペで圧勝したモデル
    • 他の有名なモデル:GoogLeNet (22層), VGG (16/19層), ResNet (18/34/50/...層) など
    20
    出典:ImageNet Classification with Deep Convolutional Neural Networks (2012)
    https://papers.nips.cc/paper/4824-imagenet-classification-with-deep-convolutional-neural-networks.pdf
    R-CNNの原理(2) CNNを用いた特徴量抽出
    R-CNNの原理(2) CNNを用いた特徴量抽出
    全8層 = (入力)     畳込み層×5  + 全結合層×2+出力層×1

    View full-size slide

  21. R-CNNの原理(3) 分類器
    R-CNNにおいて「分類がうまくいった」というのはどういう場合か
    21
    Car
    Person
    Fuel dispenser
    正解ラベル
    (ground truth)
    例)車の認識

    View full-size slide

  22. R-CNNの原理(3) 分類器
    R-CNNにおいて「分類がうまくいった」というのはどういう場合か
    22
    Car
    Person
    Fuel dispenser
    正解ラベル
    (ground truth)
    認識結果
    例)車の認識 Car

    View full-size slide

  23. R-CNNの原理(3) 分類器
    R-CNNにおいて「分類がうまくいった」というのはどういう場合か
    23
    Car
    Person
    Fuel dispenser
    正解ラベル
    (ground truth)
    認識結果
    例)車の認識 Train

    View full-size slide

  24. R-CNNの原理(3) 分類器
    R-CNNにおいて「分類がうまくいった」というのはどういう場合か
    24
    Car
    Person
    Fuel dispenser
    正解ラベル
    (ground truth)
    認識結果
    例)車の認識
    Car

    View full-size slide

  25. R-CNNの原理(3) 分類器
    R-CNNにおいて「分類がうまくいった」というのはどういう場合か
    25
    Car
    Person
    Fuel dispenser
    正解ラベル
    (ground truth)
    認識結果
    例)車の認識
    Car

    View full-size slide

  26. R-CNNの原理(3) 分類器
    R-CNNにおいて「分類がうまくいった」というのはどういう場合か
    26
    Car
    Person
    Fuel dispenser
    正解ラベル
    (ground truth)
    認識結果
    例)車の認識
    Car
    ?

    View full-size slide

  27. R-CNNの原理(3) 分類器
    R-CNNにおいて「分類がうまくいった」というのはどういう場合か
    27
    Car
    Person
    Fuel dispenser
    正解ラベル
    (ground truth)
    認識結果
    例)車の認識
    Car
    ?
    物体名と領域の位置・大きさが合って初めて正解

    View full-size slide

  28. 領域の一致具合の指標 IoU
    IoU (Intersection over Union)
    28
    \* 出典:Intersection over Union (IoU) for object detection - pyimagesearch (2016)
    \* http://www.pyimagesearch.com/2016/11/07/intersection-over-union-iou-for-object-detection/
    原論文では IoU threshold = {0, 0.1, …, 0.5} で認識率をスキャンし、結局 threshold = 0.3 に設定

    View full-size slide

  29. R-CNNの原理(3) 分類器
    29
    SVM (Support Vector Machine)
    \* 出典:SVM を使うと,なにが嬉しいの?
    \* http://www.neuro.sfc.keio.ac.jp/~masato/study/SVM/SVM_1.htm
    識別面から最近傍サンプル点 (support vector) まで
    のユークリッド距離 (マージン) を最大化するような識
    別面を決めるアルゴリズム
    各クラス(車、人など)に対してSVMで
    信号・背景を識別する境界を学習

    View full-size slide

  30. R-CNNの原点
    原論文:
    Rich feature hierarchies for accurate object detection
    and semantic segmentation (2013)
    https://arxiv.org/abs/1311.2524
    30
    1. 入力画像に対して、
    2. 物体が写っている領域の候補 (region proposal) を Selective Search で約2,000個抽出し、
    a. CNNのインプットの大きさに合うようにそれぞれの領域中の画像をリサイズし、
    3. それぞれの領域に対してCNN (AlexNet) で特徴量 (feature) を計算し、
    4. それぞれの領域になにが写っているか Support Vector Machine で分類する

    View full-size slide

  31. Agenda
    - Introduction
    - R-CNNの原理
    - 領域分け
    - CNN
    - 分類器
    - R-CNNの問題点
    - R-CNNの最近の動向
    - SSD (Single Shot multibox Detector) の概要
    - まとめ
    31

    View full-size slide

  32. オリジナルR-CNNの欠点
    学習が多段の処理になっていて煩雑
    1. まず”ImageNet” dataset(1画像に1物体)でCNNをpretrain
    2. “VOC” dataset(1画像に複数物体)でCNNをfine-tuning*
    *fine-tuning: 上流の層の重みは固定し、全結合層など下流の層の重みのみを trainingすること
    3. CNNの出力側にSVMを載せて学習
    4. 矩形回帰の学習
    実行時間が遅い
    • 領域候補 2,000 個に対してそれぞれCNNを走らせている
    • 認識時間 10-45 s/image @ Nvidia Tesla K40 (cf: 最新Tesla P100はThroughput~10倍)
    ➡ 多数の”進化版”が考案されている
    32
    (参考)論文紹介:Fast R-CNN & Faster R-CNN
    https://www.slideshare.net/takashiabe338/fast-rcnnfaster-rcnn

    View full-size slide

  33. Agenda
    - Introduction
    - R-CNNの原理
    - 領域分け
    - CNN
    - 分類器
    - R-CNNの問題点
    - R-CNNの最近の動向
    - SSD (Single Shot multibox Detector) の概要
    - まとめ
    33

    View full-size slide

  34. R-CNNの進化版のまとめ
    34
    著者 初出 (arXiv) オリジナルの実装 二次創作*
    R-CNN Ross G. et al 2013/11 MATLAB+Caffe
    Fast R-CNN Ross G. 2015/04 Caffe / MATLAB Torch
    Faster R-CNN Shaoqing R. et at 2015/06 MATLAB / Caffe Keras / TensorFlow (TF) / Chainer
    YOLO
    (You Only Look Once)
    Joseph R. et al 2015/06 darknet TF / TF / TF / TF on Android / Keras
    SSD
    (Single Shot Multibox Detector)
    Wei L. et al 2015/12 Caffe Keras / TF / Torch / Chainer
    YOLOv2 Joseph R. et al 2016/12 darknet Keras / TF
    *「R-CNN implementation」等でググって1-2ページ以内にヒットしたもののみ掲載
    \* 出典:SSD: Single Shot MultiBox Detector
    \* https://github.com/weiliu89/caffe/tree/ssd
    \* 出典:YOLO9000: Better, Faster, Stronger
    \* https://arxiv.org/pdf/1612.08242.pdf
    (次ページに拡大図)

    View full-size slide

  35. R-CNNの進化版のまとめ
    35
    \* 出典:YOLO9000: Better, Faster, Stronger
    \* https://arxiv.org/pdf/1612.08242.pdf

    View full-size slide

  36. Agenda
    - Introduction
    - R-CNNの原理
    - 領域分け
    - CNN
    - 分類器
    - R-CNNの問題点
    - R-CNNの最近の動向
    - SSD (Single Shot multibox Detector) の概要
    - まとめ
    36

    View full-size slide

  37. SSDの概要
    • Single Shot multibox Detector (SSD)
    • Single Shot (ひとつのネットワーク) で複数の物体を認識
    • YOLOv1よりも速く、Faster R-CNNと同程度の精度
    • Feature mapに対して小さな畳み込みフィルタをかけ、それぞれの領域
    で各物体クラスのスコアとボックス位置のオフセットを予測(後述)
    • 異なるスケール・アスペクト比で上述の操作を繰り返す
    ↔ R-CNNは領域候補を出してから、全候補にCNNを走らせる
    • 物体認識とボックス位置それぞれの損失関数の和を最小化させる(後述)
    • “end-to-end”でtraining可能
    ↔ R-CNNは多段階のtrainingが必要
    37

    View full-size slide

  38. • Single Shot multibox Detector (SSD)
    • Single Shot (ひとつのネットワーク) で複数の物体を認識
    • YOLOv1よりも速く、Faster R-CNNと同程度の精度
    • Feature mapに対して小さな畳み込みフィルタをかけ、それぞれの領域
    で各物体クラスのスコアとボックス位置のオフセットを予測(後述)
    • 異なるスケール・アスペクト比で上述の操作を繰り返す
    ↔ R-CNNは領域候補を出してから、全候補にCNNを走らせる
    • 物体認識とボックス位置それぞれの損失関数の和を最小化させる(後述)
    • “end-to-end”でtraining可能
    ↔ R-CNNは多段階のtrainingが必要
    SSDの概要
    38
    SSD300 in Keras @ TiTan X

    View full-size slide

  39. SSDの原理
    39

    View full-size slide

  40. SSDの原理:特徴抽出
    40
    *VGGの全結合 (Fully-Connected) 層は畳込み (Convolution) 層に置き換えている
    前半のVGGネットで特徴量 (feature) を抽出

    View full-size slide

  41. SSDの原理:物体の位置と種類の認識
    41
    Feature mapを小さくしながら、異なるスケールの領域候補と物体認識のスコア(~確率)を出力
    領域候補のアスペクト比は
    デフォルトの{1, 2, 3, ½, ⅓} で固定
    (極端に細長い物体は認識しづらい)

    View full-size slide

  42. SSDの原理:物体の位置と種類の認識
    42
    Feature mapを小さくしながら、異なるスケールの領域候補と物体認識のスコア(~確率)を出力
    領域候補のアスペクト比は
    デフォルトの{1, 2, 3, ½, ⅓} で固定
    (極端に細長い物体は認識しづらい?)
    出典:https://www.slideshare.net/xavigiro/ssd-single-shot-multibox-detector

    View full-size slide

  43. SSDの原理:学習
    43
    物体認識と位置決定の損失関数(loss function)の和を
    小さくするようにフィルタの値を調整

    View full-size slide

  44. SSDの原理:学習
    物体認識と位置決定の損失関数(loss function)の和を
    小さくするようにフィルタの値を調整
    44
    Confidence Loss Localization Loss
    weight term:
    一応フリーパラメータ
    としているが、論文では
    単純に α=1 と設定
    Ground Truthと
    位置がマッチした
    Bounding Boxの数

    View full-size slide

  45. SSDの原理:学習
    物体認識と位置決定の損失関数(loss function)の和を
    小さくするようにフィルタの値を調整
    45
    Ground Truthと
    位置がマッチした
    Bounding Boxの数 Confidence Loss
    (Softmax Loss)
    Localization Loss
    マッチしたBox (Cross Entropy)
    xp
    ij
    : i番目のboxが、カテゴリpのj番目の
      ground truthとマッチしたらxp =1
    マッチしなかったBox
    カテゴリ0は背景;背景の確率=1なら最小となる
    weight term:
    一応フリーパラメータ
    としているが、論文では
    単純に α=1 と設定

    View full-size slide

  46. SSDの原理:学習
    物体認識と位置決定の損失関数(loss function)の和を
    小さくするようにフィルタの値を調整
    46
    Ground Truthと
    位置がマッチした
    Bounding Boxの数 Confidence Loss
    (Softmax Loss)
    weight term:
    一応フリーパラメータ
    としているが、論文では
    単純に α=1 と設定
    Localization Loss
    (Smooth L1 Loss)
    lm
    i
    : Predicted Boxのcenter x, y, width, height
    gm
    j
    : Ground truthのcenter x, y, width, height
    勾配が大きくなり過ぎない (at most 1)

    View full-size slide

  47. 参考:YOLO (You Only Look Once)
    47
    ● 予め画像全体をグリッド分割
    ● 各領域ごとに物体のクラスとBounding Boxを求める

    View full-size slide

  48. 参考:SSDとYOLOのモデルの概要
    48

    View full-size slide

  49. https://github.com/rykov8/ssd_keras/blob/master/ssd.py
    49
    SSD の Keras での実装

    View full-size slide

  50. https://github.com/rykov8/ssd_keras/blob/master/ssd.py
    50
    SSD の Keras での実装

    View full-size slide

  51. https://github.com/rykov8/ssd_keras/blob/master/ssd.py
    51
    SSD の Keras での実装
    “Localizationの特徴量”
    “Confidenceの特徴量”
    Default Bounding Box

    View full-size slide

  52. https://github.com/rykov8/ssd_keras/blob/master/ssd.py
    52
    SSD の Keras での実装

    View full-size slide

  53. まとめ
    • R-CNN (Regions with CNN features) は
     領域分け+CNNの特徴量抽出
    を組み合わせて、画像内の複数物体認識を行う
    • オリジナルのR-CNNは動作が遅すぎて使い物にならない
    • R-CNN改良版のSSDやYOLO
    • ひとつのニューラルネットで両方のタスクを担う
    • CNNで特徴量を認識してから領域分けを行う
    53

    View full-size slide

  54. 【スラング英語の教科書】YOLOの正しい意味と使い方
    http://creatorjapan.asia/yolo-meaning/
    55

    View full-size slide

  55. 56
    Fast R-CNN
    https://arxiv.org/abs/1504.08083

    View full-size slide

  56. R-CNNの応用例
    57
    R-CNN
    R-CNNの人認識とクラスタリングを組み合わせた手法
    「Deep Learning技術をベースとした異常画像検出」(2016)
    https://kaigi.org/jsai/webprogram/2016/pdf/664.pdf
    (有限責任監査法人トーマツ デロイトアナリティクス&株式会社リクルート住まいカンパニー)
    - 物件管理者側から提供された物件写真をサイトに掲載できるかチェック
    NG:人が写っていたらダメ(プライバシーの観点から)
    NG:工事中の写真はダメ
    NG:拡大しすぎ/縮小しすぎはダメ

    View full-size slide

  57. 【Python】 KerasのConvolution2Dの引数border_modeについて
    ‘valid’
    出力画像は入力画像よりもサイズが小さくなる。
    58
    出典:http://ni4muraano.hatenablog.com/entry/2017/02/02/195505
    ‘same’
    ゼロパディングすることで、
    出力画像は入力画像と同じサイズになる。

    View full-size slide

  58. 59
    Fast R-CNN
    https://arxiv.org/abs/1504.08083

    View full-size slide

  59. 61
    Deep Learning Benchmarks of NVIDIA Tesla P100 PCIe, Tesla K80, and Tesla M40 GPUs
    https://www.microway.com/hpc-tech-tips/deep-learning-benchmarks-nvidia-tesla-p100-16gb-pcie-tesla-k80-tesla-m40-gpus/

    View full-size slide

  60. 62
    Deep Learning Benchmarks of NVIDIA Tesla P100 PCIe, Tesla K80, and Tesla M40 GPUs
    https://www.microway.com/hpc-tech-tips/deep-learning-benchmarks-nvidia-tesla-p100-16gb-pcie-tesla-k80-tesla-m40-gpus/

    View full-size slide