SlideShare a Scribd company logo
1 of 63
Dataflow Visualization
Using ASCII DAG
Junji Hashimoto(GREE, Inc.)
2018/12/04 rev0.2
1
Outline
● Why we visualize DAG?
● Background and Motivation
● Left Aligned ASCII DAG(Proposed Visualization)
● Result and Future Works
2
Outline
● Why we visualize DAG?
● Background and Motivation
● Left Aligned ASCII DAG(Proposed Visualization)
● Result and Future Works
3
DAG(Directed Acyclic Graph)?
● What is DAG?
○ Directed graph.
○ No loop.
● Why we visualize DAG?
○ Tensorflow’s computation graph == DAG
○ DAG is a machine learning core.
○ Have to review and debug DAG.
○ DAG is too long for reviewing it today.
4
Outline
● Why we visualize DAG?
● Background and Motivation
○ Development Flow
○ Long Dataflow
● Left Aligned ASCII DAG(Proposed Visualization)
● Result and Future Work
5
Agile: Development Flow
1. Check Requirement
2. Design the codes for the requirement.
3. Build and Test the codes
4. Review
a. Confirm the requirement.
b. Compare the changes of the code.
c. If it is OK, go to deployment.
5. Deploy
a. Merge the code
b. Apply the code for a production.
6
Req.
Design
Build
Deploy
Test
1 or 2 Weeks
Repeat small tasks.
Review: github flow known as Pull Request
7
Review: github flow known as Pull Request
8
Review: github flow known as Pull Request
9
We want to review the changes of
both the code and the dataflow on this UI.
Tensorboard can not show the changes of the dataflow.
Long Dataflow (Inception-V3)
10
65 Layers
Complex and Long Dataflow
11
AlexNet
GoogLeNet
Inception-V3
Inception-V4
These data from ICLR 2017:AN ANALYSIS OF DEEP NEURAL NETWORK MODELS FOR PRACTICAL APPLICATIONS
VGG is here.
Outline
● Why we visualize DAG?
● Background and Motivation
● Left Aligned ASCII DAG(Proposed Visualization)
○ Project Goal
○ Developed Visualization Tool
● Result and Future Work
12
Project Goal
● Make visualization-tool for DAG.
● The tool is available in current development flow.
○ Github flow : Pull Request.
● Compare the changes of DAG easily.
● Scalability of showing large dataflow.
13
Left Aligned DAG(Proposed Visualization)
● Feature
○ Use ASCII
○ Left Aligned
○ Compact 14
Proposed Visualization Graphviz(Conventional Visualization)
The changes of the codes in proposed visualization.
15
Original Insert
L8
Diff
Performance for large DAG: Inception-V3
16
Graphviz : 44 sec
Proposed method: 14sec
It looks nice?
Result And Future Works
● Make visualization-tool for DAG using ASCII.
○ Registered in PyPi.
○ https://pypi.org/project/stackeddag/
● Work with Pull Request together.
● Can show a large graph of dataflow.
● Using this on actual product/development flow is a
future work.
17
18
END
Jupyter Notebook
19
Rendering Algorithm
1. Get depth of nodes
2. Gen reversed DAG and Get reversed depth of nodes.
3. Order nodes by the depth.
4. If the depth is the same, order nodes by the reversed
depth.
5. If the reversed depth is the same, order nodes by the
label of nodes
6. Connect nodes by using ascii text.
20
Rendering Algorithm: Get The Depth of All Nodes
21
Rendering Algorithm
22
0
Rendering Algorithm
23
1
0
Rendering Algorithm
24
2 2 2 2
1
0
Rendering Algorithm
25
33
2 2 2 2
1
0
Rendering Algorithm: Get The Reverse Depth
26
33
2 2 2 2
1
0
00
1 0 0 0
2
3
Rendering Algorithm: Allocate Nodes
27
33
2 2 2 2
1
0
00
1 0 0 0
2
3
Rendering Algorithm: Write All Edges
28
33
2 2 2 2
1
0
00
1 0 0 0
2
3
Benchmark: Inception-V3
29
Related Work for visualization of DAG
30
● Use Image
○ Tensorboard
○ tfGraphviz using graphviz
● Use Ascii
○ graph-easy
○ git
○ graphterm
○ leaf
These do not focus on the changes of codes.
Tensorboard
31
● Pros
○ Sophisticated UI
● Cons
○ Can not compare
a difference of
graphs.
○ Use wide space
tfGraphviz == graphviz
32
● Pros
○ Sophisticated
visualization
● Cons
○ Can not compare
a difference of
graphs.
Limit of using image.
33
● If we use image for
graph,
● We have to compare
the difference
side by side.
graph-easy
34
● Pros
○ We can compare
the difference by
diff-command.
● Cons
○ Use wide space
git
35
● Pros
○ We can compare
the difference by
diff-command.
● Cons
graphterm
36
● Pros
○ We can compare
the difference by
diff-command.
● Cons
○ Not design with
diff-command.
graphterm
37
● Pros
○ We can compare
the difference by
diff-command.
● Cons
○ Not design with
diff-command.
o new node
leaf
38
● Pros
○ We can compare
the difference by
diff-command.
● Cons
○ Not design with
diff-command.
Project Goal
● Make visualization-tool for DAG.
● The tool is available in current development flow.
○ Github flow : Pull Request.
● Compare the changes of DAG easily.
● Scalability of showing large dataflow.
39
If the visualization is ASCII,
we can solve the problems of both flow and changes.
Proposed Visualization
40
Proposed Visualization of DAG
graphviz
Left Aligned ASCII Format
Background
● Complex and Long Dataflow
● Want to use a visualization tool on today’s development flow.
○ We need a visualization tool for the dataflow.
● How to visualize Dataflow(As Conventional Method)
● Requirement of what we improve
○ reviewable
○ compact
○ fast
● Conventional Method
41
Goal
● Why Agile?
○ A project’s goal is always changed.
○ We have to keep
42
Outline
● What is a problem?
● Agile Development Flow
● Why we focus on a visualization of DAG? Why we use ASCII?
● Compare with other visualization.
● Left Aligned ASCII DAG
● About rendering algorithm
● Evaluation by using Google Inception V3
● Results and Future works
43
Long Dataflow (Inception-V3)
44
65 Layers
Compex and Long Dataflow
45
AlexNet
GoogLeNet
Inception-V3
Inception-V4
These data from ICLR 2017:AN ANALYSIS OF DEEP NEURAL NETWORK MODELS FOR PRACTICAL APPLICATIONS
VGG is here.
Development Flow (Agile)
46
Requirements
Waterfall
Design Build Test Release
Agile
1 Year
Req.
Design
Build
Deploy
Test
Req.
Design
Build
Deploy
Test
Req.
Design
Build
Deploy
Test
1 or 2 Weeks
Agile
● Split large task into small tasks.
● One task takes short term.
● Pros
○ Keep the systems available
○ Can catch up the requirement quickly, when requirements are changed.
● Cons
○ Goal is not so clear.
■ Almost OSS like HTTP server do not have clear goal.
47
Practical Development flow for agile
1. Check a issue(== Requirement)
2. Design and make the codes for the issue
3. Build and Test with CI
4. Review
a. Confirm the issue
b. Compare the difference of the code.
c. If it is OK, go to deployment.
5. Deploy
a. Merge the code
b. Apply the code for a production.
48
Req.
Design
Build
Deploy
Test
1 or 2 Weeks
Review: github flow known as Pull Request
49
Review: github flow known as Pull Request
50
Review: github flow known as Pull Request
51
We want to review the code and the dataflow.
Requirement for our development flow
● Review the dataflow and the code by PullRequest-View/Tool.
● Compare the difference of the dataflow
● If the parts of dataflow are not changed, Do not show any difference.
52
Conventional Visualization of Datafllow
● Tensorboard
● tfgraphviz
● Review the dataflow and the code by PullRequest-View/Tool.
● Compare the difference of the dataflow
● Goal
○ Reviewable
■ Compare original graph with modified graph easily.
■ We need ascii graph.
○ Scalability
■ Google’s network has hundred layer of operations.
53
Related Work for visualization of DAG
54
● Use Image
○ Tensorboard
○ tfGraphviz using graphviz
● Use Ascii
○ graph-easy
○ git
○ graphterm
○ leaf
Tensorboard
55
● Pros
○ Sophisticated UI
● Cons
○ Can not compare
a difference of
graphs.
○ Use wide space
tfgraphviz == graphviz
56
● Pros
○ Sophisticated
visualization
● Cons
○ Can not compare
a difference of
graphs.
Limit of using image.
57
● If we use image for
graph,
● We have to compare
the difference
side by side.
graph-easy
58
● Pros
○ We can compare
the difference by
diff-command.
● Cons
○ Use wide space
git
59
● Pros
○ We can compare
the difference by
diff-command.
● Cons
graphterm
60
● Pros
○ We can compare
the difference by
diff-command.
● Cons
○ Not design with
diff-command.
graphterm
61
● Pros
○ We can compare
the difference by
diff-command.
● Cons
○ Not design with
diff-command.
o new node
leaf
62
● Pros
○ We can compare
the difference by
diff-command.
● Cons
○ Not design with
diff-command.
Goal
● Make visualization-tool for DAG.
● The tool is available in current development flow.
○ Github flow : Pull Request.
● Compare the difference of DAG easily.
● Scalability of showing large dataflow.
63

