Как сделать так, чтобы модель keras принимала тензор (None,) в качестве входных данных - PullRequest
0 голосов
/ 06 мая 2020

Я использую API tf.keras и хочу, чтобы моя модель принимала входные данные с формой (None,), None - это batch_size.

shape keras.layers.Input () не включает batch_size, поэтому я думаю, что его нельзя использовать.

Есть ли способ достичь моей цели? Я предпочитаю решение без tf.placeholder, так как оно устарело.

Кстати, моя модель - это модель встраивания предложений, поэтому я хочу, чтобы ввод был примерно таким: ['How are you.', 'Good morning. ']

====================== Обновление:

В настоящее время я могу создать входной слой с layers.Input(dtype=tf.string,shape=1) , но для этого нужно, чтобы я вводил что-то вроде [['How are you.'],['Good morning.']]. Я хочу, чтобы мой ввод имел только одно измерение.

Ответы [ 2 ]

1 голос
/ 06 мая 2020

Вы пробовали tf.keras.layers.Input(dtype=tf.string, shape=())?

0 голосов
/ 06 мая 2020

Если вы хотите установить конкретный размер пакета c, tf.keras.Input() действительно включает параметр batch_size. Но предполагается, что размер пакета по умолчанию равен None, поэтому вам даже не нужно ничего менять.

Теперь кажется, что вы действительно хотите иметь возможность предоставлять образцы (предложения) переменной длины. Хорошие новости! Слой tf.keras.layers.Embedding позволяет вам это делать, хотя сначала вам нужно будет сгенерировать кодировку для ваших предложений. На веб-сайте Tensorflow есть хорошее руководство по процессу.

...