Невозможно передать пакетные данные в нейронную сеть и получить пакетный вывод - PullRequest
0 голосов
/ 27 мая 2019

Я пытаюсь построить индивидуальную сверточную нейронную сеть для целей анализа временных рядов.Таким образом, для каждого образца у меня есть форма [L, 10], в которой L обозначает окно времени, а 10 - количество анализируемых элементов.1D свертки были сделаны соответственно для этих 10 элементов.Когда я попытался скормить модель cnn пакетными данными, мне показалось, что я не смог получить размер вывода, соответствующий размеру пакета.

Я напечатал форму входных данных, как показано ниже, и получил странные результаты,Возможно ли, что я использую фрагменты пакетных данных или я могу только выбросить их в функцию в целом пакете?

def cnn_classifier(x, n_class, dropout):
    print("x shape:", x.get_shape())
    print("x[-1,:,0] shape:", x[-1,:,0].get_shape())
    print("x[-1,:,:] shape:", x[-1,:,:].get_shape())
    print("x[-1,:] shape:", x[-1,:].get_shape())
    conv10 = conv1d(tf.reshape(x[-1, :, 0], [-1, L, 1]), weights['conv1_filter'][0], biases['bc1'][0],1,'SAME')

    x shape: (?, 100, 10)
    x[-1,:,0] shape: (100,)
    x[-1,:,:] shape: (100, 10)
    x[-1,:] shape: (100, 10)
...