More Related Content

What's hot

「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステム
「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステム「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステム
「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステムSEGADevTech
 
CyberChefの使い方(HamaCTF2019 WriteUp編)
CyberChefの使い方(HamaCTF2019 WriteUp編)CyberChefの使い方(HamaCTF2019 WriteUp編)
CyberChefの使い方(HamaCTF2019 WriteUp編)Shota Shinogi
 
強いて言えば「集約どう実装するのかな、を考える」な話
強いて言えば「集約どう実装するのかな、を考える」な話強いて言えば「集約どう実装するのかな、を考える」な話
強いて言えば「集約どう実装するのかな、を考える」な話Yoshitaka Kawashima
 
私たちがGCPを使い始めた本当の理由
私たちがGCPを使い始めた本当の理由私たちがGCPを使い始めた本当の理由
私たちがGCPを使い始めた本当の理由gree_tech
 
実践イカパケット解析
実践イカパケット解析実践イカパケット解析
実践イカパケット解析Yuki Mizuno
 
ドキュメントを作りたくなってしまう魔法のツールSphinx
ドキュメントを作りたくなってしまう魔法のツールSphinxドキュメントを作りたくなってしまう魔法のツールSphinx
ドキュメントを作りたくなってしまう魔法のツールSphinxTakayuki Shimizukawa
 
async/await のしくみ
async/await のしくみasync/await のしくみ
async/await のしくみ信之 岩永
 
Spark Streaming と Spark GraphX を使用したTwitter解析による レコメンドサービス例
Spark Streaming と Spark GraphX を使用したTwitter解析による レコメンドサービス例Spark Streaming と Spark GraphX を使用したTwitter解析による レコメンドサービス例
Spark Streaming と Spark GraphX を使用したTwitter解析による レコメンドサービス例Junichi Noda
 
PyQtではじめるGUIプログラミング
PyQtではじめるGUIプログラミングPyQtではじめるGUIプログラミング
PyQtではじめるGUIプログラミングRansui Iso
 
【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう
【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう
【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しようUnity Technologies Japan K.K.
 
GoによるiOSアプリの開発
GoによるiOSアプリの開発GoによるiOSアプリの開発
GoによるiOSアプリの開発Takuya Ueda
 
目grep入門 +解説
目grep入門 +解説目grep入門 +解説
目grep入門 +解説murachue
 
Building the Game Server both API and Realtime via c#
Building the Game Server both API and Realtime via c#Building the Game Server both API and Realtime via c#
Building the Game Server both API and Realtime via c#Yoshifumi Kawai
 
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けモノビット エンジン
 
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践Yoshifumi Kawai
 
Modern C# Programming 現代的なC#の書き方、ライブラリの選び方
Modern C# Programming 現代的なC#の書き方、ライブラリの選び方Modern C# Programming 現代的なC#の書き方、ライブラリの選び方
Modern C# Programming 現代的なC#の書き方、ライブラリの選び方Yoshifumi Kawai
 
