Что касается входных и выходных размеров, вы сами определили их на рисунке: вы хотите предсказать вектор длины num_features
(4 на вашем рисунке) из входной матрицы формы (N, num_features)
, где N
число выборок, используемых для одного прогноза.
В тензорном потоке заполнители обычно имеют форму (batch_size, number_of_steps, number_of_features)
.Для вас они могут выглядеть следующим образом
input_holder = tf.placeholder(shape=(batch_size, None, num_features), dtype=..., name='inputs')
target_holder = tf.placeholder(shape=(batch_size, num_features), dtype=..., name='targets')
, если вы не хотите заранее определять N
- тогда вам нужен фиксированный размер партии.В противном случае вы также можете иметь
input_holder = tf.placeholder(shape=(None, N, num_features), dtype=..., name='inputs')
target_holder = tf.placeholder(shape=(None, num_features), dtype=..., name='targets')
, в котором N
будет фиксированной, и переменную размера вашего пакета.(Вы не можете иметь обе переменные.)
Что касается размера вашей сети, вам нужно поэкспериментировать самостоятельно: априори невозможно определить необходимое количество узлов, слоев и т. Д.