Closed grig-guz closed 5 years ago
It seems that there is one sentence shorter than 5 in your case, which caused error for the tf.matrix_band_part
function. One possible solution is to replace the window_size
in this line with something like tf.minimum(window_size, tf.shape(logits)[1])
. You may need to make window_size
a tensor here so that the tf.minimum
function could work. I will consider fixing this later.
Hi, do you know what might be causing the below exception? I'm parsing the raw data in Penn Treebank. Thanks
` Traceback (most recent call last): File "/home/grigorii/anaconda3/envs/tfenv/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 1334, in _do_call return fn(*args) File "/home/grigorii/anaconda3/envs/tfenv/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 1319, in _run_fn options, feed_dict, fetch_list, target_list, run_metadata) File "/home/grigorii/anaconda3/envs/tfenv/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 1407, in _call_tf_sessionrun run_metadata) tensorflow.python.framework.errors_impl.InvalidArgumentError: num_lower must be negative or less or equal to number of rows (4) got: 5 [[{{node encoding/bilinear_attention/MatrixBandPart}} = MatrixBandPart[T=DT_FLOAT, Tindex=DT_INT64, _device="/job:localhost/replica:0/task:0/device:GPU:0"](encoding/bilinear_attention/ones_like, encoding/bilinear_attention/MatrixBandPart/num_lower/_271, encoding/bilinear_attention/MatrixBandPart/num_lower/_271)]] [[{{node encoding/rnn_2/bidirectional_rnn/bw/bw/stack/_287}} = _Recv[client_terminated=false, recv_device="/job:localhost/replica:0/task:0/device:CPU:0", send_device="/job:localhost/replica:0/task:0/device:GPU:0", send_device_incarnation=1, tensor_name="edge_578_encoding/rnn_2/bidirectional_rnn/bw/bw/stack", tensor_type=DT_INT32, _device="/job:localhost/replica:0/task:0/device:CPU:0"]()]]
During handling of the above exception, another exception occurred:
Traceback (most recent call last): File "run.py", line 48, in
segment(args)
File "/home/grigorii/homework/cpsc503/project/datasets/discourse_parsers/NeuralEDUSeg/src/api.py", line 158, in segment
batch_pred_segs = model.segment(batch)
File "/home/grigorii/homework/cpsc503/project/datasets/discourse_parsers/NeuralEDUSeg/src/elmo_crf_seg.py", line 78, in segment
scores, trans_params = self.sess.run([self.scores, self.trans_params], feed_dict)
File "/home/grigorii/anaconda3/envs/tfenv/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 929, in run
run_metadata_ptr)
File "/home/grigorii/anaconda3/envs/tfenv/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 1152, in _run
feed_dict_tensor, options, run_metadata)
File "/home/grigorii/anaconda3/envs/tfenv/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 1328, in _do_run
run_metadata)
File "/home/grigorii/anaconda3/envs/tfenv/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 1348, in _do_call
raise type(e)(node_def, op, message)
tensorflow.python.framework.errors_impl.InvalidArgumentError: num_lower must be negative or less or equal to number of rows (4) got: 5
[[node encoding/bilinear_attention/MatrixBandPart (defined at /home/grigorii/homework/cpsc503/project/datasets/discourse_parsers/NeuralEDUSeg/src/layers.py:40) = MatrixBandPart[T=DT_FLOAT, Tindex=DT_INT64, _device="/job:localhost/replica:0/task:0/device:GPU:0"](encoding/bilinear_attention/ones_like, encoding/bilinear_attention/MatrixBandPart/num_lower/_271, encoding/bilinear_attention/MatrixBandPart/num_lower/_271)]]
[[{{node encoding/rnn_2/bidirectional_rnn/bw/bw/stack/_287}} = _Recv[client_terminated=false, recv_device="/job:localhost/replica:0/task:0/device:CPU:0", send_device="/job:localhost/replica:0/task:0/device:GPU:0", send_device_incarnation=1, tensor_name="edge_578_encoding/rnn_2/bidirectional_rnn/bw/bw/stack", tensor_type=DT_INT32, _device="/job:localhost/replica:0/task:0/device:CPU:0"]()]]
Caused by op 'encoding/bilinear_attention/MatrixBandPart', defined at: File "run.py", line 48, in
segment(args)
File "/home/grigorii/homework/cpsc503/project/datasets/discourse_parsers/NeuralEDUSeg/src/api.py", line 134, in segment
model = AttnSegModel(args, word_vocab)
File "/home/grigorii/homework/cpsc503/project/datasets/discourse_parsers/NeuralEDUSeg/src/elmo_crf_seg.py", line 14, in init
super().init(args, word_vocab)
File "/home/grigorii/homework/cpsc503/project/datasets/discourse_parsers/NeuralEDUSeg/src/base_seg.py", line 38, in init
self._build_graph()
File "/home/grigorii/homework/cpsc503/project/datasets/discourse_parsers/NeuralEDUSeg/src/lstm_seg.py", line 18, in _build_graph
self._encode()
File "/home/grigorii/homework/cpsc503/project/datasets/discourse_parsers/NeuralEDUSeg/src/atten_seg.py", line 20, in _encode
self.encoded_sent, self.placeholders['input_length'], self.window_size)
File "/home/grigorii/homework/cpsc503/project/datasets/discourse_parsers/NeuralEDUSeg/src/layers.py", line 40, in self_attention
restricted_mask = tf.matrix_band_part(tf.ones_like(logits, dtype=tf.float32), window_size, window_size)
File "/home/grigorii/anaconda3/envs/tfenv/lib/python3.6/site-packages/tensorflow/python/ops/gen_array_ops.py", line 4142, in matrix_band_part
num_upper=num_upper, name=name)
File "/home/grigorii/anaconda3/envs/tfenv/lib/python3.6/site-packages/tensorflow/python/framework/op_def_library.py", line 787, in _apply_op_helper
op_def=op_def)
File "/home/grigorii/anaconda3/envs/tfenv/lib/python3.6/site-packages/tensorflow/python/util/deprecation.py", line 488, in new_func
return func(*args, **kwargs)
File "/home/grigorii/anaconda3/envs/tfenv/lib/python3.6/site-packages/tensorflow/python/framework/ops.py", line 3274, in create_op
op_def=op_def)
File "/home/grigorii/anaconda3/envs/tfenv/lib/python3.6/site-packages/tensorflow/python/framework/ops.py", line 1770, in init
self._traceback = tf_stack.extract_stack()
InvalidArgumentError (see above for traceback): num_lower must be negative or less or equal to number of rows (4) got: 5 [[node encoding/bilinear_attention/MatrixBandPart (defined at /home/grigorii/homework/cpsc503/project/datasets/discourse_parsers/NeuralEDUSeg/src/layers.py:40) = MatrixBandPart[T=DT_FLOAT, Tindex=DT_INT64, _device="/job:localhost/replica:0/task:0/device:GPU:0"](encoding/bilinear_attention/ones_like, encoding/bilinear_attention/MatrixBandPart/num_lower/_271, encoding/bilinear_attention/MatrixBandPart/num_lower/_271)]] [[{{node encoding/rnn_2/bidirectional_rnn/bw/bw/stack/_287}} = _Recv[client_terminated=false, recv_device="/job:localhost/replica:0/task:0/device:CPU:0", send_device="/job:localhost/replica:0/task:0/device:GPU:0", send_device_incarnation=1, tensor_name="edge_578_encoding/rnn_2/bidirectional_rnn/bw/bw/stack", tensor_type=DT_INT32, _device="/job:localhost/replica:0/task:0/device:CPU:0"]()]] `