SlideShare une entreprise Scribd logo
1  sur  11
Télécharger pour lire hors ligne
TensorFlowによるFizz-Buzz
やじゅ@静岡Developers勉強会
アジェンダ
 自己紹介
 TensorFlowについて
 Fizz Buzzについて
 one-hot ベクトル
 偶数と奇数に分類
 Fizz Buzz問題を解く
 その他
自己紹介
 平口 八寿人(Twitter:yaju)
http://yaju3d.hatenablog.jp/
http://qiita.com/yaju
静岡県島田市のSLが通る川根温泉近く
に在住。
静岡Developers勉強会について
2008辺りから全国でIT勉強会ブームが起き始める。
2009年に静岡ITPro勉強会の第1回が行われる。
名前に「ITPro」と付くようにシステム管理者向けであったため、
開発者向けの勉強会が欲しいと2010年に発足。
・ 2010年:「Programming in Haskell」
・ 2011年:「JavaScript: The Good Parts」
・ 2012年:「HTML5&CSS3実践入門」、「GitHubハンズオン」、
「node.jsハンズオン」
・ 2013年:「入門 機械学習」
・ 2014年:「実践 コンピュータビジョン」
・ 2015年:「UnityとBlenderハンズオン」
・ 2016年:「人工知能ハンズオン TensorFlowコトハジメ」
2015年まではほぼ毎月開始、人数が少ないので年数回に切り替え
TensorFlowについて
読み方は「テンサーフロー」
Googleが2015年11月10日に公開したオープンソース多
層NN(ディープラーニング)に特化したライブラリで現状
C++/PythonでのAPIが存在しています。
TensorFlow 0.12(2016/11/29リリース)からWindowsを
サポートするようになりました。2017/02/16に1.0リリース
TensorFlowがWindowsサポートしたのでインストールしてみた
テンソルについて
多次元の配列
Fizz Buzzについて
Fizz Buzz(フィズ・バズ)は英語圏でドライブ中や飲み会
などで行う言葉遊び。
3の倍数のときは「Fizz」、5の倍数のときは「Buzz」、3と
5両方の倍数の場合には「FizzBuzz」、それ以外は数字
を出力する。
2008年ごろ「世界のナベアツ(桂三度さん)」が、Fizz
Buzzと同様の規則性で「3の倍数と3が付く数字のときだ
けアホになります」のネタがブームに。
【お笑い】R1「世界のナベアツ・3の倍数」2008年
one-hot ベクトル
ニューラルネットワークで多クラス分類をする場合、出力層として分
類したいクラスの数と同じ次元のベクトルを出力する。
人工知能のチュートリアル(MNIST)の手書き文字認識で0~9の数
字を分類する(最終出力層10個)がある。
画像データ(28x28=784) x 訓練データ 55000
↓
対応ラベル (0-9 =10 ) x 訓練データ 55000
偶数と奇数に分類
Fizz Buzz問題に行く前に手始めに、偶数と奇数に分類
を考えてみる。
「101から127(2^7-1)までのデータで学習したニューラル
ネットワークに対して、1から100までの答え(偶数なら
even、奇数ならodd)の予測」して出力する。
TensorFlowコトハジメ 偶数と奇数に分類
Fizz Buzz問題を解く
「Fizz-Buzz問題」はコードが書けないプログラマ志願者
を見分ける手法、もしくはどんなコードを書くかなどプログ
ラマ採用試験として使われる。
Joel Grusさんの「Fizz Buzz in Tensorflow」の記事。
プログラマー採用試験としてFizzBuzz問題のプログラム
を書きなさいというIT会社面接官に対して「では、まず
TensorFlowをインポートします…」というジョークです。
つまり人工知能によってFizzBuzz問題を解くという更に
高度な提案をしたわけです。
Fizz Buzz問題を解く
学習用データに1から100までの数値を使うことは不正行
為とのことで、101から1023までのデータで学習した
ニューラルネットワークに対して、1から100までの答えの
予測を出力するプログラムになっている。
TensorFlowコトハジメ Fizz-Buzz問題
その他
 TensorFlowコトハジメ Word2Vecで「君の名
は。」と戯れてみた
 「サザエさんのじゃんけん データ分析」の2016
年の結果
 なぜ機械学習にPythonが選ばれるのか
ご清聴ありがとうございました。

Contenu connexe

Tendances

Python エンジニアの作り方 2011.08 #pyconjp
Python エンジニアの作り方 2011.08 #pyconjpPython エンジニアの作り方 2011.08 #pyconjp
Python エンジニアの作り方 2011.08 #pyconjp
Takeshi Komiya
 
