SlideShare a Scribd company logo
Deep Learning
API By Keras
and Flask
On June 1, 2018 at Shibuya
supported by CoLab
WATANABE Naoki
自己紹介
2
渡邊直樹
2017- スタートアップ創業など
2016-2017 IBMで研究開発
2010-2016 東大でCERNの素粒子実験開発
● スキューバのライセンスホルダー
● シドニーマラソン2017完走
● 富士下山90分
● 40以上の国を訪問
● 400+冊の読書 (2017)
● 自然語学の勉強が趣味
Colabではtinder自動操作についてのLT経験あり。
3
目次
1. API
1. APIが何かを知る
2. Flaskで画像アップローダーを作る
2. Deep Learning
1. Deep Learningが何かを知る
2. VGGで画像認識を行う
3. Deep Learningを使ったAPIを作る
4
pipインストールを前提とするもの
● Flask
● Tensorflow
● Keras
● PIllow
*Python 3.6.1
5
スライド中のソースコードは全てgistにあります
https://gist.github.com/asterisk37n/e139272963f1bd
659fcd532a35c59978
短縮アドレスからアクセスすると便利です:
https://goo.gl/davdv1
6
1.APIを理解して
Flaskで実装するWhat is API and How to make it?
APIはサーバーとクライアントをつなぐもの
8
APIの具体例1/2: Twitter
9
10
APIの具体例2/2: 郵便番号
Flaskでminimalなwebサービスを作る
11
わずか7行のapp.pyを書きpython app.pyで実行
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello, World!'
if __name__ == '__main__':
app.run()
12
URL
html
contents
start
server
Go to http://localhost:5000, and see
13
エンドポイントを追加する
14
15
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return 'Index Page'
@app.route('/hello')
def hello():
return 'Hello, World'
@app.route('/users/<username>')
def show_user_profile(username):
# show the user profile for that user
return 'User %s' % username
if __name__ == '__main__':
app.run()
16
17
18
REST APIぽくする
19
20
from flask import Flask, jsonify
app = Flask(__name__)
@app.route('/users')
@app.route('/users/<int:id>')
def users(id=None):
print(id)
users = [
{'id': 1, 'name': 'Alice'},
{'id': 2, 'name': 'Bob'},
{'id': 3, 'name': 'Charlie'}]
if id is None:
return jsonify(users)
elif isinstance(id, int) and 1 <= id <= 3:
return jsonify({'id': id, 'name': users[id-1]['name']})
else:
return jsonify({})
if __name__ == '__main__':
app.run()
21
22
23
画像をPOSTする
(ただし、responseはファイル名)
24
25
26
27
28
2. Deep learningの
概念を理解する。
Kerasを使う。
How deep learning works and how to use it
ディープラーニングとは何かを知る
30
31
人間の脳を数学で模倣したらどうなるだろうか
32
Deep learningとは脳を模倣したモデル
33
大量のデータによる学習で重みを調整
(Back propagation)
34
画像では、畳み込み層で特徴を抽出する
35
36
全結合層
37
ニューロンの発火(値が大きいと次に伝播)は
activatorで模倣
38
画像の例。入力画像のピクセル一つ一つが入力。
39
ディープラーニングには学習が必要
1. データの用意
2. ネットワークの学習
3. ネットワークの精度を確認
40
● GoogLeNet
● Xception
● ResNet50
● InceptionV3
● VGG16
● VGG19
など。
ただし、学習済みのネットワークが公開されている
41
Kerasでは一部の学習済みモデルが簡単に利用可能
from keras.applications.xception import Xception
from keras.applications.vgg16 import VGG16
from keras.applications.vgg19 import VGG19
from keras.applications.resnet50 import ResNet50
from keras.applications.inception_v3 import InceptionV3
model = VGG16(weights='imagenet', include_top=True)
42
VGG16
● ImageNet Large Scale Visual Recognition Challengeが初出 (2014)
● 13層の畳み込み層
● 3層のフル結合層
● 1000種類の画像を認識
● 知られたモデルの基礎にVGG16が使われている(写真: keras document)。
43
KerasでVGG16を使い画像を認識させる
44
.
├─ vgg_sample.py
└─ cat.jpg
フォルダ構成
45
まず、VGGモデルの概要を表示(vgg_sample.py)
from keras.applications.vgg16 import VGG16
model = VGG16(weights='imagenet', include_top=True)
print(model.summary())
46
47
画像を認識 (vgg_sample.py)
from keras.applications.vgg16 import VGG16, preprocess_input, decode_predictions
from keras.preprocessing import image
import numpy as np
img_path = 'cat.jpg'
model = VGG16(weights='imagenet', include_top=True)
img = image.load_img(img_path, target_size=(224, 224))
x = image.img_to_array(img)
x = np.expand_dims(x, axis=0)
x = preprocess_input(x)
pred = model.predict(x)
label = decode_predictions(pred)
print(label) 48
Result (正解!)
● Tiger cat (42%)
● Egyptian cat (36%)
● Tabby (12%)
● Lynx (2%)
出力結果は、(imagenetID, ラベル, 確率)のリスト。
49
3. ディープ
ラーニングの
APIを構築する
Response
{
"success":true,
"predictions":[
{
"label":"animal",
"probability":0.7
},
{
"label":"human",
"probability":0.2
},
{
"label":"fish",
"probability":0.1
}
]
}
これから作るVGG API RequestとResponseの定義
Request
{"file":"binary image data"}
51
import os
from flask import Flask, request, redirect, url_for, jsonify, Response
from werkzeug.utils import secure_filename
from keras.applications.vgg16 import VGG16, preprocess_input, decode_predictions
from keras.preprocessing import image
import numpy as np
from PIL import Image
import io
モジュールのimportとモデルの読み込みを構築。
52
appの宣言とモデルの読み込みを構築。
53
app = Flask(__name__)
model = None
def load_model():
global model
model = VGG16(weights='imagenet', include_top=True)
画像を認識する
@app.route('/', methods=['GET', 'POST'])
def upload_file():
response = {'success': False}
if request.method == 'POST':
if request.files.get('file'):
img_requested = request.files['file'].read()
img = Image.open(io.BytesIO(img_requested))
if img.mode != 'RGB':
img = img.convert('RGB')
img = img.resize((224, 224))
img = image.img_to_array(img)
img = np.expand_dims(img, axis=0)
inputs = preprocess_input(img)
preds = model.predict(inputs)
results = decode_predictions(preds) 54
VGGの出力結果をjsonの形に整形する
response['predictions'] = []
for (imagenetID, label, prob) in results[0]:
row = {'label': label, 'probability': float(prob)}
response['predictions'].append(row)
response['success'] = True
return jsonify(response)
55
オプションで、画像のアップロード画面
return '''
<!doctype html>
<title>Upload new File</title>
<h1>Upload new File</h1>
<form method=post enctype=multipart/form-data>
<p><input type=file name=file>
<input type=submit value=Upload>
</form>
'''
56
モデルを読み込み、アプリケーションを実行
(load_modelだけでmodelを読み込むようにしている)
if __name__ == '__main__':
load_model()
# About threaded=False: https://github.com/keras-
team/keras/issues/2397#issuecomment-377914683
# avoid model.predict runs before model initiated
app.run(threaded=False)
57
できあがったAPIにcURLを使ってPOSTリクエスト
58
ブラウザでも確認 (FireFox)
59
他の画像で確認
(ウェルシュ・コーギ
ー・ペンブローク)
60
61
参考文献
Flask Quickstart
http://flask.pocoo.org/docs/1.0/quickstart/
Building a simple Keras + deep learning REST API
https://blog.keras.io/building-a-simple-keras-deep-learning-rest-api.html
Imagenet 1000 classes and labels
https://gist.github.com/aaronpolhamus/964a4411c0906315deb9f4a3723aac57
62
That’s all, folks. Thank you.
63

