Je suis nouveau à tensorflow (1 jour d'expérience).Quelle devrait être la taille de l'entrée et de l'état caché dans GRUCell de tensorflow (python)?
Je suis en train suivant petit code pour créer un simple RNN à base GRU avec une seule couche et la taille cachée de 100 comme suit:
import pickle
import numpy as np
import pandas as pd
import tensorflow as tf
# parameters
batch_size = 50
hidden_size = 100
# create network graph
input_data = tf.placeholder(tf.int32, [batch_size])
output_data = tf.placeholder(tf.int32, [batch_size])
cell = tf.nn.rnn_cell.GRUCell(hidden_size)
initial_state = cell.zero_state(batch_size, tf.float32)
hidden_state = initial_state
output_of_cell, hidden_state = cell(input_data, hidden_state)
Mais j'obtiens l'erreur suivante pour la dernière ligne (c.-à appeler à cell()
)
Linear is expecting 2D arguments: [[50], [50, 100]]
Qu'est-ce que je fais mal?
En fait, en utilisant 'input_data = tf.placeholder (tf.float32, [batch_size, 1])' travaillée. J'ai ensuite dû remodeler mes données d'entrée d'un tableau de longueur '50' à une matrice' 50X1'. – Sangram
Modifié pour prendre en compte 'input_size'. Oui, en général, votre vecteur d'entrée peut être de taille arbitraire. – keveman
Merci! Je pense que vous serez en mesure de m'aider plus loin. Pourriez-vous s'il vous plaît jeter un oeil à: http://stackoverflow.com/questions/38233056/how-can-i-complete-following-gru-based-rnn-written-in-tensorflow – Sangram