добавление нескольких метаданных в tflearn CNN - PullRequest
0 голосов
/ 18 ноября 2018

Я использую CNN для (медицинского) анализа и прогнозирования изображений, используя типичные CNN. Я добавил один набор метаданных в сеть CNN, и это, похоже, работает: network = input_data (shape = [..], ..) metadata_1 = input_data (shape = [..], ..)

network = <convolutions and some max pooling>
network = fully_connected(network, 100,..>
network = merge (network, metadata_1)
network = fully_connected ()
...

Теперь, могу ли я расширить это, чтобы сделать это? У кого-нибудь есть опыт? и подводные камни?

network = input_data(shape=[..],..)
metadata_1 = input_data(shape=[..],..)    
...
metadata_n = input_data(shape=[..],..)
network = <convolutions and some max pooling>
network = fully_connected(network, 100,..>
network = merge (network, metadata_1)
...
network = merge (network, metadata_n)
network = fully_connected ()
...

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

1 Ответ

0 голосов
/ 21 ноября 2018

Я думаю, что вы говорите о конкатенации слоев здесь. По крайней мере, это то, что я использовал в своих CNN.

Теперь в вашем случае вы добавляете метаданные в последовательные слои n раз. Это создает n дополнительных слоев, которые могут потребовать много памяти. Что я считаю более интуитивно понятным, так это использование concat слоя и объединение conv и всех слоев метаданных вместе.

network = <convolutions and some max pooling>
network = fully_connected(network, 100,..>  
network = concat (network, metadata_1, metadata_2, ..., metadata_n)
network = fully_connected ()
...

Вы можете получить другие результаты с вашим подходом, но я подозреваю, что не будет большой разницы. Если вы хотите знать, вы должны попробовать оба.

...