More Related Content

What's hot

Rustのテストやエコシステム
RustのテストやエコシステムRustのテストやエコシステム
Rustのテストやエコシステム
KiyotomoHiroyasu
 
画像処理でのPythonの利用
画像処理でのPythonの利用画像処理でのPythonの利用
画像処理でのPythonの利用Yasutomo Kawanishi
 
各OSにおいて、OpenCVをpythonから使う方法
各OSにおいて、OpenCVをpythonから使う方法各OSにおいて、OpenCVをpythonから使う方法
各OSにおいて、OpenCVをpythonから使う方法
Katsuhiro Morishita
 
enterprise grails challenge, 2013 Summer
enterprise grails challenge, 2013 Summerenterprise grails challenge, 2013 Summer
enterprise grails challenge, 2013 Summer
Uehara Junji
 
Customizing cargo for cross compiling
Customizing cargo for cross compilingCustomizing cargo for cross compiling
Customizing cargo for cross compiling
emakryo
 
QtとC++でGUIプログラミング
QtとC++でGUIプログラミングQtとC++でGUIプログラミング
QtとC++でGUIプログラミング
seanchas_t
 
Read Groovy Compile process(Groovy Benkyoukai 2013)
Read Groovy Compile process(Groovy Benkyoukai 2013)Read Groovy Compile process(Groovy Benkyoukai 2013)
Read Groovy Compile process(Groovy Benkyoukai 2013)
Uehara Junji
 
