Skip to content

hccho2/Tensorflow-2-RNN-Tutorial

Repository files navigation

Tensorflow 2 RNN-tutorial

  • This repository is a tutorial for RNN model developers using Tensorflow 2.
  • 이 tutorial은 tensorflow 1.x 용 RNN Tutorial을 Tensorflow 2에 맞게 수정한 것이다.
  • 이 tutorial 코드를 실행하기 위해서는 Tensorflow 2.2.0, tensorflow_addons 0.10.0 필요
  • tutorial 중간 중간 나오는 코드를 copy하여 실행하면 된다.
  • TensorFlow SIG(Special Interest Group) Addons은 Tensorflow 2에 없는 기능을 구현한 API들이다.
  • tensorflow 1.x 의 tensorflow.contrib.seq2seq는 tensorflow 2.x에서 tensorflow_addons.seq2seq로 변환되었다고 볼 수 있다.
  • 여기서는 Addons 중에서 RNN관련 API를 살펴볼 예정이다.
    • tfa.seq2seq.Sampler
    • tfa.seq2seq.BasicDecoder, tfa.seq2seq.BeamSearchDecoder
    • tfa.seq2seq.dynamic_decode
    • tfa.seq2seq.BahdanauAttention, tfa.seq2seq.LuongAttention
  • Decoder에서 좀 더 다양한 Sampling을 통한 output을 만들어 내기 위해서는 여러가지 Sampler를 다룰 수 있어야 한다.
  • 또한, RNNCell, Sampler를 custumization하여 User Defined RNNCell, Sampler를 만들어 보자(Custom RNNCell, Custom Sampler).

RNN모델의 기본적인 구조와 이를 위한 Tensorflow API를 살펴본다.

  • Introduction & Embedding
  • LSTM, GRU
  • Multi-Layer RNN
  • Bidirectional RNN
  • Tensorflow Addons
  • Decoder, Sampler
  • Encoder-Decoder(seq2seq) 모델
  • Attention 개념.
  • Dot Product Attention, Luong Attention, Bahdanau Attention
  • Tensorflow에서의 Attention 구현 Detail.
  • Beam Search Algorithm과 Tensorflow API tfa.seq2seq.BeamSearchDecoder
  • Minimal Character Model Train 시키기.
  • SampleEmbeddingSampler, ScheduledOutputTrainingSampler
  • tfa.seq2seq.InferenceSampler를 이용하여 Customization해 보자.
  • User Defined Sampler는 왜 필요한가?
  • User Defined Sampler(Custom Sampler) 만들기
  • Custom Layer = User Defined Layer 만들기
  • User Defined RNNCell 만들기

About

Tensorflow 2 RNN tutorial. Tensorflow Addons

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published