他人が書いたコードのリファレンスをSphinxで作る方法
他人が書いたコードのリファレンスをSphinxで作る方法他人が書いたコードのリファレンスをSphinxで作る方法
他人が書いたコードのリファレンスをSphinxで作る方法
Takeshi Sugiyama
 
Pythonスタートアップ勉強会201109 python入門
Pythonスタートアップ勉強会201109 python入門Pythonスタートアップ勉強会201109 python入門
Pythonスタートアップ勉強会201109 python入門
Takayuki Shimizukawa
 

Tendances (20)

Seq2Seqでボットづくり
Seq2SeqでボットづくりSeq2Seqでボットづくり
Seq2Seqでボットづくり
 
トピックモデルを用いた 潜在ファッション嗜好の推定
トピックモデルを用いた 潜在ファッション嗜好の推定トピックモデルを用いた 潜在ファッション嗜好の推定
トピックモデルを用いた 潜在ファッション嗜好の推定
 
210526 Power Automate Desktop Python
210526 Power Automate Desktop Python210526 Power Automate Desktop Python
210526 Power Automate Desktop Python
 
Pythonを使った機械学習の学習
Pythonを使った機械学習の学習Pythonを使った機械学習の学習
Pythonを使った機械学習の学習
 
Erlang and I and Sphinx.
Erlang and I and Sphinx.Erlang and I and Sphinx.
Erlang and I and Sphinx.
 
正しいプログラミング言語の覚え方
正しいプログラミング言語の覚え方正しいプログラミング言語の覚え方
正しいプログラミング言語の覚え方
 
Python エンジニアの作り方 2011.08 #pyconjp
Python エンジニアの作り方 2011.08 #pyconjpPython エンジニアの作り方 2011.08 #pyconjp
Python エンジニアの作り方 2011.08 #pyconjp
 
191208 python-kansai-nishimoto
191208 python-kansai-nishimoto191208 python-kansai-nishimoto
191208 python-kansai-nishimoto
 
いまさら聞けない機械学習のキホン
いまさら聞けない機械学習のキホンいまさら聞けない機械学習のキホン
いまさら聞けない機械学習のキホン
 
211120 他人の書いたPythonスクリプトをステップ実行で理解する
211120 他人の書いたPythonスクリプトをステップ実行で理解する211120 他人の書いたPythonスクリプトをステップ実行で理解する
211120 他人の書いたPythonスクリプトをステップ実行で理解する
 
Pythonで機械学習を自動化 auto sklearn
Pythonで機械学習を自動化 auto sklearnPythonで機械学習を自動化 auto sklearn
Pythonで機械学習を自動化 auto sklearn
 
人工知能と機械学習の違いって?
人工知能と機械学習の違いって?人工知能と機械学習の違いって?
人工知能と機械学習の違いって?
 
実践コンピュータビジョン 9章 画像の領域分割
実践コンピュータビジョン 9章 画像の領域分割実践コンピュータビジョン 9章 画像の領域分割
実践コンピュータビジョン 9章 画像の領域分割
 
TFLite_and_PyTorch_Mobile
TFLite_and_PyTorch_MobileTFLite_and_PyTorch_Mobile
TFLite_and_PyTorch_Mobile
 
他人が書いたコードのリファレンスをSphinxで作る方法
他人が書いたコードのリファレンスをSphinxで作る方法他人が書いたコードのリファレンスをSphinxで作る方法
他人が書いたコードのリファレンスをSphinxで作る方法
 
Raspberry PiとPythonでできること
Raspberry PiとPythonでできることRaspberry PiとPythonでできること
Raspberry PiとPythonでできること
 
S01 t1 tsuji_pylearn_ut_01
S01 t1 tsuji_pylearn_ut_01S01 t1 tsuji_pylearn_ut_01
S01 t1 tsuji_pylearn_ut_01
 
Pythonスタートアップ勉強会201109 python入門
Pythonスタートアップ勉強会201109 python入門Pythonスタートアップ勉強会201109 python入門
Pythonスタートアップ勉強会201109 python入門
 
S12 t1 python学習奮闘記#5
S12 t1 python学習奮闘記#5S12 t1 python学習奮闘記#5
S12 t1 python学習奮闘記#5
 
Pythonでターミナルに画像表示
Pythonでターミナルに画像表示Pythonでターミナルに画像表示
Pythonでターミナルに画像表示
 

En vedette

En vedette (20)

数学史 黎明期
数学史 黎明期数学史 黎明期
数学史 黎明期
 
サザエさんのじゃんけん データ分析
サザエさんのじゃんけん データ分析サザエさんのじゃんけん データ分析
サザエさんのじゃんけん データ分析
 