Kashiwa.R#1 画像解析とパターン認識における R の利用
Kashiwa.R#1 画像解析とパターン認識における R の利用Kashiwa.R#1 画像解析とパターン認識における R の利用
Kashiwa.R#1 画像解析とパターン認識における R の利用
nmaro
 
Indy(Invokedynamic) and Bytecode DSL and Brainf*ck
Indy(Invokedynamic) and Bytecode DSL and Brainf*ckIndy(Invokedynamic) and Bytecode DSL and Brainf*ck
Indy(Invokedynamic) and Bytecode DSL and Brainf*ck
Uehara Junji
 
RustによるGPUプログラミング環境
RustによるGPUプログラミング環境RustによるGPUプログラミング環境
RustによるGPUプログラミング環境
KiyotomoHiroyasu
 
Rxに入門しようとしている
Rxに入門しようとしているRxに入門しようとしている
Rxに入門しようとしている
onotchi_
 
vImageのススメ(改訂版)
vImageのススメ(改訂版)vImageのススメ(改訂版)
vImageのススメ(改訂版)Shuichi Tsutsumi
 
[DL輪読会]StyleGAN-NADA: CLIP-Guided Domain Adaptation of Image Generators
[DL輪読会]StyleGAN-NADA: CLIP-Guided Domain Adaptation of Image Generators[DL輪読会]StyleGAN-NADA: CLIP-Guided Domain Adaptation of Image Generators
[DL輪読会]StyleGAN-NADA: CLIP-Guided Domain Adaptation of Image Generators
Deep Learning JP
 
XML-RPC : Pythonが「電池付属」と呼ばれる理由
XML-RPC : Pythonが「電池付属」と呼ばれる理由XML-RPC : Pythonが「電池付属」と呼ばれる理由
XML-RPC : Pythonが「電池付属」と呼ばれる理由
Ransui Iso
 
(Pythonで作って学ぶ) Youtube の動画リストを作るアプリの開発 
第4回
(Pythonで作って学ぶ) Youtube の動画リストを作るアプリの開発 
第4回(Pythonで作って学ぶ) Youtube の動画リストを作るアプリの開発 
第4回
(Pythonで作って学ぶ) Youtube の動画リストを作るアプリの開発 
第4回
Project Samurai
 
Rustで3D graphics programming
Rustで3D graphics programmingRustで3D graphics programming
Rustで3D graphics programming
KiyotomoHiroyasu
 
画像処理の高性能計算
画像処理の高性能計算画像処理の高性能計算
画像処理の高性能計算
Norishige Fukushima
 