メルカリ・ソウゾウでは どうGoを活用しているのか?
メルカリ・ソウゾウでは どうGoを活用しているのか?メルカリ・ソウゾウでは どうGoを活用しているのか?
メルカリ・ソウゾウでは どうGoを活用しているのか?Takuya Ueda
 
MagicOnion入門
MagicOnion入門MagicOnion入門
MagicOnion入門torisoup
 
ruby-ffiについてざっくり解説
ruby-ffiについてざっくり解説ruby-ffiについてざっくり解説
ruby-ffiについてざっくり解説ota42y
 
Gaming on aws 〜ゲームにおけるAWS最新活用術〜
Gaming on aws 〜ゲームにおけるAWS最新活用術〜Gaming on aws 〜ゲームにおけるAWS最新活用術〜
Gaming on aws 〜ゲームにおけるAWS最新活用術〜Amazon Web Services Japan
 

What's hot (20)

「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステム
「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステム「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステム
「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステム
 
CyberChefの使い方(HamaCTF2019 WriteUp編)
CyberChefの使い方(HamaCTF2019 WriteUp編)CyberChefの使い方(HamaCTF2019 WriteUp編)
CyberChefの使い方(HamaCTF2019 WriteUp編)
 
強いて言えば「集約どう実装するのかな、を考える」な話
強いて言えば「集約どう実装するのかな、を考える」な話強いて言えば「集約どう実装するのかな、を考える」な話
強いて言えば「集約どう実装するのかな、を考える」な話
 
私たちがGCPを使い始めた本当の理由
私たちがGCPを使い始めた本当の理由私たちがGCPを使い始めた本当の理由
私たちがGCPを使い始めた本当の理由
 
実践イカパケット解析
実践イカパケット解析実践イカパケット解析
実践イカパケット解析
 
ドキュメントを作りたくなってしまう魔法のツールSphinx
ドキュメントを作りたくなってしまう魔法のツールSphinxドキュメントを作りたくなってしまう魔法のツールSphinx
ドキュメントを作りたくなってしまう魔法のツールSphinx
 
async/await のしくみ
async/await のしくみasync/await のしくみ
async/await のしくみ
 
Spark Streaming と Spark GraphX を使用したTwitter解析による レコメンドサービス例
Spark Streaming と Spark GraphX を使用したTwitter解析による レコメンドサービス例Spark Streaming と Spark GraphX を使用したTwitter解析による レコメンドサービス例
Spark Streaming と Spark GraphX を使用したTwitter解析による レコメンドサービス例
 
PyQtではじめるGUIプログラミング
PyQtではじめるGUIプログラミングPyQtではじめるGUIプログラミング
PyQtではじめるGUIプログラミング
 
【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう
【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう
【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう
 
GoによるiOSアプリの開発
GoによるiOSアプリの開発GoによるiOSアプリの開発
GoによるiOSアプリの開発
 
目grep入門 +解説
目grep入門 +解説目grep入門 +解説
目grep入門 +解説
 
Building the Game Server both API and Realtime via c#
Building the Game Server both API and Realtime via c#Building the Game Server both API and Realtime via c#
Building the Game Server both API and Realtime via c#
 
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分け
 
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
 
Modern C# Programming 現代的なC#の書き方、ライブラリの選び方
Modern C# Programming 現代的なC#の書き方、ライブラリの選び方Modern C# Programming 現代的なC#の書き方、ライブラリの選び方
Modern C# Programming 現代的なC#の書き方、ライブラリの選び方
 
メルカリ・ソウゾウでは どうGoを活用しているのか?
メルカリ・ソウゾウでは どうGoを活用しているのか?メルカリ・ソウゾウでは どうGoを活用しているのか?
メルカリ・ソウゾウでは どうGoを活用しているのか?
 
MagicOnion入門
MagicOnion入門MagicOnion入門
MagicOnion入門
 
ruby-ffiについてざっくり解説
ruby-ffiについてざっくり解説ruby-ffiについてざっくり解説
ruby-ffiについてざっくり解説
 
Gaming on aws 〜ゲームにおけるAWS最新活用術〜
Gaming on aws 〜ゲームにおけるAWS最新活用術〜Gaming on aws 〜ゲームにおけるAWS最新活用術〜
Gaming on aws 〜ゲームにおけるAWS最新活用術〜
 

Similar to Dataflow Visualization using ASCII DAG

Marco Liberati - Graph analytics
Marco Liberati - Graph analyticsMarco Liberati - Graph analytics
Marco Liberati - Graph analyticsCodemotion
 
GraphQL ♥︎ GraphDB
GraphQL ♥︎ GraphDBGraphQL ♥︎ GraphDB
GraphQL ♥︎ GraphDBGraphRM
 
Snowflake Automated Deployments / CI/CD Pipelines
Snowflake Automated Deployments / CI/CD PipelinesSnowflake Automated Deployments / CI/CD Pipelines
Snowflake Automated Deployments / CI/CD PipelinesDrew Hansen
 
Computer Graphics - Lecture 01 - 3D Programming I
Computer Graphics - Lecture 01 - 3D Programming IComputer Graphics - Lecture 01 - 3D Programming I
Computer Graphics - Lecture 01 - 3D Programming I💻 Anton Gerdelan
 
Performance in Geode: How Fast Is It, How Is It Measured, and How Can It Be I...
Performance in Geode: How Fast Is It, How Is It Measured, and How Can It Be I...Performance in Geode: How Fast Is It, How Is It Measured, and How Can It Be I...
Performance in Geode: How Fast Is It, How Is It Measured, and How Can It Be I...VMware Tanzu
 
Apache Airflow in the Cloud: Programmatically orchestrating workloads with Py...
Apache Airflow in the Cloud: Programmatically orchestrating workloads with Py...Apache Airflow in the Cloud: Programmatically orchestrating workloads with Py...
Apache Airflow in the Cloud: Programmatically orchestrating workloads with Py...Kaxil Naik
 
Modular GraphQL with Schema Stitching
Modular GraphQL with Schema StitchingModular GraphQL with Schema Stitching
Modular GraphQL with Schema StitchingSashko Stubailo
 