TensorFlow を使った 機械学習ことはじめ (GDG京都 機械学習勉強会)
TensorFlow を使った機械学習ことはじめ (GDG京都 機械学習勉強会)TensorFlow を使った機械学習ことはじめ (GDG京都 機械学習勉強会)
TensorFlow を使った 機械学習ことはじめ (GDG京都 機械学習勉強会)
 
ClickでCLIをお手軽につくるぅぅぅ
ClickでCLIをお手軽につくるぅぅぅClickでCLIをお手軽につくるぅぅぅ
ClickでCLIをお手軽につくるぅぅぅ
 
Shizuoka.py #6 WebTestでWeb APIのテスト & Pythonメタプログラミングでテストの自動生成
Shizuoka.py #6 WebTestでWeb APIのテスト & Pythonメタプログラミングでテストの自動生成Shizuoka.py #6 WebTestでWeb APIのテスト & Pythonメタプログラミングでテストの自動生成
Shizuoka.py #6 WebTestでWeb APIのテスト & Pythonメタプログラミングでテストの自動生成
 
Shizuoka.py #6 lt 確定申告をpythonで乗り切る
Shizuoka.py #6 lt  確定申告をpythonで乗り切るShizuoka.py #6 lt  確定申告をpythonで乗り切る
Shizuoka.py #6 lt 確定申告をpythonで乗り切る
 
TensorFlowをざっくりLTしてみた
TensorFlowをざっくりLTしてみたTensorFlowをざっくりLTしてみた
TensorFlowをざっくりLTしてみた
 
TensorFlowで遊びながら学んだ、はじめてのLED点滅
TensorFlowで遊びながら学んだ、はじめてのLED点滅TensorFlowで遊びながら学んだ、はじめてのLED点滅
TensorFlowで遊びながら学んだ、はじめてのLED点滅
 
Tensorflowのチュートリアルで理解するdeep learningはじめてハンズオン
Tensorflowのチュートリアルで理解するdeep learningはじめてハンズオンTensorflowのチュートリアルで理解するdeep learningはじめてハンズオン
Tensorflowのチュートリアルで理解するdeep learningはじめてハンズオン
 
「TensorFlow Tutorialの数学的背景」 クイックツアー(パート1)
「TensorFlow Tutorialの数学的背景」 クイックツアー(パート1)「TensorFlow Tutorialの数学的背景」 クイックツアー(パート1)
「TensorFlow Tutorialの数学的背景」 クイックツアー(パート1)
 
TensorFlowで遊んでみよう!
TensorFlowで遊んでみよう!TensorFlowで遊んでみよう!
TensorFlowで遊んでみよう!
 
Windows+VirtualBoxで作るTensorFlow環境
Windows+VirtualBoxで作るTensorFlow環境Windows+VirtualBoxで作るTensorFlow環境
Windows+VirtualBoxで作るTensorFlow環境
 
TensorFlow 入門
TensorFlow 入門TensorFlow 入門
TensorFlow 入門
 
TensorFlowで学ぶDQN
TensorFlowで学ぶDQNTensorFlowで学ぶDQN
TensorFlowで学ぶDQN
 
TensorFlowを使ってテキストをクラス分類してみた
TensorFlowを使ってテキストをクラス分類してみたTensorFlowを使ってテキストをクラス分類してみた
TensorFlowを使ってテキストをクラス分類してみた
 
ノリとその場の勢いでPocを作った話
ノリとその場の勢いでPocを作った話ノリとその場の勢いでPocを作った話
ノリとその場の勢いでPocを作った話
 
TensorFlowとは? ディープラーニング (深層学習) とは?
TensorFlowとは? ディープラーニング (深層学習) とは?TensorFlowとは? ディープラーニング (深層学習) とは?
TensorFlowとは? ディープラーニング (深層学習) とは?
 
TensorFlowによるニューラルネットワーク入門
TensorFlowによるニューラルネットワーク入門TensorFlowによるニューラルネットワーク入門
TensorFlowによるニューラルネットワーク入門
 
TensorFlowによるCNNアーキテクチャ構築
TensorFlowによるCNNアーキテクチャ構築TensorFlowによるCNNアーキテクチャ構築
TensorFlowによるCNNアーキテクチャ構築
 
Dots deep learning部_20161221
Dots deep learning部_20161221Dots deep learning部_20161221
Dots deep learning部_20161221
 

Similaire à TensorFlowによるFizz Buzz