SappoRoR#7 Rを用いた画像処理入門 -胸部X線の経時的差分画像-
SappoRoR#7 Rを用いた画像処理入門 -胸部X線の経時的差分画像-SappoRoR#7 Rを用いた画像処理入門 -胸部X線の経時的差分画像-
SappoRoR#7 Rを用いた画像処理入門 -胸部X線の経時的差分画像-
昌彦 飛騨
 
PythonによるWebスクレイピング入門
PythonによるWebスクレイピング入門PythonによるWebスクレイピング入門
PythonによるWebスクレイピング入門
Hironori Sekine
 
コンピュータビジョン 1章
コンピュータビジョン 1章コンピュータビジョン 1章
コンピュータビジョン 1章
motimune
 

What's hot (20)

Rustのテストやエコシステム
RustのテストやエコシステムRustのテストやエコシステム
Rustのテストやエコシステム
 
画像処理でのPythonの利用
画像処理でのPythonの利用画像処理でのPythonの利用
画像処理でのPythonの利用
 
各OSにおいて、OpenCVをpythonから使う方法
各OSにおいて、OpenCVをpythonから使う方法各OSにおいて、OpenCVをpythonから使う方法
各OSにおいて、OpenCVをpythonから使う方法
 
enterprise grails challenge, 2013 Summer
enterprise grails challenge, 2013 Summerenterprise grails challenge, 2013 Summer
enterprise grails challenge, 2013 Summer
 
Customizing cargo for cross compiling
Customizing cargo for cross compilingCustomizing cargo for cross compiling
Customizing cargo for cross compiling
 
QtとC++でGUIプログラミング
QtとC++でGUIプログラミングQtとC++でGUIプログラミング
QtとC++でGUIプログラミング
 
Read Groovy Compile process(Groovy Benkyoukai 2013)
Read Groovy Compile process(Groovy Benkyoukai 2013)Read Groovy Compile process(Groovy Benkyoukai 2013)
Read Groovy Compile process(Groovy Benkyoukai 2013)
 
Kashiwa.R#1 画像解析とパターン認識における R の利用
Kashiwa.R#1 画像解析とパターン認識における R の利用Kashiwa.R#1 画像解析とパターン認識における R の利用
Kashiwa.R#1 画像解析とパターン認識における R の利用
 
Indy(Invokedynamic) and Bytecode DSL and Brainf*ck
Indy(Invokedynamic) and Bytecode DSL and Brainf*ckIndy(Invokedynamic) and Bytecode DSL and Brainf*ck
Indy(Invokedynamic) and Bytecode DSL and Brainf*ck
 
RustによるGPUプログラミング環境
RustによるGPUプログラミング環境RustによるGPUプログラミング環境
RustによるGPUプログラミング環境
 
Rxに入門しようとしている
Rxに入門しようとしているRxに入門しようとしている
Rxに入門しようとしている
 
vImageのススメ(改訂版)
vImageのススメ(改訂版)vImageのススメ(改訂版)
vImageのススメ(改訂版)
 
[DL輪読会]StyleGAN-NADA: CLIP-Guided Domain Adaptation of Image Generators
[DL輪読会]StyleGAN-NADA: CLIP-Guided Domain Adaptation of Image Generators[DL輪読会]StyleGAN-NADA: CLIP-Guided Domain Adaptation of Image Generators
[DL輪読会]StyleGAN-NADA: CLIP-Guided Domain Adaptation of Image Generators
 
XML-RPC : Pythonが「電池付属」と呼ばれる理由
XML-RPC : Pythonが「電池付属」と呼ばれる理由XML-RPC : Pythonが「電池付属」と呼ばれる理由
XML-RPC : Pythonが「電池付属」と呼ばれる理由
 
(Pythonで作って学ぶ) Youtube の動画リストを作るアプリの開発 
第4回
(Pythonで作って学ぶ) Youtube の動画リストを作るアプリの開発 
第4回(Pythonで作って学ぶ) Youtube の動画リストを作るアプリの開発 
第4回
(Pythonで作って学ぶ) Youtube の動画リストを作るアプリの開発 
第4回
 
