hunkim / DeepLearningZeroToAll

TensorFlow Basic Tutorial Labs

Home Page:https://www.youtube.com/user/hunkims

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Code does not work(lab-12-0-rnn_basics)

neighborpil opened this issue · comments

with tf.variable_scope('MultiRNNCell') as scope:
# Make rnn
cell = rnn.BasicLSTMCell(num_units=5, state_is_tuple=True)
cell = rnn.MultiRNNCell([cell] * 3, state_is_tuple=True) # 3 layers

# rnn in/out
outputs, _states = tf.nn.dynamic_rnn(cell, x_data, dtype=tf.float32)
print("dynamic rnn: ", outputs)
sess.run(tf.global_variables_initializer())
pp.pprint(outputs.eval())  # batch size, unrolling (time), hidden_size

========================================
I got the error while trying this code and I don't know why.

Traceback (most recent call last):
File "D:\ProgramFiles\Anaconda3\lib\site-packages\tensorflow\python\framework\ops.py", line 1589, in _create_c_op
c_op = c_api.TF_FinishOperation(op_desc)
tensorflow.python.framework.errors_impl.InvalidArgumentError: Dimensions must be equal, but are 10 and 8 for 'MultiRNNCell/rnn/while/rnn/multi_rnn_cell/cell_0/basic_lstm_cell/MatMul_1' (op: 'MatMul') with input shapes: [3,10], [8,20].

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "D:\Codes\GitRepository\PY_DeepLearningForEverybody\Lab12\Lab12\Lab12.py", line 120, in
outputs, _states = tf.nn.dynamic_rnn(cell, x_data, dtype=tf.float32)
File "D:\ProgramFiles\Anaconda3\lib\site-packages\tensorflow\python\ops\rnn.py", line 618, in dynamic_rnn
dtype=dtype)
File "D:\ProgramFiles\Anaconda3\lib\site-packages\tensorflow\python\ops\rnn.py", line 815, in _dynamic_rnn_loop
swap_memory=swap_memory)
File "D:\ProgramFiles\Anaconda3\lib\site-packages\tensorflow\python\ops\control_flow_ops.py", line 3209, in while_loop
result = loop_context.BuildLoop(cond, body, loop_vars, shape_invariants)
File "D:\ProgramFiles\Anaconda3\lib\site-packages\tensorflow\python\ops\control_flow_ops.py", line 2941, in BuildLoop
pred, body, original_loop_vars, loop_vars, shape_invariants)
File "D:\ProgramFiles\Anaconda3\lib\site-packages\tensorflow\python\ops\control_flow_ops.py", line 2878, in _BuildLoop
body_result = body(*packed_vars_for_body)
File "D:\ProgramFiles\Anaconda3\lib\site-packages\tensorflow\python\ops\control_flow_ops.py", line 3179, in
body = lambda i, lv: (i + 1, orig_body(*lv))
File "D:\ProgramFiles\Anaconda3\lib\site-packages\tensorflow\python\ops\rnn.py", line 786, in _time_step
(output, new_state) = call_cell()
File "D:\ProgramFiles\Anaconda3\lib\site-packages\tensorflow\python\ops\rnn.py", line 772, in
call_cell = lambda: cell(input_t, state)
File "D:\ProgramFiles\Anaconda3\lib\site-packages\tensorflow\python\ops\rnn_cell_impl.py", line 232, in call
return super(RNNCell, self).call(inputs, state)
File "D:\ProgramFiles\Anaconda3\lib\site-packages\tensorflow\python\layers\base.py", line 329, in call
outputs = super(Layer, self).call(inputs, *args, **kwargs)
File "D:\ProgramFiles\Anaconda3\lib\site-packages\tensorflow\python\keras\engine\base_layer.py", line 703, in call
outputs = self.call(inputs, *args, **kwargs)
File "D:\ProgramFiles\Anaconda3\lib\site-packages\tensorflow\python\ops\rnn_cell_impl.py", line 1325, in call
cur_inp, new_state = cell(cur_inp, cur_state)
File "D:\ProgramFiles\Anaconda3\lib\site-packages\tensorflow\python\ops\rnn_cell_impl.py", line 339, in call
*args, **kwargs)
File "D:\ProgramFiles\Anaconda3\lib\site-packages\tensorflow\python\layers\base.py", line 329, in call
outputs = super(Layer, self).call(inputs, *args, **kwargs)
File "D:\ProgramFiles\Anaconda3\lib\site-packages\tensorflow\python\keras\engine\base_layer.py", line 703, in call
outputs = self.call(inputs, *args, **kwargs)
File "D:\ProgramFiles\Anaconda3\lib\site-packages\tensorflow\python\ops\rnn_cell_impl.py", line 638, in call
array_ops.concat([inputs, h], 1), self._kernel)
File "D:\ProgramFiles\Anaconda3\lib\site-packages\tensorflow\python\ops\math_ops.py", line 2014, in matmul
a, b, transpose_a=transpose_a, transpose_b=transpose_b, name=name)
File "D:\ProgramFiles\Anaconda3\lib\site-packages\tensorflow\python\ops\gen_math_ops.py", line 4567, in mat_mul
name=name)
File "D:\ProgramFiles\Anaconda3\lib\site-packages\tensorflow\python\framework\op_def_library.py", line 787, in _apply_op_helper
op_def=op_def)
File "D:\ProgramFiles\Anaconda3\lib\site-packages\tensorflow\python\framework\ops.py", line 3414, in create_op
op_def=op_def)
File "D:\ProgramFiles\Anaconda3\lib\site-packages\tensorflow\python\framework\ops.py", line 1756, in init
control_input_ops)
File "D:\ProgramFiles\Anaconda3\lib\site-packages\tensorflow\python\framework\ops.py", line 1592, in _create_c_op
raise ValueError(str(e))
ValueError: Dimensions must be equal, but are 10 and 8 for 'MultiRNNCell/rnn/while/rnn/multi_rnn_cell/cell_0/basic_lstm_cell/MatMul_1' (op: 'MatMul') with input shapes: [3,10], [8,20].

This issue is stale because it has been open 30 days with no activity. Leave a comment or this will be closed in 5 days.