Devoxx : being productive with JHipster
Devoxx : being productive with JHipsterDevoxx : being productive with JHipster
Devoxx : being productive with JHipsterJulien Dubois
 
Kotlin REST & GraphQL API
Kotlin REST & GraphQL APIKotlin REST & GraphQL API
Kotlin REST & GraphQL APISean O'Brien
 
NDGeospatialSummit2019 - Everything You Need to Know About ArcGIS Vector Tiles
NDGeospatialSummit2019 - Everything You Need to Know About ArcGIS Vector TilesNDGeospatialSummit2019 - Everything You Need to Know About ArcGIS Vector Tiles
NDGeospatialSummit2019 - Everything You Need to Know About ArcGIS Vector TilesNorth Dakota GIS Hub
 
Gobblin @ NerdWallet (Nov 2015)
Gobblin @ NerdWallet (Nov 2015)Gobblin @ NerdWallet (Nov 2015)
Gobblin @ NerdWallet (Nov 2015)NerdWalletHQ
 
Presentation dbei insight to infinity and beyond
Presentation dbei insight to infinity and beyondPresentation dbei insight to infinity and beyond
Presentation dbei insight to infinity and beyondNikolay Gerasimov
 
Upcoming features in Airflow 2
Upcoming features in Airflow 2Upcoming features in Airflow 2
Upcoming features in Airflow 2Kaxil Naik
 
GraphQL Bangkok Meetup 6.0
GraphQL Bangkok Meetup 6.0GraphQL Bangkok Meetup 6.0
GraphQL Bangkok Meetup 6.0Tobias Meixner
 
Java Image Processing for Geospatial Community
Java Image Processing for Geospatial CommunityJava Image Processing for Geospatial Community
Java Image Processing for Geospatial CommunityJody Garnett
 
AOT-compilation of JavaScript with V8
AOT-compilation of JavaScript with V8AOT-compilation of JavaScript with V8
AOT-compilation of JavaScript with V8Phil Eaton
 
Superworkflow of Graph Neural Networks with K8S and Fugue
Superworkflow of Graph Neural Networks with K8S and FugueSuperworkflow of Graph Neural Networks with K8S and Fugue
Superworkflow of Graph Neural Networks with K8S and FugueDatabricks
 
PGConf.ASIA 2019 Bali - Patroni on GitLab.com - Jose Cores Finnoto
PGConf.ASIA 2019 Bali - Patroni on GitLab.com - Jose Cores FinnotoPGConf.ASIA 2019 Bali - Patroni on GitLab.com - Jose Cores Finnoto
PGConf.ASIA 2019 Bali - Patroni on GitLab.com - Jose Cores FinnotoEqunix Business Solutions
 
State of GeoServer, GeoTools and Friends 2014
State of GeoServer, GeoTools and Friends 2014State of GeoServer, GeoTools and Friends 2014
State of GeoServer, GeoTools and Friends 2014Jody Garnett
 

Similar to Dataflow Visualization using ASCII DAG (20)

Marco Liberati - Graph analytics
Marco Liberati - Graph analyticsMarco Liberati - Graph analytics
Marco Liberati - Graph analytics
 
GraphQL ♥︎ GraphDB
GraphQL ♥︎ GraphDBGraphQL ♥︎ GraphDB
GraphQL ♥︎ GraphDB
 
Snowflake Automated Deployments / CI/CD Pipelines
Snowflake Automated Deployments / CI/CD PipelinesSnowflake Automated Deployments / CI/CD Pipelines
Snowflake Automated Deployments / CI/CD Pipelines
 
Computer Graphics - Lecture 01 - 3D Programming I
Computer Graphics - Lecture 01 - 3D Programming IComputer Graphics - Lecture 01 - 3D Programming I
Computer Graphics - Lecture 01 - 3D Programming I
 
Performance in Geode: How Fast Is It, How Is It Measured, and How Can It Be I...
Performance in Geode: How Fast Is It, How Is It Measured, and How Can It Be I...Performance in Geode: How Fast Is It, How Is It Measured, and How Can It Be I...
Performance in Geode: How Fast Is It, How Is It Measured, and How Can It Be I...
 
Apache Airflow in the Cloud: Programmatically orchestrating workloads with Py...
Apache Airflow in the Cloud: Programmatically orchestrating workloads with Py...Apache Airflow in the Cloud: Programmatically orchestrating workloads with Py...
Apache Airflow in the Cloud: Programmatically orchestrating workloads with Py...
 
Modular GraphQL with Schema Stitching
Modular GraphQL with Schema StitchingModular GraphQL with Schema Stitching
Modular GraphQL with Schema Stitching
 
Devoxx : being productive with JHipster
Devoxx : being productive with JHipsterDevoxx : being productive with JHipster
Devoxx : being productive with JHipster
 
Kotlin REST & GraphQL API
Kotlin REST & GraphQL APIKotlin REST & GraphQL API
Kotlin REST & GraphQL API
 
NDGeospatialSummit2019 - Everything You Need to Know About ArcGIS Vector Tiles
NDGeospatialSummit2019 - Everything You Need to Know About ArcGIS Vector TilesNDGeospatialSummit2019 - Everything You Need to Know About ArcGIS Vector Tiles
NDGeospatialSummit2019 - Everything You Need to Know About ArcGIS Vector Tiles
 
Gobblin @ NerdWallet (Nov 2015)
Gobblin @ NerdWallet (Nov 2015)Gobblin @ NerdWallet (Nov 2015)
Gobblin @ NerdWallet (Nov 2015)
 
Presentation dbei insight to infinity and beyond
Presentation dbei insight to infinity and beyondPresentation dbei insight to infinity and beyond
Presentation dbei insight to infinity and beyond
 
Upcoming features in Airflow 2
Upcoming features in Airflow 2Upcoming features in Airflow 2
Upcoming features in Airflow 2
 
GraphQL Bangkok Meetup 6.0
GraphQL Bangkok Meetup 6.0GraphQL Bangkok Meetup 6.0
GraphQL Bangkok Meetup 6.0
 
Java Image Processing for Geospatial Community
Java Image Processing for Geospatial CommunityJava Image Processing for Geospatial Community
Java Image Processing for Geospatial Community
 
GraphQL + relay
GraphQL + relayGraphQL + relay
GraphQL + relay
 