Rustで3D graphics programming
Rustで3D graphics programmingRustで3D graphics programming
Rustで3D graphics programming
 
画像処理の高性能計算
画像処理の高性能計算画像処理の高性能計算
画像処理の高性能計算
 
SappoRoR#7 Rを用いた画像処理入門 -胸部X線の経時的差分画像-
SappoRoR#7 Rを用いた画像処理入門 -胸部X線の経時的差分画像-SappoRoR#7 Rを用いた画像処理入門 -胸部X線の経時的差分画像-
SappoRoR#7 Rを用いた画像処理入門 -胸部X線の経時的差分画像-
 
PythonによるWebスクレイピング入門
PythonによるWebスクレイピング入門PythonによるWebスクレイピング入門
PythonによるWebスクレイピング入門
 
コンピュータビジョン 1章
コンピュータビジョン 1章コンピュータビジョン 1章
コンピュータビジョン 1章
 

Similar to Lecuture on Deep Learning API

Bridging between Vision and Language
Bridging between Vision and LanguageBridging between Vision and Language
Bridging between Vision and Language
Shion Honda
 
A practical guide to machine learning on GCP
A practical guide to machine learning on GCPA practical guide to machine learning on GCP
A practical guide to machine learning on GCP
Hayato Yoshikawa
 
GoImagickThumbnail
GoImagickThumbnailGoImagickThumbnail
GoImagickThumbnail
Yo Ya
 
QGISセミナー初級・実践編(V2.4)
QGISセミナー初級・実践編(V2.4)QGISセミナー初級・実践編(V2.4)
QGISセミナー初級・実践編(V2.4)
IWASAKI NOBUSUKE
 
QGISセミナー初級編 ~QGISの使い方・実践編~ Ver. 2.4版
QGISセミナー初級編 ~QGISの使い方・実践編~ Ver. 2.4版QGISセミナー初級編 ~QGISの使い方・実践編~ Ver. 2.4版
QGISセミナー初級編 ~QGISの使い方・実践編~ Ver. 2.4版
FOSS4G_MEXT
 
リクルートにおける画像解析事例紹介
リクルートにおける画像解析事例紹介リクルートにおける画像解析事例紹介
リクルートにおける画像解析事例紹介
Recruit Technologies
 
リクルートはいかにして、ディープラーニング(深層学習)の導入を成功させたか
リクルートはいかにして、ディープラーニング(深層学習)の導入を成功させたかリクルートはいかにして、ディープラーニング(深層学習)の導入を成功させたか
リクルートはいかにして、ディープラーニング(深層学習)の導入を成功させたか
Recruit Technologies
 
はじめての人のためのDeep Learning
はじめての人のためのDeep Learningはじめての人のためのDeep Learning
はじめての人のためのDeep Learning
Tadaichiro Nakano
 
なにわテック20180127
なにわテック20180127なにわテック20180127
なにわテック20180127
Natsutani Minoru
 
GCPの画像認識APIの紹介
GCPの画像認識APIの紹介 GCPの画像認識APIの紹介
GCPの画像認識APIの紹介
虎の穴 開発室
 
CVPR2018 pix2pixHD論文紹介 (CV勉強会@関東)
CVPR2018 pix2pixHD論文紹介 (CV勉強会@関東)CVPR2018 pix2pixHD論文紹介 (CV勉強会@関東)
CVPR2018 pix2pixHD論文紹介 (CV勉強会@関東)
Tenki Lee
 
pixivのタグ情報+cytoscape+PHPで、「魔法少女まどか☆マギカ」をネットワーク分析
pixivのタグ情報+cytoscape+PHPで、「魔法少女まどか☆マギカ」をネットワーク分析pixivのタグ情報+cytoscape+PHPで、「魔法少女まどか☆マギカ」をネットワーク分析
pixivのタグ情報+cytoscape+PHPで、「魔法少女まどか☆マギカ」をネットワーク分析
Ryuichi Matsumoto
 
