/TensorFlowKR-2017-talk-bestpractice

[WIP] Slides and Tutorial Codes for the talk 'Toward Best Practices of TensorFlow Code Patterns' (2017)

Primary LanguageCSS

Toward Best Practices of TensorFlow Code Patterns

Jongwook Choi (@wookayin) and Beomjun Shin (@shastakr)

https://wookayin.github.io/TensorFlowKR-2017-talk-bestpractice/

A talk in the 2nd meetup of TensorFlow Korea Group
January 14th, 2017

Slides

Abstract (In Korean)

์ด๋ฒˆ ๋ฐœํ‘œ์—์„œ๋Š” (์ฃผ๋กœ ์—ฐ๊ตฌ ํ”„๋กœ์ ํŠธ๋ฅผ ์œ„ํ•œ) TensorFlow ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ๋•Œ์˜ Best Practice ๊ทธ๋ฆฌ๊ณ  Code Patterns ์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•ฉ๋‹ˆ๋‹ค. ์ž ์ •์ ์œผ๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋‚ด์šฉ๋“ค์„ ๋‹ค๋ฃฐ ์˜ˆ์ •์ž…๋‹ˆ๋‹ค:

  • ๊ตฌํ˜„ ๋ฐ ์„ค๊ณ„ ์‹œ์˜ ๊ฐ์ข… ์š”๊ตฌ์‚ฌํ•ญ/๊ณ ๋ ค์‚ฌํ•ญ
  • TensorFlow์˜ ๋ชจ๋ธ ๋ชจ๋“ˆํ™” ๋ฐ ์ถ”์ƒํ™” ํŒจํ„ด (+ํšก๋‹จ๊ด€์‹ฌ์˜ ์ฒ˜๋ฆฌ ๋ฐฉ๋ฒ•)
  • High-level API ์ ๊ทน์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๊ธฐ (tf.contrib.layers, tf.slim, tf.learn ๋“ฑ)
  • (i) ๋ชจ๋ธ ์ฝ”๋“œ ์ž‘์„ฑ (ii) ๋ฐ์ดํ„ฐ์…‹ ๋ฐ ํŠธ๋ ˆ์ด๋‹ ์ƒ์šฉ๊ตฌ (iii) ์‹คํ—˜ ๋ฐ ์„ค์ • ๊ด€๋ฆฌ (iv) ๊ธฐํƒ€ ์ž์ž˜ํ•œ ํŒ ๋“ฑ์— ๊ด€ํ•œ ํŒจํ„ด๊ณผ ์ฝ”๋“œ ์˜ˆ์ œ

Abstract

In this talk, we aim to deliver several best practices, guidelines, and code patterns for writing TensorFlow codes, mainly when conducting research projects. A tentative and incomplete list of topics:

  • Common requirements and frequent design concerns in implementation
  • Patterns of model modularization and abstraction in TensorFlow (+ cross-cutting concerns)
  • Using modern and high-level APIs (tf.contrib.layers, tf.slim, tf.learn, etc.)
  • Patterns and code examples on: (i) styles of model writing, (ii) dataset loader and training boilerplates, (iii) management of experiments and configuration, and (iv) other general and miscellaneous tips.

Note

The talk will given in Korean, but I will self-translate the material into English shortly after the talk.

The topics are mainly based on the authors' personal experience, so may contain some opinionated suggestions. Of course, there cannot be the only answer: Please contact me if you have a suggestion, a question, or an idea that can improve the contents of this talk!