20100701 01 ツイッター浜名湖_プレゼン_i_phoneで動くロボットセミナー
20100701 01 ツイッター浜名湖_プレゼン_i_phoneで動くロボットセミナー20100701 01 ツイッター浜名湖_プレゼン_i_phoneで動くロボットセミナー
20100701 01 ツイッター浜名湖_プレゼン_i_phoneで動くロボットセミナー
akihiro uehara
 
20131116 creators meetup
20131116 creators meetup20131116 creators meetup
20131116 creators meetup
Seigo Tanaka
 
Aizu.LT::Tokyo #2
Aizu.LT::Tokyo #2Aizu.LT::Tokyo #2
Aizu.LT::Tokyo #2
Taku Unno
 
勉強会旅人のススメ
勉強会旅人のススメ勉強会旅人のススメ
勉強会旅人のススメ
and hyphen
 

Similaire à TensorFlowによるFizz Buzz (20)

20100701 01 ツイッター浜名湖_プレゼン_i_phoneで動くロボットセミナー
20100701 01 ツイッター浜名湖_プレゼン_i_phoneで動くロボットセミナー20100701 01 ツイッター浜名湖_プレゼン_i_phoneで動くロボットセミナー
20100701 01 ツイッター浜名湖_プレゼン_i_phoneで動くロボットセミナー
 
「自動化...か、かっこいいタル」(憧れ)から始める自動化
「自動化...か、かっこいいタル」(憧れ)から始める自動化「自動化...か、かっこいいタル」(憧れ)から始める自動化
「自動化...か、かっこいいタル」(憧れ)から始める自動化
 
IoTの原点
IoTの原点IoTの原点
IoTの原点
 
20131116 creators meetup
20131116 creators meetup20131116 creators meetup
20131116 creators meetup
 
SIerは如何にしてGitHub Enterpriseを導入するにようになったか
SIerは如何にしてGitHub Enterpriseを導入するにようになったかSIerは如何にしてGitHub Enterpriseを導入するにようになったか
SIerは如何にしてGitHub Enterpriseを導入するにようになったか
 
Aizu.LT::Tokyo #2
Aizu.LT::Tokyo #2Aizu.LT::Tokyo #2
Aizu.LT::Tokyo #2
 
セッション中に Twitter につぶやく!
セッション中に Twitter につぶやく!セッション中に Twitter につぶやく!
セッション中に Twitter につぶやく!
 
カーネル読書会の作り方@ライブドア
カーネル読書会の作り方@ライブドアカーネル読書会の作り方@ライブドア
カーネル読書会の作り方@ライブドア
 
勉強会旅人のススメ
勉強会旅人のススメ勉強会旅人のススメ
勉強会旅人のススメ
 
試してGOTTEN READY! Azure Sphere
試してGOTTEN READY! Azure Sphere試してGOTTEN READY! Azure Sphere
試してGOTTEN READY! Azure Sphere
 
さくらのIoT Platformを使ってみよう ~OSC浜名湖編~
さくらのIoT Platformを使ってみよう ~OSC浜名湖編~さくらのIoT Platformを使ってみよう ~OSC浜名湖編~
さくらのIoT Platformを使ってみよう ~OSC浜名湖編~
 
20191228_jaws-ug_okayama-2019_winter
20191228_jaws-ug_okayama-2019_winter20191228_jaws-ug_okayama-2019_winter
20191228_jaws-ug_okayama-2019_winter
 
使ってみようPTSV
使ってみようPTSV使ってみようPTSV
使ってみようPTSV
 
スマートファクトリーを支えるIoTインフラをつくった話
スマートファクトリーを支えるIoTインフラをつくった話スマートファクトリーを支えるIoTインフラをつくった話
スマートファクトリーを支えるIoTインフラをつくった話
 
デブサミ関西2011 JAZ紹介
デブサミ関西2011 JAZ紹介デブサミ関西2011 JAZ紹介
デブサミ関西2011 JAZ紹介
 
Trailheadでサクサク!新人研修
Trailheadでサクサク!新人研修Trailheadでサクサク!新人研修
Trailheadでサクサク!新人研修
 
Tizen developer conference 2013 report 1/5
Tizen developer conference 2013 report 1/5Tizen developer conference 2013 report 1/5
Tizen developer conference 2013 report 1/5
 
20150603 JAWS-UG Tokyo AWS Summit
20150603 JAWS-UG Tokyo AWS Summit20150603 JAWS-UG Tokyo AWS Summit
20150603 JAWS-UG Tokyo AWS Summit
 
ガチリアルな修羅チーム開発
ガチリアルな修羅チーム開発ガチリアルな修羅チーム開発
ガチリアルな修羅チーム開発
 