TensorFlow Object Detection API を使った取り組み@つくばチャレンジ2017
TensorFlow Object Detection API を使った取り組み@つくばチャレンジ2017TensorFlow Object Detection API を使った取り組み@つくばチャレンジ2017
TensorFlow Object Detection API を使った取り組み@つくばチャレンジ2017
Kazuyuki Arimatsu
 
LIFULL HOME'S「かざして検索」リリースの裏側
LIFULL HOME'S「かざして検索」リリースの裏側LIFULL HOME'S「かざして検索」リリースの裏側
LIFULL HOME'S「かざして検索」リリースの裏側
Takuro Hanawa
 
リクルートにおける画像解析事例紹介と周辺技術紹介
リクルートにおける画像解析事例紹介と周辺技術紹介リクルートにおける画像解析事例紹介と周辺技術紹介
リクルートにおける画像解析事例紹介と周辺技術紹介
Recruit Technologies
 
03 piggyback -by-simple-code-public
03 piggyback -by-simple-code-public03 piggyback -by-simple-code-public
03 piggyback -by-simple-code-public
Smz Nbys
 
株式会社インタースペース 清水様 登壇資料
株式会社インタースペース 清水様 登壇資料株式会社インタースペース 清水様 登壇資料
株式会社インタースペース 清水様 登壇資料
leverages_event
 
仕事で使うちょっとしたコードをOSSとして開発メンテしていく - Django Redshift Backend の開発 - PyCon JP 2016
仕事で使うちょっとしたコードをOSSとして開発メンテしていく- Django Redshift Backend の開発 - PyCon JP 2016仕事で使うちょっとしたコードをOSSとして開発メンテしていく- Django Redshift Backend の開発 - PyCon JP 2016
仕事で使うちょっとしたコードをOSSとして開発メンテしていく - Django Redshift Backend の開発 - PyCon JP 2016
Takayuki Shimizukawa
 
Start python with fastapi
Start python with fastapiStart python with fastapi
Start python with fastapi
ku_taka
 
Vision-and-Language Navigation: Interpreting visually-grounded navigation ins...
Vision-and-Language Navigation: Interpreting visually-grounded navigation ins...Vision-and-Language Navigation: Interpreting visually-grounded navigation ins...
Vision-and-Language Navigation: Interpreting visually-grounded navigation ins...
Yoshitaka Ushiku
 

Similar to Lecuture on Deep Learning API (20)

Bridging between Vision and Language
Bridging between Vision and LanguageBridging between Vision and Language
Bridging between Vision and Language
 
A practical guide to machine learning on GCP
A practical guide to machine learning on GCPA practical guide to machine learning on GCP
A practical guide to machine learning on GCP
 
GoImagickThumbnail
GoImagickThumbnailGoImagickThumbnail
GoImagickThumbnail
 
QGISセミナー初級・実践編(V2.4)
QGISセミナー初級・実践編(V2.4)QGISセミナー初級・実践編(V2.4)
QGISセミナー初級・実践編(V2.4)
 
QGISセミナー初級編 ~QGISの使い方・実践編~ Ver. 2.4版
QGISセミナー初級編 ~QGISの使い方・実践編~ Ver. 2.4版QGISセミナー初級編 ~QGISの使い方・実践編~ Ver. 2.4版
QGISセミナー初級編 ~QGISの使い方・実践編~ Ver. 2.4版
 
リクルートにおける画像解析事例紹介
リクルートにおける画像解析事例紹介リクルートにおける画像解析事例紹介
リクルートにおける画像解析事例紹介
 
リクルートはいかにして、ディープラーニング(深層学習)の導入を成功させたか
リクルートはいかにして、ディープラーニング(深層学習)の導入を成功させたかリクルートはいかにして、ディープラーニング(深層学習)の導入を成功させたか
リクルートはいかにして、ディープラーニング(深層学習)の導入を成功させたか
 
はじめての人のためのDeep Learning
はじめての人のためのDeep Learningはじめての人のためのDeep Learning
はじめての人のためのDeep Learning
 
なにわテック20180127
なにわテック20180127なにわテック20180127
なにわテック20180127
 
