Chcę trenować sieć z krzywymi płaskimi, które reprezentuję jako tablice numpy o kształcie (L,2)
. Liczba 2 oznacza współrzędne x, y, a L to liczba punktów, która zmienia się w moim zestawie danych. Traktuję x, y jako 2 różne "kanały".Jak wprowadzić dane wejściowe ze zmianą rozmiaru w Tensorflow
Zaimplementowałem funkcję, next_batch(batch_size)
, która zapewnia następną partię jako tablicę 1D numpy o kształcie (batch_size,)
, zawierającą elementy będące tablicami 2D o kształcie: (L,2)
. To są moje krzywe, i jak już wcześniej wspomniano, L jest różny pomiędzy żywiołami. (Nie chciałem ograniczać się do ustalonej liczby punktów na krzywej).
Moje pytanie:
Jak mogę manipulować wyjście z next_batch()
więc będę w stanie zasilać sieć z krzywymi wejściowych, wykorzystując schemat podobny do tego, co pojawia się w Tensorflow tutorialu: https://www.tensorflow.org/get_started/mnist/pros
tj. przy użyciu mechanizmu feed_dict
. w danym turorial wielkości wejściowej została ustalona w linii kodu samouczek za:
train_step.run(feed_dict={x: batch[0], y_: batch[1], keep_prob: 0.5})
batch[0]
ma stały kształt: (50,784)
(50 = # próbek, 784 = #pixels)
Nie mogę przekształcić mój wprowadzanie do numpy array o kształcie (batch_size,L,2)
, ponieważ tablica powinna mieć stały rozmiar w każdym wymiarze. Więc co mogę zrobić?
już zdefiniowany zastępczy (które mogą mieć nieznaną wielkość):
#first dimension is the sample dim, second is curve length, third:x,y coordinates
x = tf.placeholder(tf.float32, [None, None,2])
ale jak mogę karmić go właściwie?
Bardzo dziękuję
Czy dopełnienie wejścia jest możliwym rozwiązaniem? –
Niestety, nie, w moim problemie –
@Day_Dreamer trzeba go podkładać w celu użycia batchowania. A co z tworzeniem zastępczego długości? – Maxim