## What's new? |

## todo list for rnnt - 컴퓨터 |

1. Decoding module

2. input noise, then can fully reproduce the RNN-T paper.

3. peephole, then can fully reproduce the CTC paper.

prep timit dataset accoring to the RNN-T paper..

- train 3512

- valid 184 (drawn from training set) why...?

- test 192

but .. Timit composes of 4620 training, 1680 test uttrances..

2. input noise, then can fully reproduce the RNN-T paper.

3. peephole, then can fully reproduce the CTC paper.

**Timit data preperation..**prep timit dataset accoring to the RNN-T paper..

- train 3512

- valid 184 (drawn from training set) why...?

- test 192

but .. Timit composes of 4620 training, 1680 test uttrances..

written time : 2019-10-06 02:14:34.0

## lm for asr - 컴퓨터 |

0. bos vs nobos

1. peephole: TF2.0 can be simple solution for this..

2. generative accuracy uni-lstm vs bi-lstm: 10/1 using ptb.. ?

- https://medium.com/@david.campion/text-generation-using-bidirectional-lstm-and-doc2vec-models-1-3-8979eb65cb3a

3. Reviewing NIPs paper: 10/1

- https://papers.nips.cc/paper/5651-bidirectional-recurrent-neural-networks-as-generative-models.pdf

1. peephole: TF2.0 can be simple solution for this..

2. generative accuracy uni-lstm vs bi-lstm: 10/1 using ptb.. ?

- https://medium.com/@david.campion/text-generation-using-bidirectional-lstm-and-doc2vec-models-1-3-8979eb65cb3a

3. Reviewing NIPs paper: 10/1

- https://papers.nips.cc/paper/5651-bidirectional-recurrent-neural-networks-as-generative-models.pdf

written time : 2019-09-30 22:42:56.0

## adding a new lambda layer for keras models in multi-gpu env. - 컴퓨터 |

git: https://github.com/sephiroce/kmlm, commit id: 1578f99

To input variable-length sequences into CuDNNLSTM layers, I needed to build-up a lambda function.

The return value of the lambda function was a logprob which is a scalar.

I faced "Can't+concatenate+scalars+(use+tf.stack+instead)" ...

The solution was to expand the value using tf.expand and I modified to use y_pred[0] not y_pred.

in lambda function.

import keras.backend as K

loss = tf.reduce_sum(full_logprob * seq_mask)

return K.expand_dims(loss, axis=0)

when compiling the models.

model.compile(loss={Constants.KEY_CCE:lambda y_true, y_pred: y_pred[0]},

optimizer=optimizer)

the problem seems to be solved.

To input variable-length sequences into CuDNNLSTM layers, I needed to build-up a lambda function.

The return value of the lambda function was a logprob which is a scalar.

I faced "Can't+concatenate+scalars+(use+tf.stack+instead)" ...

The solution was to expand the value using tf.expand and I modified to use y_pred[0] not y_pred.

in lambda function.

import keras.backend as K

loss = tf.reduce_sum(full_logprob * seq_mask)

return K.expand_dims(loss, axis=0)

when compiling the models.

model.compile(loss={Constants.KEY_CCE:lambda y_true, y_pred: y_pred[0]},

optimizer=optimizer)

the problem seems to be solved.

written time : 2019-09-23 23:44:09.0