GCPの画像認識APIの紹介
GCPの画像認識APIの紹介 GCPの画像認識APIの紹介
GCPの画像認識APIの紹介
 
CVPR2018 pix2pixHD論文紹介 (CV勉強会@関東)
CVPR2018 pix2pixHD論文紹介 (CV勉強会@関東)CVPR2018 pix2pixHD論文紹介 (CV勉強会@関東)
CVPR2018 pix2pixHD論文紹介 (CV勉強会@関東)
 
pixivのタグ情報+cytoscape+PHPで、「魔法少女まどか☆マギカ」をネットワーク分析
pixivのタグ情報+cytoscape+PHPで、「魔法少女まどか☆マギカ」をネットワーク分析pixivのタグ情報+cytoscape+PHPで、「魔法少女まどか☆マギカ」をネットワーク分析
pixivのタグ情報+cytoscape+PHPで、「魔法少女まどか☆マギカ」をネットワーク分析
 
TensorFlow Object Detection API を使った取り組み@つくばチャレンジ2017
TensorFlow Object Detection API を使った取り組み@つくばチャレンジ2017TensorFlow Object Detection API を使った取り組み@つくばチャレンジ2017
TensorFlow Object Detection API を使った取り組み@つくばチャレンジ2017
 
LIFULL HOME'S「かざして検索」リリースの裏側
LIFULL HOME'S「かざして検索」リリースの裏側LIFULL HOME'S「かざして検索」リリースの裏側
LIFULL HOME'S「かざして検索」リリースの裏側
 
リクルートにおける画像解析事例紹介と周辺技術紹介
リクルートにおける画像解析事例紹介と周辺技術紹介リクルートにおける画像解析事例紹介と周辺技術紹介
リクルートにおける画像解析事例紹介と周辺技術紹介
 
03 piggyback -by-simple-code-public
03 piggyback -by-simple-code-public03 piggyback -by-simple-code-public
03 piggyback -by-simple-code-public
 
株式会社インタースペース 清水様 登壇資料
株式会社インタースペース 清水様 登壇資料株式会社インタースペース 清水様 登壇資料
株式会社インタースペース 清水様 登壇資料
 
仕事で使うちょっとしたコードをOSSとして開発メンテしていく - Django Redshift Backend の開発 - PyCon JP 2016
仕事で使うちょっとしたコードをOSSとして開発メンテしていく- Django Redshift Backend の開発 - PyCon JP 2016仕事で使うちょっとしたコードをOSSとして開発メンテしていく- Django Redshift Backend の開発 - PyCon JP 2016
仕事で使うちょっとしたコードをOSSとして開発メンテしていく - Django Redshift Backend の開発 - PyCon JP 2016
 
Start python with fastapi
Start python with fastapiStart python with fastapi
Start python with fastapi
 
Vision-and-Language Navigation: Interpreting visually-grounded navigation ins...
Vision-and-Language Navigation: Interpreting visually-grounded navigation ins...Vision-and-Language Navigation: Interpreting visually-grounded navigation ins...
Vision-and-Language Navigation: Interpreting visually-grounded navigation ins...
 

More from Naoki Watanabe

Deep learning basics described
Deep learning basics describedDeep learning basics described
Deep learning basics described
Naoki Watanabe
 
shuumai deep learning
shuumai deep learning shuumai deep learning
shuumai deep learning
Naoki Watanabe
 
アントレプレナーシップ論講座の卒業生による話(2019/04/20)
アントレプレナーシップ論講座の卒業生による話(2019/04/20)アントレプレナーシップ論講座の卒業生による話(2019/04/20)
アントレプレナーシップ論講座の卒業生による話(2019/04/20)
Naoki Watanabe
 
Basic explanation of Generative adversarial networks on MNIST
Basic explanation of Generative adversarial networks on MNISTBasic explanation of Generative adversarial networks on MNIST
Basic explanation of Generative adversarial networks on MNIST
Naoki Watanabe
 
