Как я могу создать модель глубокого обучения для двумерного ввода и вывода? - PullRequest
0 голосов
/ 25 мая 2020

Я работаю над проектом о глубоком обучении. У меня есть массив с формой (101,3) и вывод с формой (101,3). Это означает, что каждая строка входных данных связана с той же строкой в ​​выходных данных. Моя цель - создать модель глубокого обучения для обучения моего набора данных. Я провел небольшое исследование и нашел несколько примеров. Один из них находится по этой ссылке . Я понимаю, что мне нужна модель "многие ко многим", но я не знаю, как ее создать. Пожалуйста, не могли бы вы мне помочь? Как я могу создать эту модель или есть ли какие-либо ресурсы, которые вы можете предложить.

Ответы [ 2 ]

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

Вы можете использовать следующее. Начните свое путешествие с этого учебного пособия . Вы можете поиграть, удалив несколько слоев ниже или добавив больше слоев, и посмотрите, как меняются ваши результаты.

model = tf.keras.models.Sequential([
  tf.keras.layers.Dense(128, activation='relu',input_shape=(3,)),
  tf.keras.layers.Dense(64, activation='relu'),
  tf.keras.layers.Dense(32, activation='relu'),
  tf.keras.layers.Dense(3)
])

архитектура модели выглядит следующим образом

Model: "sequential_3"
_________________________________________________________________
Layer (type)                 Output Shape              Param #   
=================================================================
dense_6 (Dense)              (None, 128)               512       
_________________________________________________________________
dense_7 (Dense)              (None, 64)                8256      
_________________________________________________________________
dense_8 (Dense)              (None, 32)                2080      
_________________________________________________________________
dense_9 (Dense)              (None, 3)                 99        
=================================================================
Total params: 10,947
Trainable params: 10,947
Non-trainable params: 0
_________________________________________________________________
1 голос
/ 25 мая 2020

Вы можете использовать что-то вроде этого, которое вам, возможно, придется изменить в зависимости от производительности сети,

from tensorflow.keras.layers import RepeatVector, TimeDistributed, Dense, LSTM
from tensorflow.keras.models import *

model = Sequential()

# encoder layer
model.add(LSTM(100, activation='relu', return_sequences= True, input_shape=(101, 3)))

# decoder layer
model.add(LSTM(100, activation='relu', return_sequences=True))

model.add(TimeDistributed(Dense(3)))
model.compile(optimizer='adam', loss='mse')

print(model.summary())
...