CNTK/Examples/SequenceToSequence/README.md

1.1 KiB

This example demonstrates the use of CNTK for grapheme-to-phoneme (letter-to-sound) conversion using a sequence-to-sequence model with attention, using the CMUDict dictionary.

The code supports a number of alternative configurations. As configured currently, it implements

  • a 3-hidden layer unidirectional LSTM encoder network, all hidden dimensions are 512
  • a 3-hidden layer unidirectional LSTM decoder network, all hidden dimensions are 512
  • encoder state is passed to the decoder by means of attention, with projection dimension 128 and maximum input length of 20 tokens
  • embedding is disabled (because the 'vocabulary' of the task, letters and phonemes, is very small)
  • beam decoder with beam width 3

To Use

Modify the following in G2P.cntk as needed:

  • pathnames
  • deviceId to specify CPU (-1) or GPU (>=0 or "auto")

Run:

  • command line: cntk configFile=Examples/SequenceToSequence/CMUDict/Config/G2P.cntk RunRootDir=g2p
  • VS Debugger: configFile=$(SolutionDir)Examples/SequenceToSequence/CMUDict/Config/G2P.cntk RunRootDir=$(SolutionDir)Examples/SequenceToSequence/CMUDict