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

IntroductionToTensorFlow2_0.pdf

masa-ita
November 02, 2019

 IntroductionToTensorFlow2_0.pdf

masa-ita

November 02, 2019
Tweet

More Decks by masa-ita

Other Decks in Technology

Transcript

  1. TensorFlow 2.0 超⼊⾨
    板垣 正敏 @Python機械学習勉強会in新潟・TFUG Niigata 合同勉強会
    2019/11/2

    View Slide

  2. ディープラーニングの仕組み

    View Slide

  3. Perceptron
    "
    #
    "
    #


    = ("
    "
    + #
    #
    + )
    ,
    ︓重み(Weights)
    ︓バイアス
    ( )︓活性化関数

    View Slide

  4. Forward/Back Propagation
    Input
    Prediction Grand Truth
    Loss
    Function
    Loss
    W
    W
    W
    W
    Optimizer

    View Slide

  5. TensorFlow と Keras その歴史

    View Slide

  6. History of
    Deep Learning Frameworks
    2019
    2018
    2017
    2016
    2015
    2002 2007
    Torch
    Theano
    Keras
    Chainer
    TensorFlow
    Caffe
    2014
    PyTorch
    Caffe2

    View Slide

  7. Keras と TensorFlow の関係
    Keras
    Theano
    Tensor
    Flow
    CNTK

    View Slide

  8. TensorFlow 1.0 のプログラミング

    View Slide

  9. Define and Run
    https://cv-tricks.com/artificial-intelligence/deep-learning/deep-learning-frameworks/tensorflow-tutorial/
    import tensorflow as tf
    import numpy as np
    # Create Sample Data
    trainX = np.linspace(-1, 1, 101)
    trainY = 3 * trainX + np.random.randn(*trainX.shape) * 0.33
    # Place Holder
    X = tf.placeholder("float")
    Y = tf.placeholder("float")
    # Build a model
    w = tf.Variable(0.0, name="weights")
    y_model = tf.multiply(X, w)
    cost = (tf.pow(Y-y_model, 2))
    train_op = tf.train.GradientDescentOptimizer(0.01).minimize(cost)
    # Train a model
    init= tf.global_variables_initializer()
    with tf.Session() as sess:
    sess.run(init)
    for i in range(100):
    for (x, y) in zip(trainX, trainY):
    sess.run(train_op, feed_dict={X: x, Y: y})
    print(sess.run(w))

    View Slide

  10. TensorFlow 2.0 の特徴

    View Slide

  11. 5 Important Changes Coming with
    TensorFlow 2.0
    (1) Eager Execution by Default
    (2) Keras as the high-level API
    (3) API Cleanup
    (4) TF datasets
    (5) You can still run TensorFlow 1.x code with 2.0 release
    https://levelup.gitconnected.com/5-important-changes-coming-with-tensorflow-2-0-e6bb172c5fdf

    View Slide

  12. TensorFlow 2.0 ハンズオン

    View Slide

  13. Colab で TensorFlow 2.0をつかう
    %tensorflow_version 2.x
    というマジックコマンドを使⽤
    ただし、まもなく逆に 1.x が
    必要に

    View Slide

  14. 初歩の初歩 MNIST with DNN
    š ディープラーニングの “Hello World!”
    š TensorFlowでのモデル構築標準APIとなっているKerasを使⽤
    š 元のページ
    š https://www.tensorflow.org/tutorials/quickstart/beginner
    š Google Colaboratory で開くには
    š https://colab.research.google.com/github/tensorflow/docs/blob/master/site/ja
    /tutorials/quickstart/beginner.ipynb

    View Slide

  15. いきなりエキスパート
    š MINSTをTensorFlow 2.0でエキスパート⾵にやるとどうなるか︖
    š td.data を使って訓練⽤データをハンドリング
    š モデルはtf.keras.Modelをサブクラス化
    š 訓練ループは⾃分で書く
    š 元のページ
    š https://www.tensorflow.org/tutorials/quickstart/advanced
    š Google Colaboratoryで開くには
    š https://colab.research.google.com/github/tensorflow/docs/blob/master/site/ja
    /tutorials/quickstart/advanced.ipynb

    View Slide

  16. もう少し詳しく・・・
    š カスタマイズの基礎︓テンソルと演算
    š 元のページ
    š https://www.tensorflow.org/tutorials/customization/basics
    š Google Colaboratoryで開く
    š https://colab.research.google.com/github/tensorflow/docs/blob/master/site/ja
    /tutorials/customization/basics.ipynb

    View Slide

  17. もっと知りたい⽅は
    š Deep Learning初⼼者の⽅は
    š Kerasを使ったチュートリアルを
    š https://www.tensorflow.org/tutorials/keras/
    š TensorFlow 2.0についてもっと知りたい⽅は
    š TensorFlow Guideの中の2.0についての解説(英語)
    š https://www.tensorflow.org/guide/effective_tf2
    š TensorFlow Tutorials/Customizationの他のノートブックを
    š https://www.tensorflow.org/tutorials/customization/

    View Slide

  18. おわりに

    View Slide

  19. いろいろと募集中です
    š Python機械学習勉強会in新潟 ・TensorFlow Users Group Niigataで
    š 発表してくださる⽅
    š 運営を⼿伝ってくださる⽅
    š TensorFlow Users Group のドキュメント翻訳プロジェクトで
    š ノートブックなどの翻訳をしてくださる⽅
    š 翻訳のレビューをしてくださる⽅

    View Slide