関数に合わせようとする短いコードがあります。しかし、データを tflearn rnn にフィードする方法が心配です。
X 入力は [45,1,8] (45 サンプル、4 タイムステップ、および 8 特徴量) 配列です。したがって、目的は差分要素を最小化することであるため、Y 入力は [45,1,8] 配列にする必要があります。 -賢い。
ただし、これを試行すると、次のエラーがスローされます
Cannot feed value of shape (45, 1, 8) for Tensor 'TargetsData/Y:0', which has shape '(?, 8)'
私は自分のエラーを理解できないようです。どんな助けでも大歓迎です。
注: 誰かが同様の問題を解決したようですが、回答tensorflow/tflearn 入力形状を理解できません
完全なコード
def mod(rnn_output,state):
Tau = tfl.variable(name='GRN', shape=[8],
initializer='uniform_scaling',
regularizer='L2')
Timestep = tf.constant(6.0,shape=[8])
one = tf.div(Timestep,Tau)
two = rnn_output
three = tf.mul(tf.sub(tf.ones(shape=[num_genes]),one),state)
four = tf.mul(one,two)
five = tf.add(four,three)
return(five)
net = tfl.input_data(shape=[None,4,8])
out, state = tfl.layers.recurrent.simple_rnn(net,8,return_state=True
,name='RNN')
net = tfl.layers.core.custom_layer(out,mod,state=state)
net = tfl.layers.estimator.regression(net)
# Define model
model = tfl.DNN(net)
# Start training (apply gradient descent algorithm)
model.fit(train_x, train_y, n_epoch=10, batch_size=45, show_metric=True)