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.
PETR ZADRAŽIL
Software Engineer, Google
TensorFlow

pro mobilní vývojáře
Rozpoznávání obrázků
TensorFlow
Mobilní praxe
Obsah
Rozpoznávání obrázků
Skok Kupředu
32x32px - 10 kategorií
ukázky obrázků
správně
2015 96.53%
2014 93.72%
2013 90.68%
2012 90.50%
2011 80.00%
člověk ~94.00%
C...
Inceptionism
Inceptionism
Inceptionism
Inceptionism
Umělecké Styly
výpočetní síla (i mobilní)
množství dat
distribuované algoritmy
větší porozumění
nové typy neuronových sítí
Proč až nyní?
Preprocessing
10 čísel (kategorií)
60 000 trénovacích
10 000 testovacích
28 x 28 pixelů
MNIST
MNIST
y = softmax (Wx + b)
Softmax Regression
i →
j
↓
Ztrátová funkce
y = softmax (Wx + b)
y = [0.5, 0.2, 0.3]
y’ = [1, 0, 0]
i →
j
↓
Výsledek
TensorFlow
distribuovaný machine-learning framework
vedlejší produkt výzkumu v Google
umožňuje:
100 000 000 000+ parametrů
100 000 00...
interface: Python, C++, …
portabilní: CPU, GPU, mobilní telefony, …
využití:
rozpoznávání řeči
rozpoznávání obrazu
robotik...
vstup
parametr
operace
tensor
Graf - základ výpočtu
W
b
x
MatMul
Add
Graf - základ výpočtu
W
b
x
MatMul
Add
LossLearn
y’
Ukázka Kódu
https://github.com/tensorflow/tensorflow/blob/master/tensorflow/
examples/tutorials/mnist/mnist_softmax.py
Neuronová síť
Neuron
Σ f()W2
W3
b
W1
Aktivační funkce
Sigmoid: 1 / (1 - e^(-x))
Gausian: e ^ (-(x^2))
ReLU: max(0, x)
Neuronová Síť
Konvoluční Neuronová Síť
preprocessing - centrovani
Konvoluční Neuronová Síť
Konvoluční Neuronová Síť
Konvoluční Neuronová Síť
Animace
Ukázka Kódu
https://drive.google.com/open?id=0B00r-2PrfhYJX3l6Wnh2VHhSWms
Krizehvsky et al. (2012)
2 GPUs, ReLU, DropOut, ImageNet
Krizehvsky et al. (2012)
Krizehvsky et al. (2012)
Mobilní Praxe
Vývojový proces
Knihovna
Java
Nativní Kód (C)
TensorFlow
Android Kód
https://github.com/tensorflow/tensorflow/tree/master/tensorflow/examples/android
tensorflow::Tensor input_tens...
Android Kód
https://github.com/tensorflow/tensorflow/tree/master/tensorflow/examples/android
tensorflow::Tensor input_tens...
Android Kód
https://github.com/tensorflow/tensorflow/tree/master/tensorflow/examples/android
if (!s.ok()) {
LOG(ERROR) << ...
Google Translate
Živé Ukázky
TensorFlow Demo App
https://www.youtube.com/watch?v=0zKU7jDA2nc&t=1m50s
Google Translate
Triky
preprocessing
detekce tvarů
normalizace
nepřesný překlad (5uper)
Triky
Generovaná Data
Kam Dál
Web TensorFlow: https://www.tensorflow.org/
TebsorFlow Android Example: https://github.com/tensorflow/
tensorflow/...
Otázky?
Líná huba - holé neštěstí.
— moje babička
Web TensorFlow: https://www.tensorflow.org/
TensorFlow White Paper: http://download.tensorflow.org/paper/whitepaper2015.pd...
WWW.MDEVTALK.CZ
mdevtalk
Petr Zadražil: TensorFlow v mobilních aplikacích
Upcoming SlideShare
Loading in …5
×

Petr Zadražil: TensorFlow v mobilních aplikacích

817 views

Published on

TensorFlow je špičková knihovna pro umělou inteligenci (AI), kterou Google překvapivě open-sourcoval. V přednášce se dozvíte rychlý úvod do AI a využití TensorFlow. Vše uvidíte na reálném příkladu Android aplikace s TensorFlow, který si pak můžete doma vyzkoušet.

Video: https://www.youtube.com/watch?v=7jhDYKZ8wqc

Celý program:
Petr Zadražil: TensorFlow v mobilních aplikacích
Petr Šíma: Principy funkcionálně reaktivního programovaní
Petr Hamerník: Textová analytika v mobilních aplikacích

Web: http://mdevtalk.cz
E-mail: info@mdevtalk.cz
FB: https://facebook.com/mdevtalk
Twitter: https://twitter.com/mdevtalk

Published in: Mobile
  • Be the first to comment

  • Be the first to like this

Petr Zadražil: TensorFlow v mobilních aplikacích

  1. 1. PETR ZADRAŽIL Software Engineer, Google
  2. 2. TensorFlow
 pro mobilní vývojáře
  3. 3. Rozpoznávání obrázků TensorFlow Mobilní praxe Obsah
  4. 4. Rozpoznávání obrázků
  5. 5. Skok Kupředu
  6. 6. 32x32px - 10 kategorií ukázky obrázků správně 2015 96.53% 2014 93.72% 2013 90.68% 2012 90.50% 2011 80.00% člověk ~94.00% CIFAR-10
  7. 7. Inceptionism
  8. 8. Inceptionism
  9. 9. Inceptionism
  10. 10. Inceptionism
  11. 11. Umělecké Styly
  12. 12. výpočetní síla (i mobilní) množství dat distribuované algoritmy větší porozumění nové typy neuronových sítí Proč až nyní?
  13. 13. Preprocessing
  14. 14. 10 čísel (kategorií) 60 000 trénovacích 10 000 testovacích 28 x 28 pixelů MNIST
  15. 15. MNIST
  16. 16. y = softmax (Wx + b) Softmax Regression i → j ↓
  17. 17. Ztrátová funkce y = softmax (Wx + b) y = [0.5, 0.2, 0.3] y’ = [1, 0, 0] i → j ↓
  18. 18. Výsledek
  19. 19. TensorFlow
  20. 20. distribuovaný machine-learning framework vedlejší produkt výzkumu v Google umožňuje: 100 000 000 000+ parametrů 100 000 000 000+ příkladů 100+ výpočetních serverů TensorFlow
  21. 21. interface: Python, C++, … portabilní: CPU, GPU, mobilní telefony, … využití: rozpoznávání řeči rozpoznávání obrazu robotika vytežování dat výzkum léků TensorFlow
  22. 22. vstup parametr operace tensor Graf - základ výpočtu W b x MatMul Add
  23. 23. Graf - základ výpočtu W b x MatMul Add LossLearn y’
  24. 24. Ukázka Kódu https://github.com/tensorflow/tensorflow/blob/master/tensorflow/ examples/tutorials/mnist/mnist_softmax.py
  25. 25. Neuronová síť
  26. 26. Neuron Σ f()W2 W3 b W1
  27. 27. Aktivační funkce Sigmoid: 1 / (1 - e^(-x)) Gausian: e ^ (-(x^2)) ReLU: max(0, x)
  28. 28. Neuronová Síť
  29. 29. Konvoluční Neuronová Síť preprocessing - centrovani
  30. 30. Konvoluční Neuronová Síť
  31. 31. Konvoluční Neuronová Síť
  32. 32. Konvoluční Neuronová Síť
  33. 33. Animace
  34. 34. Ukázka Kódu https://drive.google.com/open?id=0B00r-2PrfhYJX3l6Wnh2VHhSWms
  35. 35. Krizehvsky et al. (2012) 2 GPUs, ReLU, DropOut, ImageNet
  36. 36. Krizehvsky et al. (2012)
  37. 37. Krizehvsky et al. (2012)
  38. 38. Mobilní Praxe
  39. 39. Vývojový proces
  40. 40. Knihovna Java Nativní Kód (C) TensorFlow
  41. 41. Android Kód https://github.com/tensorflow/tensorflow/tree/master/tensorflow/examples/android tensorflow::Tensor input_tensor( tensorflow::DT_FLOAT, tensorflow::TensorShape({1, g_tensorflow_input_size, g_tensorflow_input_size, 3})); auto input_tensor_mapped = input_tensor.tensor<float, 4>(); input_tensor_mapped(i, j, k, l) = <float>;
  42. 42. Android Kód https://github.com/tensorflow/tensorflow/tree/master/tensorflow/examples/android tensorflow::Tensor input_tensor( tensorflow::DT_FLOAT, tensorflow::std::vector<std::pair<std::string, tensorflow::Tensor> > input_tensors( {{"input:0", input_tensor}}); std::vector<tensorflow::Tensor> output_tensors; std::vector<std::string> output_names({"output:0"}); tensorflow::Status s = session->Run(input_tensors, output_names, {}, &output_tensors);
  43. 43. Android Kód https://github.com/tensorflow/tensorflow/tree/master/tensorflow/examples/android if (!s.ok()) { LOG(ERROR) << "Error during inference: " << s; return ""; } tensorflow::Tensor* output = &output_tensors[0];({1, g_tensorflow_input_size, g_tensorflow_input_size, 3}));
  44. 44. Google Translate Živé Ukázky TensorFlow Demo App
  45. 45. https://www.youtube.com/watch?v=0zKU7jDA2nc&t=1m50s Google Translate
  46. 46. Triky preprocessing detekce tvarů normalizace nepřesný překlad (5uper)
  47. 47. Triky Generovaná Data
  48. 48. Kam Dál Web TensorFlow: https://www.tensorflow.org/ TebsorFlow Android Example: https://github.com/tensorflow/ tensorflow/tree/master/tensorflow/examples/android Materiály k prezentaci: https://drive.google.com/open? id=0B00r-2PrfhYJQ0oyZkpyaFF5amc Colah’s Blog: http://colah.github.io/ Karpathy’s Blog: http://karpathy.github.io/
  49. 49. Otázky?
  50. 50. Líná huba - holé neštěstí. — moje babička
  51. 51. Web TensorFlow: https://www.tensorflow.org/ TensorFlow White Paper: http://download.tensorflow.org/paper/whitepaper2015.pdf TebsorFlow Android Example: https://github.com/tensorflow/tensorflow/tree/master/ tensorflow/examples/android Google Research Blog: http://googleresearch.blogspot.cz/ Colah’s Blog: http://colah.github.io/ Karpathy’s Blog: http://karpathy.github.io/ Rodrigo’s Blog: http://rodrigob.github.io/ XKCD: http://xkcd.com Neural Artist Style: https://github.com/jcjohnson/neural-style Zdroje
  52. 52. WWW.MDEVTALK.CZ mdevtalk

×