Create line bot with Google Apps Script
Create line bot with Google Apps ScriptCreate line bot with Google Apps Script
Create line bot with Google Apps Script
Naoki Watanabe
 
LINE bot with Google Apps Script to manage reservation
LINE bot with Google Apps Script to manage reservationLINE bot with Google Apps Script to manage reservation
LINE bot with Google Apps Script to manage reservation
Naoki Watanabe
 
tinder automation
tinder automationtinder automation
tinder automation
Naoki Watanabe
 
Programming Lecture 2nd - Flask and Heroku in Python -
Programming Lecture 2nd - Flask and Heroku in Python -Programming Lecture 2nd - Flask and Heroku in Python -
Programming Lecture 2nd - Flask and Heroku in Python -
Naoki Watanabe
 
Programming Lecture 1st
Programming Lecture 1stProgramming Lecture 1st
Programming Lecture 1st
Naoki Watanabe
 
Lecture for Bootstrap and flask in Python
Lecture for Bootstrap and flask in PythonLecture for Bootstrap and flask in Python
Lecture for Bootstrap and flask in Python
Naoki Watanabe
 
Mcluhan’s medium
Mcluhan’s mediumMcluhan’s medium
Mcluhan’s medium
Naoki Watanabe
 
Bitcoin4beginners
Bitcoin4beginnersBitcoin4beginners
Bitcoin4beginners
Naoki Watanabe
 
物理はどこで発見されるか
物理はどこで発見されるか物理はどこで発見されるか
物理はどこで発見されるか
Naoki Watanabe
 
ちょうかんたんワインこうざ
ちょうかんたんワインこうざちょうかんたんワインこうざ
ちょうかんたんワインこうざ
Naoki Watanabe
 

More from Naoki Watanabe (14)

Deep learning basics described
Deep learning basics describedDeep learning basics described
Deep learning basics described
 
shuumai deep learning
shuumai deep learning shuumai deep learning
shuumai deep learning
 
アントレプレナーシップ論講座の卒業生による話(2019/04/20)
アントレプレナーシップ論講座の卒業生による話(2019/04/20)アントレプレナーシップ論講座の卒業生による話(2019/04/20)
アントレプレナーシップ論講座の卒業生による話(2019/04/20)
 
Basic explanation of Generative adversarial networks on MNIST
Basic explanation of Generative adversarial networks on MNISTBasic explanation of Generative adversarial networks on MNIST
Basic explanation of Generative adversarial networks on MNIST
 
Create line bot with Google Apps Script
Create line bot with Google Apps ScriptCreate line bot with Google Apps Script
Create line bot with Google Apps Script
 
LINE bot with Google Apps Script to manage reservation
LINE bot with Google Apps Script to manage reservationLINE bot with Google Apps Script to manage reservation
LINE bot with Google Apps Script to manage reservation
 
tinder automation
tinder automationtinder automation
tinder automation
 
Programming Lecture 2nd - Flask and Heroku in Python -
Programming Lecture 2nd - Flask and Heroku in Python -Programming Lecture 2nd - Flask and Heroku in Python -
Programming Lecture 2nd - Flask and Heroku in Python -
 
Programming Lecture 1st
Programming Lecture 1stProgramming Lecture 1st
Programming Lecture 1st
 
Lecture for Bootstrap and flask in Python
Lecture for Bootstrap and flask in PythonLecture for Bootstrap and flask in Python
Lecture for Bootstrap and flask in Python
 
Mcluhan’s medium
Mcluhan’s mediumMcluhan’s medium
Mcluhan’s medium
 
Bitcoin4beginners
Bitcoin4beginnersBitcoin4beginners
Bitcoin4beginners
 
物理はどこで発見されるか
物理はどこで発見されるか物理はどこで発見されるか
物理はどこで発見されるか
 
ちょうかんたんワインこうざ
ちょうかんたんワインこうざちょうかんたんワインこうざ
ちょうかんたんワインこうざ
 

Lecuture on Deep Learning API

Editor's Notes

  1. かんたんな経歴
  2. http://sahilsk.github.io/articles/so-youre-writing-api-client/