Submit Search
Upload
システム開発素人が深層学習を用いた画像認識で麻雀点数計算するLINEbotを作ったハナシ
•
5 likes
•
3,730 views
BrainPad Inc.
Follow
Python JP 2018用資料 システム開発素人が深層学習を用いた画像認識で麻雀点数計算するLINEbotを作ったハナシ
Read less
Read more
Engineering
Report
Share
Report
Share
1 of 29
Download now
Download to read offline
Recommended
大規模言語モデルとChatGPT
大規模言語モデルとChatGPT
nlab_utokyo
深層学習による自然言語処理入門: word2vecからBERT, GPT-3まで
深層学習による自然言語処理入門: word2vecからBERT, GPT-3まで
Yahoo!デベロッパーネットワーク
「新しいおうち探し」のためのAIアシスト検索 #yjtc
「新しいおうち探し」のためのAIアシスト検索 #yjtc
Yahoo!デベロッパーネットワーク
ヤフーでは開発迅速性と品質のバランスをどう取ってるか
ヤフーでは開発迅速性と品質のバランスをどう取ってるか
Yahoo!デベロッパーネットワーク
情報共有は、なぜGoogle Docsじゃなく、 Confluenceなのか。
情報共有は、なぜGoogle Docsじゃなく、 Confluenceなのか。
Narichika Kajihara
あなたのチームの「いい人」は機能していますか?
あなたのチームの「いい人」は機能していますか?
Minoru Yokomichi
人工知能技術を用いた各医学画像処理の基礎 (2022/09/09)
人工知能技術を用いた各医学画像処理の基礎 (2022/09/09)
Yutaka KATAYAMA
関数プログラマから見たPythonと機械学習
関数プログラマから見たPythonと機械学習
Masahiro Sakai
Recommended
大規模言語モデルとChatGPT
大規模言語モデルとChatGPT
nlab_utokyo
深層学習による自然言語処理入門: word2vecからBERT, GPT-3まで
深層学習による自然言語処理入門: word2vecからBERT, GPT-3まで
Yahoo!デベロッパーネットワーク
「新しいおうち探し」のためのAIアシスト検索 #yjtc
「新しいおうち探し」のためのAIアシスト検索 #yjtc
Yahoo!デベロッパーネットワーク
ヤフーでは開発迅速性と品質のバランスをどう取ってるか
ヤフーでは開発迅速性と品質のバランスをどう取ってるか
Yahoo!デベロッパーネットワーク
情報共有は、なぜGoogle Docsじゃなく、 Confluenceなのか。
情報共有は、なぜGoogle Docsじゃなく、 Confluenceなのか。
Narichika Kajihara
あなたのチームの「いい人」は機能していますか?
あなたのチームの「いい人」は機能していますか?
Minoru Yokomichi
人工知能技術を用いた各医学画像処理の基礎 (2022/09/09)
人工知能技術を用いた各医学画像処理の基礎 (2022/09/09)
Yutaka KATAYAMA
関数プログラマから見たPythonと機械学習
関数プログラマから見たPythonと機械学習
Masahiro Sakai
フロントエンドで GraphQLを使った所感
フロントエンドで GraphQLを使った所感
Chao Li
Getting started with MLOps
Getting started with MLOps
yusuke shibui
レコメンドエンジン作成コンテストの勝ち方
レコメンドエンジン作成コンテストの勝ち方
Shun Nukui
機械学習をScrumで組織的に学習する (RSGT2022)
機械学習をScrumで組織的に学習する (RSGT2022)
Yukio Okajima
プロダクトオーナーが知るべき97のこと
プロダクトオーナーが知るべき97のこと
toshihiro ichitani
アジャイルな見積りと計画づくり勉強会
アジャイルな見積りと計画づくり勉強会
Arata Fujimura
最新業界事情から見るデータサイエンティストの「実像」
最新業界事情から見るデータサイエンティストの「実像」
Takashi J OZAKI
Kafka vs Pulsar @KafkaMeetup_20180316
Kafka vs Pulsar @KafkaMeetup_20180316
Nozomi Kurihara
アジャイル開発の原則を守りつつ、マルチサイト開発を行なう!
アジャイル開発の原則を守りつつ、マルチサイト開発を行なう!
Arata Fujimura
なぜコンピュータを学ばなければならないのか 21世紀の君主論
なぜコンピュータを学ばなければならないのか 21世紀の君主論
Tokoroten Nakayama
製造業検品AI化事業提案書
製造業検品AI化事業提案書
広平 田村
プラクティス厨から始めるアジャイル開発
プラクティス厨から始めるアジャイル開発
Arata Fujimura
新人研修資料 向き合うエンジニア
新人研修資料 向き合うエンジニア
akira6592
Modern C# Programming 現代的なC#の書き方、ライブラリの選び方
Modern C# Programming 現代的なC#の書き方、ライブラリの選び方
Yoshifumi Kawai
GTMF 2017:プランナーが見るべきKPIとシリコンスタジオの分析ノウハウ シリコンスタジオ株式会社
GTMF 2017:プランナーが見るべきKPIとシリコンスタジオの分析ノウハウ シリコンスタジオ株式会社
Game Tools & Middleware Forum
Python x ハードウェアの可能性
Python x ハードウェアの可能性
karaage0703
スマホマーケットの概要と、マーケティングの失敗例と改善 (アナリティクス アソシエーション 特別セミナー)
スマホマーケットの概要と、マーケティングの失敗例と改善 (アナリティクス アソシエーション 特別セミナー)
Tokoroten Nakayama
SecurityCamp2015「バグハンティング入門」
SecurityCamp2015「バグハンティング入門」
Masato Kinugawa
モダンオフショア開発のすすめ
モダンオフショア開発のすすめ
Arata Fujimura
先端技術とメディア表現1 #FTMA15
先端技術とメディア表現1 #FTMA15
Yoichi Ochiai
GDG2018 vision kit mahjong
GDG2018 vision kit mahjong
Rio Kurihara
Tokyo.R女子部発表スライド「Rではじめるデータ解析の超基礎」
Tokyo.R女子部発表スライド「Rではじめるデータ解析の超基礎」
tokyorgirls
More Related Content
What's hot
フロントエンドで GraphQLを使った所感
フロントエンドで GraphQLを使った所感
Chao Li
Getting started with MLOps
Getting started with MLOps
yusuke shibui
レコメンドエンジン作成コンテストの勝ち方
レコメンドエンジン作成コンテストの勝ち方
Shun Nukui
機械学習をScrumで組織的に学習する (RSGT2022)
機械学習をScrumで組織的に学習する (RSGT2022)
Yukio Okajima
プロダクトオーナーが知るべき97のこと
プロダクトオーナーが知るべき97のこと
toshihiro ichitani
アジャイルな見積りと計画づくり勉強会
アジャイルな見積りと計画づくり勉強会
Arata Fujimura
最新業界事情から見るデータサイエンティストの「実像」
最新業界事情から見るデータサイエンティストの「実像」
Takashi J OZAKI
Kafka vs Pulsar @KafkaMeetup_20180316
Kafka vs Pulsar @KafkaMeetup_20180316
Nozomi Kurihara
アジャイル開発の原則を守りつつ、マルチサイト開発を行なう!
アジャイル開発の原則を守りつつ、マルチサイト開発を行なう!
Arata Fujimura
なぜコンピュータを学ばなければならないのか 21世紀の君主論
なぜコンピュータを学ばなければならないのか 21世紀の君主論
Tokoroten Nakayama
製造業検品AI化事業提案書
製造業検品AI化事業提案書
広平 田村
プラクティス厨から始めるアジャイル開発
プラクティス厨から始めるアジャイル開発
Arata Fujimura
新人研修資料 向き合うエンジニア
新人研修資料 向き合うエンジニア
akira6592
Modern C# Programming 現代的なC#の書き方、ライブラリの選び方
Modern C# Programming 現代的なC#の書き方、ライブラリの選び方
Yoshifumi Kawai
GTMF 2017:プランナーが見るべきKPIとシリコンスタジオの分析ノウハウ シリコンスタジオ株式会社
GTMF 2017:プランナーが見るべきKPIとシリコンスタジオの分析ノウハウ シリコンスタジオ株式会社
Game Tools & Middleware Forum
Python x ハードウェアの可能性
Python x ハードウェアの可能性
karaage0703
スマホマーケットの概要と、マーケティングの失敗例と改善 (アナリティクス アソシエーション 特別セミナー)
スマホマーケットの概要と、マーケティングの失敗例と改善 (アナリティクス アソシエーション 特別セミナー)
Tokoroten Nakayama
SecurityCamp2015「バグハンティング入門」
SecurityCamp2015「バグハンティング入門」
Masato Kinugawa
モダンオフショア開発のすすめ
モダンオフショア開発のすすめ
Arata Fujimura
先端技術とメディア表現1 #FTMA15
先端技術とメディア表現1 #FTMA15
Yoichi Ochiai
What's hot
(20)
フロントエンドで GraphQLを使った所感
フロントエンドで GraphQLを使った所感
Getting started with MLOps
Getting started with MLOps
レコメンドエンジン作成コンテストの勝ち方
レコメンドエンジン作成コンテストの勝ち方
機械学習をScrumで組織的に学習する (RSGT2022)
機械学習をScrumで組織的に学習する (RSGT2022)
プロダクトオーナーが知るべき97のこと
プロダクトオーナーが知るべき97のこと
アジャイルな見積りと計画づくり勉強会
アジャイルな見積りと計画づくり勉強会
最新業界事情から見るデータサイエンティストの「実像」
最新業界事情から見るデータサイエンティストの「実像」
Kafka vs Pulsar @KafkaMeetup_20180316
Kafka vs Pulsar @KafkaMeetup_20180316
アジャイル開発の原則を守りつつ、マルチサイト開発を行なう!
アジャイル開発の原則を守りつつ、マルチサイト開発を行なう!
なぜコンピュータを学ばなければならないのか 21世紀の君主論
なぜコンピュータを学ばなければならないのか 21世紀の君主論
製造業検品AI化事業提案書
製造業検品AI化事業提案書
プラクティス厨から始めるアジャイル開発
プラクティス厨から始めるアジャイル開発
新人研修資料 向き合うエンジニア
新人研修資料 向き合うエンジニア
Modern C# Programming 現代的なC#の書き方、ライブラリの選び方
Modern C# Programming 現代的なC#の書き方、ライブラリの選び方
GTMF 2017:プランナーが見るべきKPIとシリコンスタジオの分析ノウハウ シリコンスタジオ株式会社
GTMF 2017:プランナーが見るべきKPIとシリコンスタジオの分析ノウハウ シリコンスタジオ株式会社
Python x ハードウェアの可能性
Python x ハードウェアの可能性
スマホマーケットの概要と、マーケティングの失敗例と改善 (アナリティクス アソシエーション 特別セミナー)
スマホマーケットの概要と、マーケティングの失敗例と改善 (アナリティクス アソシエーション 特別セミナー)
SecurityCamp2015「バグハンティング入門」
SecurityCamp2015「バグハンティング入門」
モダンオフショア開発のすすめ
モダンオフショア開発のすすめ
先端技術とメディア表現1 #FTMA15
先端技術とメディア表現1 #FTMA15
Similar to システム開発素人が深層学習を用いた画像認識で麻雀点数計算するLINEbotを作ったハナシ
GDG2018 vision kit mahjong
GDG2018 vision kit mahjong
Rio Kurihara
Tokyo.R女子部発表スライド「Rではじめるデータ解析の超基礎」
Tokyo.R女子部発表スライド「Rではじめるデータ解析の超基礎」
tokyorgirls
DBエンジニアに必要だったPythonのスキル
DBエンジニアに必要だったPythonのスキル
Satoshi Yamada
ownCloudについて
ownCloudについて
Shinya Saita
PyCharm入門
PyCharm入門
Yuki Nagai
Orientation
Orientation
Takeshi Akutsu
元BIエバンジェリストが語る!脱獄matplot!
元BIエバンジェリストが語る!脱獄matplot!
ReNom User Group
Rubyの会社でPythonistaが3ヶ月生き延びた話
Rubyの会社でPythonistaが3ヶ月生き延びた話
Tokoroten Nakayama
Rubyの会社でPythonistaが三ヶ月生き延びた話
Rubyの会社でPythonistaが三ヶ月生き延びた話
Drecom Co., Ltd.
Pythonではじめる野球プログラミング PyCon JP 2014 9/14 Talk Session
Pythonではじめる野球プログラミング PyCon JP 2014 9/14 Talk Session
Shinichi Nakagawa
20200330_RPALT広島#5_RPA徒然草~あやしうこそものぐるほしけれ
20200330_RPALT広島#5_RPA徒然草~あやしうこそものぐるほしけれ
Naoko Shinagawa
PredictionIOのPython対応計画
PredictionIOのPython対応計画
Shinsuke Sugaya
東方ゲームAIとその歴史
東方ゲームAIとその歴史
ide_an
211120 他人の書いたPythonスクリプトをステップ実行で理解する
211120 他人の書いたPythonスクリプトをステップ実行で理解する
Takuya Nishimoto
匠Methodをサポートする事業開発に役立つ書籍たちを紹介します
匠Methodをサポートする事業開発に役立つ書籍たちを紹介します
Haruo Sato
Python学習奮闘記#07 webapp
Python学習奮闘記#07 webapp
Takeshi Akutsu
ゲーム制作における素材作成.pdf
ゲーム制作における素材作成.pdf
ssuser5583eb
TypeScriptで作る型安全FirefoxOSアプリ
TypeScriptで作る型安全FirefoxOSアプリ
progre
Watson summit 公開用
Watson summit 公開用
Izumi Akiyama
[クリエイティブハント2018]LT 道場破りしたらできちゃった/// #ゴーハント
[クリエイティブハント2018]LT 道場破りしたらできちゃった/// #ゴーハント
Hiroyuki Ishikawa
Similar to システム開発素人が深層学習を用いた画像認識で麻雀点数計算するLINEbotを作ったハナシ
(20)
GDG2018 vision kit mahjong
GDG2018 vision kit mahjong
Tokyo.R女子部発表スライド「Rではじめるデータ解析の超基礎」
Tokyo.R女子部発表スライド「Rではじめるデータ解析の超基礎」
DBエンジニアに必要だったPythonのスキル
DBエンジニアに必要だったPythonのスキル
ownCloudについて
ownCloudについて
PyCharm入門
PyCharm入門
Orientation
Orientation
元BIエバンジェリストが語る!脱獄matplot!
元BIエバンジェリストが語る!脱獄matplot!
Rubyの会社でPythonistaが3ヶ月生き延びた話
Rubyの会社でPythonistaが3ヶ月生き延びた話
Rubyの会社でPythonistaが三ヶ月生き延びた話
Rubyの会社でPythonistaが三ヶ月生き延びた話
Pythonではじめる野球プログラミング PyCon JP 2014 9/14 Talk Session
Pythonではじめる野球プログラミング PyCon JP 2014 9/14 Talk Session
20200330_RPALT広島#5_RPA徒然草~あやしうこそものぐるほしけれ
20200330_RPALT広島#5_RPA徒然草~あやしうこそものぐるほしけれ
PredictionIOのPython対応計画
PredictionIOのPython対応計画
東方ゲームAIとその歴史
東方ゲームAIとその歴史
211120 他人の書いたPythonスクリプトをステップ実行で理解する
211120 他人の書いたPythonスクリプトをステップ実行で理解する
匠Methodをサポートする事業開発に役立つ書籍たちを紹介します
匠Methodをサポートする事業開発に役立つ書籍たちを紹介します
Python学習奮闘記#07 webapp
Python学習奮闘記#07 webapp
ゲーム制作における素材作成.pdf
ゲーム制作における素材作成.pdf
TypeScriptで作る型安全FirefoxOSアプリ
TypeScriptで作る型安全FirefoxOSアプリ
Watson summit 公開用
Watson summit 公開用
[クリエイティブハント2018]LT 道場破りしたらできちゃった/// #ゴーハント
[クリエイティブハント2018]LT 道場破りしたらできちゃった/// #ゴーハント
More from BrainPad Inc.
Oss LT会_20210203
Oss LT会_20210203
BrainPad Inc.
Business utilization of real estate image classification system using deep le...
Business utilization of real estate image classification system using deep le...
BrainPad Inc.
ブレインパッドにおける機械学習プロジェクトの進め方
ブレインパッドにおける機械学習プロジェクトの進め方
BrainPad Inc.
機械学習システムのアーキテクチャアラカルト
機械学習システムのアーキテクチャアラカルト
BrainPad Inc.
機械学習システム開発案件の事例紹介
機械学習システム開発案件の事例紹介
BrainPad Inc.
れこめん道~とあるエンジニアの苦闘の日々
れこめん道~とあるエンジニアの苦闘の日々
BrainPad Inc.
DMPの分析機能を実現する技術
DMPの分析機能を実現する技術
BrainPad Inc.
機械学習システムを受託開発 する時に気をつけておきたい事
機械学習システムを受託開発 する時に気をつけておきたい事
BrainPad Inc.
Python研修の作り方 - teaching-is_learning-
Python研修の作り方 - teaching-is_learning-
BrainPad Inc.
2018 builderscon airflowを用いて、 複雑大規模なジョブフロー管理 に立ち向かう
2018 builderscon airflowを用いて、 複雑大規模なジョブフロー管理 に立ち向かう
BrainPad Inc.
2018.08.21-機械学習工学研究会 現場を交えた勉強会発表資料
2018.08.21-機械学習工学研究会 現場を交えた勉強会発表資料
BrainPad Inc.
GKEとgRPCで実装する多言語対応・スケーラブルな内部API
GKEとgRPCで実装する多言語対応・スケーラブルな内部API
BrainPad Inc.
実証実験報告セミナー資料 20180328(抜粋版)
実証実験報告セミナー資料 20180328(抜粋版)
BrainPad Inc.
エンジニア勉強会資料_⑥エンジニアが主導する組織マネジメントや開発体制の継続的改善
エンジニア勉強会資料_⑥エンジニアが主導する組織マネジメントや開発体制の継続的改善
BrainPad Inc.
エンジニア勉強会資料_⑤広告プロダクトとプラットフォームの開発
エンジニア勉強会資料_⑤広告プロダクトとプラットフォームの開発
BrainPad Inc.
エンジニア勉強会資料_④Rtoaster×Myndエンジンによる興味キーワード分析機能開発事例
エンジニア勉強会資料_④Rtoaster×Myndエンジンによる興味キーワード分析機能開発事例
BrainPad Inc.
エンジニア勉強会資料_③Rtoasterの11年
エンジニア勉強会資料_③Rtoasterの11年
BrainPad Inc.
エンジニア勉強会資料_②エンジニア・デザイナ・プロダクトオーナーが推薦するプロトタイプドリブン開発
エンジニア勉強会資料_②エンジニア・デザイナ・プロダクトオーナーが推薦するプロトタイプドリブン開発
BrainPad Inc.
エンジニア勉強会資料_①ブレインパッドの中で僕たちは何を開発しているのか?
エンジニア勉強会資料_①ブレインパッドの中で僕たちは何を開発しているのか?
BrainPad Inc.
Big Data Analytics Tokyo講演資料
Big Data Analytics Tokyo講演資料
BrainPad Inc.
More from BrainPad Inc.
(20)
Oss LT会_20210203
Oss LT会_20210203
Business utilization of real estate image classification system using deep le...
Business utilization of real estate image classification system using deep le...
ブレインパッドにおける機械学習プロジェクトの進め方
ブレインパッドにおける機械学習プロジェクトの進め方
機械学習システムのアーキテクチャアラカルト
機械学習システムのアーキテクチャアラカルト
機械学習システム開発案件の事例紹介
機械学習システム開発案件の事例紹介
れこめん道~とあるエンジニアの苦闘の日々
れこめん道~とあるエンジニアの苦闘の日々
DMPの分析機能を実現する技術
DMPの分析機能を実現する技術
機械学習システムを受託開発 する時に気をつけておきたい事
機械学習システムを受託開発 する時に気をつけておきたい事
Python研修の作り方 - teaching-is_learning-
Python研修の作り方 - teaching-is_learning-
2018 builderscon airflowを用いて、 複雑大規模なジョブフロー管理 に立ち向かう
2018 builderscon airflowを用いて、 複雑大規模なジョブフロー管理 に立ち向かう
2018.08.21-機械学習工学研究会 現場を交えた勉強会発表資料
2018.08.21-機械学習工学研究会 現場を交えた勉強会発表資料
GKEとgRPCで実装する多言語対応・スケーラブルな内部API
GKEとgRPCで実装する多言語対応・スケーラブルな内部API
実証実験報告セミナー資料 20180328(抜粋版)
実証実験報告セミナー資料 20180328(抜粋版)
エンジニア勉強会資料_⑥エンジニアが主導する組織マネジメントや開発体制の継続的改善
エンジニア勉強会資料_⑥エンジニアが主導する組織マネジメントや開発体制の継続的改善
エンジニア勉強会資料_⑤広告プロダクトとプラットフォームの開発
エンジニア勉強会資料_⑤広告プロダクトとプラットフォームの開発
エンジニア勉強会資料_④Rtoaster×Myndエンジンによる興味キーワード分析機能開発事例
エンジニア勉強会資料_④Rtoaster×Myndエンジンによる興味キーワード分析機能開発事例
エンジニア勉強会資料_③Rtoasterの11年
エンジニア勉強会資料_③Rtoasterの11年
エンジニア勉強会資料_②エンジニア・デザイナ・プロダクトオーナーが推薦するプロトタイプドリブン開発
エンジニア勉強会資料_②エンジニア・デザイナ・プロダクトオーナーが推薦するプロトタイプドリブン開発
エンジニア勉強会資料_①ブレインパッドの中で僕たちは何を開発しているのか?
エンジニア勉強会資料_①ブレインパッドの中で僕たちは何を開発しているのか?
Big Data Analytics Tokyo講演資料
Big Data Analytics Tokyo講演資料
システム開発素人が深層学習を用いた画像認識で麻雀点数計算するLINEbotを作ったハナシ
1.
システム開発素人が深層学習を用いた 画像認識で麻雀点数計算する LINEbotを作ったハナシ #flask #Heroku #物体検出
#SSD Rio Kurihara
2.
2 栗原 理央(Rio Kurihara) •
株式会社ブレインパッド • アナリティクスサービス部 データサイエンティスト • 2016年入社(新卒3年目) • 経験分野 • 自然言語処理 • 画像処理 • 需要予測 • 統計モデリング/機械学習/深層学習 • Not エンジニアリング http://free-illustrations.gatag.net/ https://www.pakutaso.com/ https://free-materials.com/ 好きなこと普段使っている主な言語・ツール
3.
3 突然ですが
4.
4 麻雀が好きです (ぶっちゃけ下手の横好きですが)
5.
5 も好きです
6.
6 深層学習を業務で使ってます
7.
7 最近エンジニアリング、モノ作りに 興味があります
8.
8 麻雀、Python、深層学習で 何か動くものが作りたい
9.
9 30符 4翻 7,700点! 和了時の画像をカメラで 撮ったら自動で点数計算 してくれる君を作ろう
10.
10 麻雀点数計算チャットボット概要 ※お遊びで始まり、未だお遊びの域を出ていない Input(画像) 牌の識別 役名 1p 2p
3p … 8m 9m p f c 平和 1 1 1 … 0 0 0 0 0 断ヤオ 0 1 1 … 1 0 0 0 0 混一 0 0 0 … 1 1 3 0 0 点数計算 ルールベース 深層学習
11.
11 今日言いたいこと • 今回は機械学習モデルの開発はほぼ苦労していない • 厄介だったのは機械学習モデルの載ったアプリの開発 •
HerokuとLINE APIの仕様のコンボに苦しめられた • とはいえ素人でもPythonで一貫してアプリ作れた • あわよくば一緒に開発してくれる人いませんか
12.
12 みんな大好きSSD 原文:https://arxiv.org/pdf/1512.02325.pdf 論文和訳:https://qiita.com/de0ta/items/1ae60878c0e177fc7a3a • 深層学習の物体検出アルゴリズム • 画像中の「どこに」「何が」あるかを予測する
13.
13 工夫したのは学習データの作成 • アノテーションは本当に辛い。最低でも数百枚は必要 → 34種類の牌画像だけ撮影し、あとはランダムに配置するだけ 牌画像
学習用画像
14.
14 SSDによる物体検出のめちゃくちゃ精度良かった!
15.
15 SSDによる物体検出のめちゃくちゃ精度良かった! イケてる
16.
16 よっしゃアプリにしたろ
17.
17 LINEbotのシステム構成図 ユーザー LINE bot 画像 送信受信 Call
back URL 画像送信 herokuサーバ 学習 GPGPU 推論
18.
18 LINE bot開発、難航
19.
19 Heroku/LINE Messagng APIの 仕様のコンボにやられまくる ※どちらもフリープラン故の制約
20.
20 / カネ払えば解決するんじゃね? \ / 趣味でやってるわけで・・・ なるべくお金はかけたくないのよ・・・ \
21.
21 Herokuフリープランによる制限 ユーザー LINE bot
サーバ 画像 送信受信 Call back URL 画像送信 herokuサーバ 学習 GPGPU 推論 アプリの立ち上げに 60秒以上かかると dynoが強制再起動 される アプリ立ち上げ時にモデルビルド するなってこと・・・?
22.
22 Herokuフリープランによる制限 ユーザー LINE bot
サーバ 画像 送信受信 Call back URL 画像送信 herokuサーバ 学習 GPGPU 推論 100MB以上の ファイルはおけない 深層学習モデル、 普通に100MB超えるんだけど・・・
23.
23 Herokuフリープランによる制限 ユーザー LINE bot
サーバ 画像 送信受信 Call back URL 画像送信 herokuサーバ 学習 GPGPU 推論 画像 送信受信 S3 外部から引っ張ってくれば ええんやろ
24.
24 LINE Messagng API
フリープランによる制限 ユーザー LINE bot サーバ 画像 送信受信 Call back URL 画像送信 herokuサーバ 学習 GPGPU 推論 Replyできるのは ユーザーアクションから 30秒以内に1度だけ 深層学習モデルのロード/ビルド、 推論は30秒じゃ終わらないヨ 画像 送信受信 S3
25.
25 Herokuフリープランによる制限 ユーザー LINE bot
サーバ 画像 送信受信 Call back URL 画像送信 herokuサーバ 学習 GPGPU 推論 画像 送信受信 S3 メモリが512MBを 超えるとスワップが 発生して処理が もっさりする 何を言ってるの・・・?
26.
26 結局どうしたのか?実際の画面と仕様感(1/2) ユーザーアクションから30秒以内にReplyしないといけない & アプリ起動時に60秒以上かかると強制再起動がかかる 「もでるびるど」とユーザーが打ち込むと 深層学習モデルがビルドされる謎の仕様 実際の画面 Herokuのログ(モデルファイルをS3からロードしている)
27.
27 結局どうしたのか?実際の画面と仕様感(2/2) その後、計算したい画像を送ると 検出結果の画像と点数がテキス トで返ってくる 実際の画面
28.
28 おまけの煽り機能(開発途中) 安目で上がったら煽ってくる 実際の画面
29.
29 まとめ • 改善の余地しかないですが、これからも(できれば)Python一本で開発頑張 ります • 機械学習モデルをアプリケーションに載せるためのノウハウがもっと共有される世 の中になれば良いな 深層学習
麻雀詳しい話は →
Download now