AOT-compilation of JavaScript with V8
AOT-compilation of JavaScript with V8AOT-compilation of JavaScript with V8
AOT-compilation of JavaScript with V8
 
Superworkflow of Graph Neural Networks with K8S and Fugue
Superworkflow of Graph Neural Networks with K8S and FugueSuperworkflow of Graph Neural Networks with K8S and Fugue
Superworkflow of Graph Neural Networks with K8S and Fugue
 
PGConf.ASIA 2019 Bali - Patroni on GitLab.com - Jose Cores Finnoto
PGConf.ASIA 2019 Bali - Patroni on GitLab.com - Jose Cores FinnotoPGConf.ASIA 2019 Bali - Patroni on GitLab.com - Jose Cores Finnoto
PGConf.ASIA 2019 Bali - Patroni on GitLab.com - Jose Cores Finnoto
 
State of GeoServer, GeoTools and Friends 2014
State of GeoServer, GeoTools and Friends 2014State of GeoServer, GeoTools and Friends 2014
State of GeoServer, GeoTools and Friends 2014
 

More from gree_tech

アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜
アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜
アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜gree_tech
 
GREE VR Studio Laboratory「XR-UX Devプロジェクト」の成果紹介
GREE VR Studio Laboratory「XR-UX Devプロジェクト」の成果紹介GREE VR Studio Laboratory「XR-UX Devプロジェクト」の成果紹介
GREE VR Studio Laboratory「XR-UX Devプロジェクト」の成果紹介gree_tech
 
REALITYアバターを様々なメタバースで活躍させてみた - GREE VR Studio Laboratory インターン研究成果発表
REALITYアバターを様々なメタバースで活躍させてみた - GREE VR Studio Laboratory インターン研究成果発表REALITYアバターを様々なメタバースで活躍させてみた - GREE VR Studio Laboratory インターン研究成果発表
REALITYアバターを様々なメタバースで活躍させてみた - GREE VR Studio Laboratory インターン研究成果発表gree_tech
 
アプリ起動時間高速化 ~推測するな、計測せよ~
アプリ起動時間高速化 ~推測するな、計測せよ~アプリ起動時間高速化 ~推測するな、計測せよ~
アプリ起動時間高速化 ~推測するな、計測せよ~gree_tech
 
長寿なゲーム事業におけるアプリビルドの効率化
長寿なゲーム事業におけるアプリビルドの効率化長寿なゲーム事業におけるアプリビルドの効率化
長寿なゲーム事業におけるアプリビルドの効率化gree_tech
 
Cloud Spanner をより便利にする運用支援ツールの紹介
Cloud Spanner をより便利にする運用支援ツールの紹介Cloud Spanner をより便利にする運用支援ツールの紹介
Cloud Spanner をより便利にする運用支援ツールの紹介gree_tech
 
WFSにおけるCloud SpannerとGKEを中心としたGCP導入事例の紹介
WFSにおけるCloud SpannerとGKEを中心としたGCP導入事例の紹介WFSにおけるCloud SpannerとGKEを中心としたGCP導入事例の紹介
WFSにおけるCloud SpannerとGKEを中心としたGCP導入事例の紹介gree_tech
 
SINoALICE -シノアリス- Google Cloud Firestoreを用いた観戦機能の実現について
SINoALICE -シノアリス- Google Cloud Firestoreを用いた観戦機能の実現についてSINoALICE -シノアリス- Google Cloud Firestoreを用いた観戦機能の実現について
SINoALICE -シノアリス- Google Cloud Firestoreを用いた観戦機能の実現についてgree_tech
 
海外展開と負荷試験
海外展開と負荷試験海外展開と負荷試験
海外展開と負荷試験gree_tech
 
翻訳QAでのテスト自動化の取り組み
翻訳QAでのテスト自動化の取り組み翻訳QAでのテスト自動化の取り組み
翻訳QAでのテスト自動化の取り組みgree_tech
 
組み込み開発のテストとゲーム開発のテストの違い
組み込み開発のテストとゲーム開発のテストの違い組み込み開発のテストとゲーム開発のテストの違い
組み込み開発のテストとゲーム開発のテストの違いgree_tech
 
サーバーフレームワークに潜んでる脆弱性検知ツール紹介
サーバーフレームワークに潜んでる脆弱性検知ツール紹介サーバーフレームワークに潜んでる脆弱性検知ツール紹介
サーバーフレームワークに潜んでる脆弱性検知ツール紹介gree_tech
 
データエンジニアとアナリストチーム兼務になった件について
データエンジニアとアナリストチーム兼務になった件についてデータエンジニアとアナリストチーム兼務になった件について
データエンジニアとアナリストチーム兼務になった件についてgree_tech
 
シェアドサービスとしてのデータテクノロジー
シェアドサービスとしてのデータテクノロジーシェアドサービスとしてのデータテクノロジー
シェアドサービスとしてのデータテクノロジーgree_tech
 
「ドキュメント見つからない問題」をなんとかしたい - 横断検索エンジン導入の取り組みについて-
「ドキュメント見つからない問題」をなんとかしたい - 横断検索エンジン導入の取り組みについて-「ドキュメント見つからない問題」をなんとかしたい - 横断検索エンジン導入の取り組みについて-
「ドキュメント見つからない問題」をなんとかしたい - 横断検索エンジン導入の取り組みについて-gree_tech
 
「Atomic Design × Nuxt.js」コンポーネント毎に責務の範囲を明確にしたら幸せになった話
「Atomic Design × Nuxt.js」コンポーネント毎に責務の範囲を明確にしたら幸せになった話「Atomic Design × Nuxt.js」コンポーネント毎に責務の範囲を明確にしたら幸せになった話
「Atomic Design × Nuxt.js」コンポーネント毎に責務の範囲を明確にしたら幸せになった話gree_tech
 
比較サイトの検索改善(SPA から SSR に変換)
比較サイトの検索改善(SPA から SSR に変換)比較サイトの検索改善(SPA から SSR に変換)
比較サイトの検索改善(SPA から SSR に変換)gree_tech
 
