the 'g_outputs' is the output state sequences since it's returned by 'dynamic_rnn' function. However, in your code nn.py Line106, the h is the cell state of RNN so the h_seq is recording the cell state sequence.
h_seq.append(tf.expand_dims(h, 1))
output, h = cell(inp, h)
However, these two tensors are feed into the discriminator then, despite they are recording different values: one for output states of RNN and one for cell states. While the first timestep of soft_h_tsf and teach_h are both cell states, the following timesteps seem to record different kinds of sequence. I'm afraid the discriminator might just learn to differentiate whether the input is cell states or output states. I think these two sequences should both be cell state sequences to support your ideas in the paper.
Is the implementation intended or an implementation bug?
I have some confusion of your code implementation and I think it might not be consistent with the description in the paper.
in style_transfer.py Line 89
the 'g_outputs' is the output state sequences since it's returned by 'dynamic_rnn' function. However, in your code
nn.py
Line106, theh
is the cell state of RNN so theh_seq
is recording the cell state sequence.However, these two tensors are feed into the discriminator then, despite they are recording different values: one for output states of RNN and one for cell states. While the first timestep of
soft_h_tsf
andteach_h
are both cell states, the following timesteps seem to record different kinds of sequence. I'm afraid the discriminator might just learn to differentiatewhether the input is cell states or output states
. I think these two sequences should both becell state sequences
to support your ideas in the paper. Is the implementation intended or an implementation bug?Looking forward to your reply! Thanks!