Формы ввода / вывода GAN для последовательных данных - PullRequest
0 голосов
/ 24 апреля 2019

Я пытаюсь прогнозировать временные ряды с использованием GAN. Я использую MXNet / Gluon. Таким образом, у меня есть последовательные данные размера (N, 1), которые я преобразовал в (N-stepsize, stepsize). Теперь мне трудно понять, какие формы сети входные. Здесь код для сетей Генератор и Дискриминатор.

netG = nn.Sequential()
with netG.name_scope():
    netG.add(nn.Dense(20))
    netG.add(nn.BatchNorm(momentum = 0.8))
    netG.add(nn.Dropout(0.5))
    netG.add(nn.Dense(15))
    netG.add(nn.BatchNorm(momentum = 0.8))
    netG.add(nn.Dropout(0.5))
    netG.add(nn.Dense(20))
    netG.add(nn.BatchNorm(momentum = 0.8))
    netG.add(nn.Dropout(0.5))
    netG.add(nn.Dense(step_size, activation = "tanh"))


#300, 50, 2
#input shape is inferred
netD = nn.Sequential()
with netD.name_scope():
    netD.add(nn.Dense(20))
    netG.add(nn.BatchNorm(momentum = 0.8))
    netD.add(nn.Dense(15, activation='tanh'))
    netG.add(nn.BatchNorm(momentum = 0.8))
    netD.add(nn.Dense(20, activation='tanh'))
    netD.add(nn.Dense(step_size))

Заранее спасибо.

1 Ответ

0 голосов
/ 30 апреля 2019

Вы можете проверить формы тензора с помощью следующего кода: print(mx.viz.print_summary(netG(mx.sym.var('data')), shape={'data':(1,100,10)})) Я предполагаю, что здесь N-размер равен 100, а размер шага равен 10.

У вас есть 2 ошибки в дискриминаторе: вы добавляетеслои Batchnorm до netG вместо netD

...