コードの自動修正によって実現する、機能開発を止めないフレームワーク移行
コードの自動修正によって実現する、機能開発を止めないフレームワーク移行コードの自動修正によって実現する、機能開発を止めないフレームワーク移行
コードの自動修正によって実現する、機能開発を止めないフレームワーク移行gree_tech
 
「やんちゃ、足りてる?」〜ヤンマガWebで挑戦を続ける新入りエンジニア〜
「やんちゃ、足りてる?」〜ヤンマガWebで挑戦を続ける新入りエンジニア〜「やんちゃ、足りてる?」〜ヤンマガWebで挑戦を続ける新入りエンジニア〜
「やんちゃ、足りてる?」〜ヤンマガWebで挑戦を続ける新入りエンジニア〜gree_tech
 
法人向けメタバースプラットフォームの開発の裏側をのぞいてみた(仮)
法人向けメタバースプラットフォームの開発の裏側をのぞいてみた(仮)法人向けメタバースプラットフォームの開発の裏側をのぞいてみた(仮)
法人向けメタバースプラットフォームの開発の裏側をのぞいてみた(仮)gree_tech
 

More from gree_tech (20)

アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜
アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜
アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜
 
GREE VR Studio Laboratory「XR-UX Devプロジェクト」の成果紹介
GREE VR Studio Laboratory「XR-UX Devプロジェクト」の成果紹介GREE VR Studio Laboratory「XR-UX Devプロジェクト」の成果紹介
GREE VR Studio Laboratory「XR-UX Devプロジェクト」の成果紹介
 
REALITYアバターを様々なメタバースで活躍させてみた - GREE VR Studio Laboratory インターン研究成果発表
REALITYアバターを様々なメタバースで活躍させてみた - GREE VR Studio Laboratory インターン研究成果発表REALITYアバターを様々なメタバースで活躍させてみた - GREE VR Studio Laboratory インターン研究成果発表
REALITYアバターを様々なメタバースで活躍させてみた - GREE VR Studio Laboratory インターン研究成果発表
 
アプリ起動時間高速化 ~推測するな、計測せよ~
アプリ起動時間高速化 ~推測するな、計測せよ~アプリ起動時間高速化 ~推測するな、計測せよ~
アプリ起動時間高速化 ~推測するな、計測せよ~
 
長寿なゲーム事業におけるアプリビルドの効率化
長寿なゲーム事業におけるアプリビルドの効率化長寿なゲーム事業におけるアプリビルドの効率化
長寿なゲーム事業におけるアプリビルドの効率化
 
Cloud Spanner をより便利にする運用支援ツールの紹介
Cloud Spanner をより便利にする運用支援ツールの紹介Cloud Spanner をより便利にする運用支援ツールの紹介
Cloud Spanner をより便利にする運用支援ツールの紹介
 
WFSにおけるCloud SpannerとGKEを中心としたGCP導入事例の紹介
WFSにおけるCloud SpannerとGKEを中心としたGCP導入事例の紹介WFSにおけるCloud SpannerとGKEを中心としたGCP導入事例の紹介
WFSにおけるCloud SpannerとGKEを中心としたGCP導入事例の紹介
 
SINoALICE -シノアリス- Google Cloud Firestoreを用いた観戦機能の実現について
SINoALICE -シノアリス- Google Cloud Firestoreを用いた観戦機能の実現についてSINoALICE -シノアリス- Google Cloud Firestoreを用いた観戦機能の実現について
SINoALICE -シノアリス- Google Cloud Firestoreを用いた観戦機能の実現について
 
海外展開と負荷試験
海外展開と負荷試験海外展開と負荷試験
海外展開と負荷試験
 
翻訳QAでのテスト自動化の取り組み
翻訳QAでのテスト自動化の取り組み翻訳QAでのテスト自動化の取り組み
翻訳QAでのテスト自動化の取り組み
 
組み込み開発のテストとゲーム開発のテストの違い
組み込み開発のテストとゲーム開発のテストの違い組み込み開発のテストとゲーム開発のテストの違い
組み込み開発のテストとゲーム開発のテストの違い
 
サーバーフレームワークに潜んでる脆弱性検知ツール紹介
サーバーフレームワークに潜んでる脆弱性検知ツール紹介サーバーフレームワークに潜んでる脆弱性検知ツール紹介
サーバーフレームワークに潜んでる脆弱性検知ツール紹介
 
データエンジニアとアナリストチーム兼務になった件について
データエンジニアとアナリストチーム兼務になった件についてデータエンジニアとアナリストチーム兼務になった件について
データエンジニアとアナリストチーム兼務になった件について
 
シェアドサービスとしてのデータテクノロジー
シェアドサービスとしてのデータテクノロジーシェアドサービスとしてのデータテクノロジー
シェアドサービスとしてのデータテクノロジー
 
「ドキュメント見つからない問題」をなんとかしたい - 横断検索エンジン導入の取り組みについて-
「ドキュメント見つからない問題」をなんとかしたい - 横断検索エンジン導入の取り組みについて-「ドキュメント見つからない問題」をなんとかしたい - 横断検索エンジン導入の取り組みについて-
「ドキュメント見つからない問題」をなんとかしたい - 横断検索エンジン導入の取り組みについて-
 
「Atomic Design × Nuxt.js」コンポーネント毎に責務の範囲を明確にしたら幸せになった話
「Atomic Design × Nuxt.js」コンポーネント毎に責務の範囲を明確にしたら幸せになった話「Atomic Design × Nuxt.js」コンポーネント毎に責務の範囲を明確にしたら幸せになった話
「Atomic Design × Nuxt.js」コンポーネント毎に責務の範囲を明確にしたら幸せになった話
 
比較サイトの検索改善(SPA から SSR に変換)
比較サイトの検索改善(SPA から SSR に変換)比較サイトの検索改善(SPA から SSR に変換)
比較サイトの検索改善(SPA から SSR に変換)
 
コードの自動修正によって実現する、機能開発を止めないフレームワーク移行
コードの自動修正によって実現する、機能開発を止めないフレームワーク移行コードの自動修正によって実現する、機能開発を止めないフレームワーク移行
コードの自動修正によって実現する、機能開発を止めないフレームワーク移行
 
