TensorFlowKR-2017-talk-bestpractice icon indicating copy to clipboard operation
TensorFlowKR-2017-talk-bestpractice copied to clipboard

πŸ’¬ Slides and Tutorial Codes for the talk 'Toward Best Practices of TensorFlow Code Patterns' (2017)

Toward Best Practices of TensorFlow Code Patterns

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

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


🚧 Warning!! 🚧

Many contents in this talk are outdated (and thus less recommended) as they were based on older versions of TensorFlow.
TensorFlow now has more handy APIs and is moving toward TF 2.0 that encourages many better practices.
This repository is kept only for archival purposes.


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

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!