bugfix> tensorflow > 投稿
 File "model_VQA.py", line 279, in train
    tf_loss, tf_image, tf_question, tf_label = model.build_model()
  File "model_VQA.py", line 53, in build_model
    state = tf.zeros([self.batch_size, self.stacked_lstm.state_size])
  File "/home/xus/.virtualenvs/vqa/local/lib/python2.7/site-packages/tensorflow/python/ops/array_ops.py", line 1359, in zeros
...
ValueError: setting an array element with a sequence.

`

# question-embedding
    self.embed_ques_W = tf.Variable(tf.random_uniform([self.vocabulary_size, self.input_embedding_size], -0.08, 0.08), name='embed_ques_W')#self.vocabulary_size=14470 self.input_embedding_size=200
  # encoder: RNN body
    self.lstm_1 = tf.contrib.rnn.LSTMCell(rnn_size, input_embedding_size, use_peepholes=True)#rnn_size=512,input_embedding_size=200
    self.lstm_dropout_1 =tf.contrib.rnn.DropoutWrapper(self.lstm_1, output_keep_prob = 1 - self.drop_out_rate)#self.drop_out_rate=0
    self.lstm_2 = tf.contrib.rnn.LSTMCell(rnn_size, rnn_size, use_peepholes=True)
    self.lstm_dropout_2 = tf.contrib.rnn.DropoutWrapper(self.lstm_2, output_keep_prob = 1 - self.drop_out_rate)
    self.stacked_lstm = tf.contrib.rnn.MultiRNNCell([self.lstm_dropout_1, self.lstm_dropout_2])#state_is_tuple=False)
    # state-embedding
    self.embed_state_W = tf.Variable(tf.random_uniform([2*rnn_size*rnn_layer, self.dim_hidden], -0.08,0.08),name='embed_state_W')#dim_hidden=1024
    self.embed_state_b = tf.Variable(tf.random_uniform([self.dim_hidden], -0.08, 0.08), name='embed_state_b')
    # image-embedding
    self.embed_image_W = tf.Variable(tf.random_uniform([dim_image, self.dim_hidden], -0.08, 0.08), name='embed_image_W')#dim_image=4096
    self.embed_image_b = tf.Variable(tf.random_uniform([dim_hidden], -0.08, 0.08), name='embed_image_b')
    # score-embedding
    self.embed_scor_W = tf.Variable(tf.random_uniform([dim_hidden, num_output], -0.08, 0.08), name='embed_scor_W')#num_output=1000
    self.embed_scor_b = tf.Variable(tf.random_uniform([num_output], -0.08, 0.08), name='embed_scor_b')
def build_model(self):
    image = tf.placeholder(tf.float32, [self.batch_size, self.dim_image])
    question = tf.placeholder(tf.int32, [self.batch_size, self.max_words_q])
    label = tf.placeholder(tf.int64, [self.batch_size,])
    state = tf.zeros([self.batch_size, self.stacked_lstm.state_size])#self.batch_size=500

「ありがとう」 誰もこのエラーの原因を教えてくれますか?私はVQAプロジェクトをしています、このコードはgithubからのものであり、リンクはhttps://github.com/JamesChuanggg/VQA-tensorflow/blob/master/model_VQA.py

回答 1 件
  • モデルに入力する入力(データセットとラベル)を確認します。値エラーは、1つ以上の入力の形状が間違っていることが原因である可能性があります。入力を印刷し、それらがすべて正しい次元の配列であることを確認することをお勧めします。さらにサポートが必要な場合は、質問にコードを添付すると、問題をより正確に特定するのに役立ちます。

あなたの答え