「やんちゃ、足りてる?」〜ヤンマガWebで挑戦を続ける新入りエンジニア〜
「やんちゃ、足りてる?」〜ヤンマガWebで挑戦を続ける新入りエンジニア〜「やんちゃ、足りてる?」〜ヤンマガWebで挑戦を続ける新入りエンジニア〜
「やんちゃ、足りてる?」〜ヤンマガWebで挑戦を続ける新入りエンジニア〜
 
法人向けメタバースプラットフォームの開発の裏側をのぞいてみた(仮)
法人向けメタバースプラットフォームの開発の裏側をのぞいてみた(仮)法人向けメタバースプラットフォームの開発の裏側をのぞいてみた(仮)
法人向けメタバースプラットフォームの開発の裏側をのぞいてみた(仮)
 

Recently uploaded

CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfCCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfAsst.prof M.Gokilavani
 
computer application and construction management
computer application and construction managementcomputer application and construction management
computer application and construction managementMariconPadriquez1
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile servicerehmti665
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AIabhishek36461
 
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor CatchersTechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catcherssdickerson1
 
complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...asadnawaz62
 
Risk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfRisk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfROCENODodongVILLACER
 
Electronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdfElectronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdfme23b1001
 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxwendy cai
 
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfCCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfAsst.prof M.Gokilavani
 
An introduction to Semiconductor and its types.pptx
An introduction to Semiconductor and its types.pptxAn introduction to Semiconductor and its types.pptx
An introduction to Semiconductor and its types.pptxPurva Nikam
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024Mark Billinghurst
 
Churning of Butter, Factors affecting .
Churning of Butter, Factors affecting  .Churning of Butter, Factors affecting  .
Churning of Butter, Factors affecting .Satyam Kumar
 
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsyncWhy does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsyncssuser2ae721
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...srsj9000
 
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETEINFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETEroselinkalist12
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girlsssuser7cb4ff
 
An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...Chandu841456
 

Recently uploaded (20)

CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfCCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
 
computer application and construction management
computer application and construction managementcomputer application and construction management
computer application and construction management
 
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile service
 
young call girls in Green Park🔝 9953056974 🔝 escort Service
young call girls in Green Park🔝 9953056974 🔝 escort Serviceyoung call girls in Green Park🔝 9953056974 🔝 escort Service
young call girls in Green Park🔝 9953056974 🔝 escort Service
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AI
 
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor CatchersTechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
 
complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...
 
Risk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfRisk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdf
 
Electronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdfElectronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdf
 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptx
 
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfCCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
 
An introduction to Semiconductor and its types.pptx
An introduction to Semiconductor and its types.pptxAn introduction to Semiconductor and its types.pptx
An introduction to Semiconductor and its types.pptx
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024
 
Churning of Butter, Factors affecting .
Churning of Butter, Factors affecting  .Churning of Butter, Factors affecting  .
Churning of Butter, Factors affecting .
 
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsyncWhy does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
 
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETEINFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girls
 
An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...
 