eVar7 = s.t(art) ; Kick-Off
eVar7 = s.t(art) ; Kick-OffeVar7 = s.t(art) ; Kick-Off
eVar7 = s.t(art) ; Kick-Off
 

Plus de yaju88

プログラミングHaskell(第2章)
プログラミングHaskell(第2章)プログラミングHaskell(第2章)
プログラミングHaskell(第2章)
yaju88
 
プログラミングHaskell(第1章)
プログラミングHaskell(第1章)プログラミングHaskell(第1章)
プログラミングHaskell(第1章)
yaju88
 
設計時の見落とし
設計時の見落とし設計時の見落とし
設計時の見落とし
yaju88
 
掲示板を見よう
掲示板を見よう掲示板を見よう
掲示板を見よう
yaju88
 
北斗の拳の世界をオブジェクト指向で
北斗の拳の世界をオブジェクト指向で北斗の拳の世界をオブジェクト指向で
北斗の拳の世界をオブジェクト指向で
yaju88
 
ドラえもんの世界をオブジェクト指向で
ドラえもんの世界をオブジェクト指向でドラえもんの世界をオブジェクト指向で
ドラえもんの世界をオブジェクト指向で
yaju88
 

Plus de yaju88 (20)

UnityとBlenderハンズオン第10章
UnityとBlenderハンズオン第10章UnityとBlenderハンズオン第10章
UnityとBlenderハンズオン第10章
 
UnityとBlenderハンズオン第9章
UnityとBlenderハンズオン第9章UnityとBlenderハンズオン第9章
UnityとBlenderハンズオン第9章
 
UnityとBlenderハンズオン第8章
UnityとBlenderハンズオン第8章UnityとBlenderハンズオン第8章
UnityとBlenderハンズオン第8章
 
UnityとBlenderハンズオン第7章
UnityとBlenderハンズオン第7章UnityとBlenderハンズオン第7章
UnityとBlenderハンズオン第7章
 
UnityとBlenderハンズオン第5章
UnityとBlenderハンズオン第5章UnityとBlenderハンズオン第5章
UnityとBlenderハンズオン第5章
 
UnityとBlenderハンズオン第4章
UnityとBlenderハンズオン第4章UnityとBlenderハンズオン第4章
UnityとBlenderハンズオン第4章
 
UnityとBlenderハンズオン第3章
 UnityとBlenderハンズオン第3章 UnityとBlenderハンズオン第3章
UnityとBlenderハンズオン第3章
 
UnityとBlenderハンズオン第2章
UnityとBlenderハンズオン第2章UnityとBlenderハンズオン第2章
UnityとBlenderハンズオン第2章
 
UnityとBlenderハンズオン第1章
UnityとBlenderハンズオン第1章UnityとBlenderハンズオン第1章
UnityとBlenderハンズオン第1章
 
実践コンピュータビジョン 3章 画像間の写像
実践コンピュータビジョン 3章 画像間の写像実践コンピュータビジョン 3章 画像間の写像
実践コンピュータビジョン 3章 画像間の写像
 
静岡Developers勉強会 入門機械学習
静岡Developers勉強会 入門機械学習静岡Developers勉強会 入門機械学習
静岡Developers勉強会 入門機械学習
 
JavaScriptの正規表現
JavaScriptの正規表現JavaScriptの正規表現
JavaScriptの正規表現
 
Windows8 最新技術動向
Windows8 最新技術動向Windows8 最新技術動向
Windows8 最新技術動向
 
静岡Developers勉強会 HTML5&CSS3
静岡Developers勉強会 HTML5&CSS3静岡Developers勉強会 HTML5&CSS3
静岡Developers勉強会 HTML5&CSS3
 
プログラミングHaskell(第2章)
プログラミングHaskell(第2章)プログラミングHaskell(第2章)
プログラミングHaskell(第2章)
 
プログラミングHaskell(第1章)
プログラミングHaskell(第1章)プログラミングHaskell(第1章)
プログラミングHaskell(第1章)
 
設計時の見落とし
設計時の見落とし設計時の見落とし
設計時の見落とし
 
掲示板を見よう
掲示板を見よう掲示板を見よう
掲示板を見よう
 
北斗の拳の世界をオブジェクト指向で
北斗の拳の世界をオブジェクト指向で北斗の拳の世界をオブジェクト指向で
北斗の拳の世界をオブジェクト指向で
 
ドラえもんの世界をオブジェクト指向で
ドラえもんの世界をオブジェクト指向でドラえもんの世界をオブジェクト指向で
ドラえもんの世界をオブジェクト指向で
 

TensorFlowによるFizz Buzz