richliao / textClassifier

Text classifier for Hierarchical Attention Networks for Document Classification
Apache License 2.0
1.07k stars 379 forks source link

Dimensions must be equal, but are 15 and 100 for 'att_layer_2/mul' (op: 'Mul') with input shapes: [?,15], [?,15,100]. #37

Open asherxyw opened 5 years ago

asherxyw commented 5 years ago

When I ran by using python textClassifierHATT.py in Anaconda, I got this error: Using TensorFlow backend. (25000, 3) textClassifierHATT.py:56: UserWarning: No parser was explicitly specified, so I'm using the best available HTML parser for this system ("html.parser"). This usually isn't a problem, but if you run this code on another system, or in a different virtual environment, it may use a different parser and behave differently.

The code that caused this warning is on line 56 of the file textClassifierHATT.py. To get rid of this warning, pass the additional argument 'features="html.parser"' to the BeautifulSoup constructor.

text = BeautifulSoup(data_train.review[idx]) /home/user/anaconda3/envs/py27_env/lib/python2.7/site-packages/keras_preprocessing/text.py:177: UserWarning: The nb_words argument in Tokenizer has been renamed num_words. warnings.warn('The nb_words argument in Tokenizer ' Total 80568 unique tokens. ('Shape of data tensor:', (25000, 15, 100)) ('Shape of label tensor:', (25000, 2)) Number of positive and negative reviews in traing and validation set [10026. 9974.] [2474. 2526.] Total 400000 word vectors. 2018-11-20 09:49:08.166457: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA Traceback (most recent call last): File "textClassifierHATT.py", line 188, in l_att_sent = AttLayer(100)(l_lstm_sent) File "/home/user/anaconda3/envs/py27_env/lib/python2.7/site-packages/keras/engine/base_layer.py", line 457, in call output = self.call(inputs, kwargs) File "textClassifierHATT.py", line 167, in call ait = K.cast(mask, K.floatx()) File "/home/user/anaconda3/envs/py27_env/lib/python2.7/site-packages/tensorflow/python/ops/math_ops.py", line 866, in binary_op_wrapper return func(x, y, name=name) File "/home/user/anaconda3/envs/py27_env/lib/python2.7/site-packages/tensorflow/python/ops/math_ops.py", line 1131, in _mul_dispatch return gen_math_ops.mul(x, y, name=name) File "/home/user/anaconda3/envs/py27_env/lib/python2.7/site-packages/tensorflow/python/ops/gen_math_ops.py", line 5042, in mul "Mul", x=x, y=y, name=name) File "/home/user/anaconda3/envs/py27_env/lib/python2.7/site-packages/tensorflow/python/framework/op_def_library.py", line 787, in _apply_op_helper op_def=op_def) File "/home/user/anaconda3/envs/py27_env/lib/python2.7/site-packages/tensorflow/python/util/deprecation.py", line 488, in new_func return func(args, kwargs) File "/home/user/anaconda3/envs/py27_env/lib/python2.7/site-packages/tensorflow/python/framework/ops.py", line 3274, in create_op op_def=op_def) File "/home/user/anaconda3/envs/py27_env/lib/python2.7/site-packages/tensorflow/python/framework/ops.py", line 1792, in init control_input_ops) File "/home/user/anaconda3/envs/py27_env/lib/python2.7/site-packages/tensorflow/python/framework/ops.py", line 1631, in _create_c_op raise ValueError(str(e)) ValueError: Dimensions must be equal, but are 15 and 100 for 'att_layer_2/mul' (op: 'Mul') with input shapes: [?,15], [?,15,100]. What was going wrong?Can anyone help me?

uchaoxi commented 5 years ago

I have the same problem

snsxf commented 5 years ago

Me,too

snsxf commented 5 years ago

compute_mask (): return None

asherxyw commented 5 years ago

compute_mask (): return None

I got that errors when I used the version of python is 3.5,Then I change the version to 2.7, and the error didn't occur.

tingfang2018 commented 5 years ago

I change the version to 2.7, the error still occurs. How to deal with it?

asherxyw commented 5 years ago

I change the version to 2.7, the error still occurs. How to deal with it? You need to change the version of your keras to 2.0.8, and don't use the latest version.

yiqingzhang commented 5 years ago

I met the same issue

asherxyw commented 5 years ago

I met the same issue

Make sure the version of keras is 2.0.8 and the version of python is 2.7

srivianand987 commented 5 years ago

compute_mask (): return None

Thanks, this worked for me with Python3.6

sachinh35 commented 5 years ago

compute_mask (): return None

Worked, thanks :smiley:

yaoguangzi commented 4 years ago

compute_mask (): return None

python 3.7, worked, thanks

Zhouyuan-Chen commented 2 years ago

compute_mask (): return None

WORKED!!!!