Dataflow Visualization using ASCII DAG

  • 1. Dataflow Visualization Using ASCII DAG Junji Hashimoto(GREE, Inc.) 2018/12/04 rev0.2 1
  • 2. Outline ● Why we visualize DAG? ● Background and Motivation ● Left Aligned ASCII DAG(Proposed Visualization) ● Result and Future Works 2
  • 3. Outline ● Why we visualize DAG? ● Background and Motivation ● Left Aligned ASCII DAG(Proposed Visualization) ● Result and Future Works 3
  • 4. DAG(Directed Acyclic Graph)? ● What is DAG? ○ Directed graph. ○ No loop. ● Why we visualize DAG? ○ Tensorflow’s computation graph == DAG ○ DAG is a machine learning core. ○ Have to review and debug DAG. ○ DAG is too long for reviewing it today. 4
  • 5. Outline ● Why we visualize DAG? ● Background and Motivation ○ Development Flow ○ Long Dataflow ● Left Aligned ASCII DAG(Proposed Visualization) ● Result and Future Work 5
  • 6. Agile: Development Flow 1. Check Requirement 2. Design the codes for the requirement. 3. Build and Test the codes 4. Review a. Confirm the requirement. b. Compare the changes of the code. c. If it is OK, go to deployment. 5. Deploy a. Merge the code b. Apply the code for a production. 6 Req. Design Build Deploy Test 1 or 2 Weeks Repeat small tasks.
  • 7. Review: github flow known as Pull Request 7
  • 8. Review: github flow known as Pull Request 8
  • 9. Review: github flow known as Pull Request 9 We want to review the changes of both the code and the dataflow on this UI. Tensorboard can not show the changes of the dataflow.
  • 11. Complex and Long Dataflow 11 AlexNet GoogLeNet Inception-V3 Inception-V4 These data from ICLR 2017:AN ANALYSIS OF DEEP NEURAL NETWORK MODELS FOR PRACTICAL APPLICATIONS VGG is here.
  • 12. Outline ● Why we visualize DAG? ● Background and Motivation ● Left Aligned ASCII DAG(Proposed Visualization) ○ Project Goal ○ Developed Visualization Tool ● Result and Future Work 12
  • 13. Project Goal ● Make visualization-tool for DAG. ● The tool is available in current development flow. ○ Github flow : Pull Request. ● Compare the changes of DAG easily. ● Scalability of showing large dataflow. 13
  • 14. Left Aligned DAG(Proposed Visualization) ● Feature ○ Use ASCII ○ Left Aligned ○ Compact 14 Proposed Visualization Graphviz(Conventional Visualization)
  • 15. The changes of the codes in proposed visualization. 15 Original Insert L8 Diff
  • 16. Performance for large DAG: Inception-V3 16 Graphviz : 44 sec Proposed method: 14sec It looks nice?
  • 17. Result And Future Works ● Make visualization-tool for DAG using ASCII. ○ Registered in PyPi. ○ https://pypi.org/project/stackeddag/ ● Work with Pull Request together. ● Can show a large graph of dataflow. ● Using this on actual product/development flow is a future work. 17
  • 20. Rendering Algorithm 1. Get depth of nodes 2. Gen reversed DAG and Get reversed depth of nodes. 3. Order nodes by the depth. 4. If the depth is the same, order nodes by the reversed depth. 5. If the reversed depth is the same, order nodes by the label of nodes 6. Connect nodes by using ascii text. 20
  • 21. Rendering Algorithm: Get The Depth of All Nodes 21
  • 26. Rendering Algorithm: Get The Reverse Depth 26 33 2 2 2 2 1 0 00 1 0 0 0 2 3
  • 27. Rendering Algorithm: Allocate Nodes 27 33 2 2 2 2 1 0 00 1 0 0 0 2 3
  • 28. Rendering Algorithm: Write All Edges 28 33 2 2 2 2 1 0 00 1 0 0 0 2 3
  • 30. Related Work for visualization of DAG 30 ● Use Image ○ Tensorboard ○ tfGraphviz using graphviz ● Use Ascii ○ graph-easy ○ git ○ graphterm ○ leaf These do not focus on the changes of codes.
  • 31. Tensorboard 31 ● Pros ○ Sophisticated UI ● Cons ○ Can not compare a difference of graphs. ○ Use wide space
  • 32. tfGraphviz == graphviz 32 ● Pros ○ Sophisticated visualization ● Cons ○ Can not compare a difference of graphs.
  • 33. Limit of using image. 33 ● If we use image for graph, ● We have to compare the difference side by side.
  • 34. graph-easy 34 ● Pros ○ We can compare the difference by diff-command. ● Cons ○ Use wide space
  • 35. git 35 ● Pros ○ We can compare the difference by diff-command. ● Cons
  • 36. graphterm 36 ● Pros ○ We can compare the difference by diff-command. ● Cons ○ Not design with diff-command.
  • 37. graphterm 37 ● Pros ○ We can compare the difference by diff-command. ● Cons ○ Not design with diff-command. o new node
  • 38. leaf 38 ● Pros ○ We can compare the difference by diff-command. ● Cons ○ Not design with diff-command.
  • 39. Project Goal ● Make visualization-tool for DAG. ● The tool is available in current development flow. ○ Github flow : Pull Request. ● Compare the changes of DAG easily. ● Scalability of showing large dataflow. 39 If the visualization is ASCII, we can solve the problems of both flow and changes.
  • 40. Proposed Visualization 40 Proposed Visualization of DAG graphviz Left Aligned ASCII Format
  • 41. Background ● Complex and Long Dataflow ● Want to use a visualization tool on today’s development flow. ○ We need a visualization tool for the dataflow. ● How to visualize Dataflow(As Conventional Method) ● Requirement of what we improve ○ reviewable ○ compact ○ fast ● Conventional Method 41
  • 42. Goal ● Why Agile? ○ A project’s goal is always changed. ○ We have to keep 42
  • 43. Outline ● What is a problem? ● Agile Development Flow ● Why we focus on a visualization of DAG? Why we use ASCII? ● Compare with other visualization. ● Left Aligned ASCII DAG ● About rendering algorithm ● Evaluation by using Google Inception V3 ● Results and Future works 43
  • 45. Compex and Long Dataflow 45 AlexNet GoogLeNet Inception-V3 Inception-V4 These data from ICLR 2017:AN ANALYSIS OF DEEP NEURAL NETWORK MODELS FOR PRACTICAL APPLICATIONS VGG is here.
  • 46. Development Flow (Agile) 46 Requirements Waterfall Design Build Test Release Agile 1 Year Req. Design Build Deploy Test Req. Design Build Deploy Test Req. Design Build Deploy Test 1 or 2 Weeks
  • 47. Agile ● Split large task into small tasks. ● One task takes short term. ● Pros ○ Keep the systems available ○ Can catch up the requirement quickly, when requirements are changed. ● Cons ○ Goal is not so clear. ■ Almost OSS like HTTP server do not have clear goal. 47
  • 48. Practical Development flow for agile 1. Check a issue(== Requirement) 2. Design and make the codes for the issue 3. Build and Test with CI 4. Review a. Confirm the issue b. Compare the difference of the code. c. If it is OK, go to deployment. 5. Deploy a. Merge the code b. Apply the code for a production. 48 Req. Design Build Deploy Test 1 or 2 Weeks
  • 49. Review: github flow known as Pull Request 49
  • 50. Review: github flow known as Pull Request 50
  • 51. Review: github flow known as Pull Request 51 We want to review the code and the dataflow.
  • 52. Requirement for our development flow ● Review the dataflow and the code by PullRequest-View/Tool. ● Compare the difference of the dataflow ● If the parts of dataflow are not changed, Do not show any difference. 52
  • 53. Conventional Visualization of Datafllow ● Tensorboard ● tfgraphviz ● Review the dataflow and the code by PullRequest-View/Tool. ● Compare the difference of the dataflow ● Goal ○ Reviewable ■ Compare original graph with modified graph easily. ■ We need ascii graph. ○ Scalability ■ Google’s network has hundred layer of operations. 53
  • 54. Related Work for visualization of DAG 54 ● Use Image ○ Tensorboard ○ tfGraphviz using graphviz ● Use Ascii ○ graph-easy ○ git ○ graphterm ○ leaf
  • 55. Tensorboard 55 ● Pros ○ Sophisticated UI ● Cons ○ Can not compare a difference of graphs. ○ Use wide space
  • 56. tfgraphviz == graphviz 56 ● Pros ○ Sophisticated visualization ● Cons ○ Can not compare a difference of graphs.
  • 57. Limit of using image. 57 ● If we use image for graph, ● We have to compare the difference side by side.
  • 58. graph-easy 58 ● Pros ○ We can compare the difference by diff-command. ● Cons ○ Use wide space
  • 59. git 59 ● Pros ○ We can compare the difference by diff-command. ● Cons
  • 60. graphterm 60 ● Pros ○ We can compare the difference by diff-command. ● Cons ○ Not design with diff-command.
  • 61. graphterm 61 ● Pros ○ We can compare the difference by diff-command. ● Cons ○ Not design with diff-command. o new node
  • 62. leaf 62 ● Pros ○ We can compare the difference by diff-command. ● Cons ○ Not design with diff-command.
  • 63. Goal ● Make visualization-tool for DAG. ● The tool is available in current development flow. ○ Github flow : Pull Request. ● Compare the difference of DAG easily. ● Scalability of showing large dataflow. 63