Skip to content

dimension mismatch error on weight loading #4

Description

@DSLituiev

I am getting this error while trying to run GNorm2.sh:

Traceback (most recent call last):
  File "/home/dlituiev/GNorm2/GeneNER_SpeAss_run.py", line 716, in <module>
    speciesAss(args.NERoutpath,args.SAoutpath, args.SAmodel)
  File "/home/dlituiev/GNorm2/GeneNER_SpeAss_run.py", line 623, in speciesAss
    nn_model.load_model(modelfile)
  File "/home/dlituiev/GNorm2/src_python/SpeAss/model_sa.py", line 103, in load_model
    self.model.load_weights(model_file)
  File "/home/dlituiev/GNorm2/gnorm2/lib64/python3.9/site-packages/keras/src/utils/traceback_utils.py", line 70, in error_handler
    raise e.with_traceback(filtered_tb) from None
  File "/home/dlituiev/GNorm2/gnorm2/lib64/python3.9/site-packages/keras/src/backend.py", line 4359, in _assign_value_to_variable
    variable.assign(value)
ValueError: Cannot assign value to variable ' tf_bert_model_1/bert/embeddings/word_embeddings/weight:0': Shape mismatch.The variable shape (32774, 512), and the assigned value shape (2, 512) are incompatible.
Total 0 file(s) wait(s) for process.

This may be related to issue #2, but it's hard to tell as they provide no error trace

Activity

  1. DSLituiev commented on Dec 20, 2023

    @DSLituiev
    Author

    The issue is because ./vocab/SpeAss_IO_label.vocab has two labels "O" and "ARG2", while checkpoints have higher (32774) output vocabulary size.

  2. ChihHsuanWei commented on Dec 21, 2023

    @ChihHsuanWei
    Collaborator

    It may be because of different versions of the python library. I have updated the requirements.txt. Could you please re-install your library again? Thanks.

  3. DSLituiev commented on Dec 21, 2023

    @DSLituiev
    Author
  4. DSLituiev commented on Jan 3, 2024

    @DSLituiev
    Author

    I tried with the updated requirements. It breaks due to stanza==1.6.1 (downgrading to 1.4.0 helped).

    After that, I am still getting the same dimension mismatch error.

    What is the number of predicted tokens expected of the model in /src_python/SpeAss/model_sa.py:HUGFACE_NER? Is it 2 ("O" and "ARG2") or 32774?

  5. DSLituiev commented on Jan 3, 2024

    @DSLituiev
    Author

    Here is the listing of layers in the final model in /src_python/SpeAss/model_sa.py. Seemingly it tries to load something that belongs into the last layer in the very first layer. Or it confuses two first weights.

    One possibility: it may stem from _legacy_weights in the actual keras version (2.15.0), but it is what's in the requirements.txt

    layer: tf_bert_model_1/bert/embeddings/word_embeddings/weight:0	(32774, 512)
    layer: tf_bert_model_1/bert/embeddings/token_type_embeddings/embeddings:0	(2, 512)
    layer: tf_bert_model_1/bert/embeddings/position_embeddings/embeddings:0	(512, 512)
    layer: tf_bert_model_1/bert/embeddings/LayerNorm/gamma:0	(512,)
    layer: tf_bert_model_1/bert/embeddings/LayerNorm/beta:0	(512,)
    layer: tf_bert_model_1/bert/encoder/layer_._0/attention/self/query/kernel:0	(512, 512)
    layer: tf_bert_model_1/bert/encoder/layer_._0/attention/self/query/bias:0	(512,)
    layer: tf_bert_model_1/bert/encoder/layer_._0/attention/self/key/kernel:0	(512, 512)
    layer: tf_bert_model_1/bert/encoder/layer_._0/attention/self/key/bias:0	(512,)
    layer: tf_bert_model_1/bert/encoder/layer_._0/attention/self/value/kernel:0	(512, 512)
    layer: tf_bert_model_1/bert/encoder/layer_._0/attention/self/value/bias:0	(512,)
    layer: tf_bert_model_1/bert/encoder/layer_._0/attention/output/dense/kernel:0	(512, 512)
    layer: tf_bert_model_1/bert/encoder/layer_._0/attention/output/dense/bias:0	(512,)
    layer: tf_bert_model_1/bert/encoder/layer_._0/attention/output/LayerNorm/gamma:0	(512,)
    layer: tf_bert_model_1/bert/encoder/layer_._0/attention/output/LayerNorm/beta:0	(512,)
    layer: tf_bert_model_1/bert/encoder/layer_._0/intermediate/dense/kernel:0	(512, 2048)
    layer: tf_bert_model_1/bert/encoder/layer_._0/intermediate/dense/bias:0	(2048,)
    layer: tf_bert_model_1/bert/encoder/layer_._0/output/dense/kernel:0	(2048, 512)
    layer: tf_bert_model_1/bert/encoder/layer_._0/output/dense/bias:0	(512,)
    layer: tf_bert_model_1/bert/encoder/layer_._0/output/LayerNorm/gamma:0	(512,)
    layer: tf_bert_model_1/bert/encoder/layer_._0/output/LayerNorm/beta:0	(512,)
    layer: tf_bert_model_1/bert/encoder/layer_._1/attention/self/query/kernel:0	(512, 512)
    layer: tf_bert_model_1/bert/encoder/layer_._1/attention/self/query/bias:0	(512,)
    layer: tf_bert_model_1/bert/encoder/layer_._1/attention/self/key/kernel:0	(512, 512)
    layer: tf_bert_model_1/bert/encoder/layer_._1/attention/self/key/bias:0	(512,)
    layer: tf_bert_model_1/bert/encoder/layer_._1/attention/self/value/kernel:0	(512, 512)
    layer: tf_bert_model_1/bert/encoder/layer_._1/attention/self/value/bias:0	(512,)
    layer: tf_bert_model_1/bert/encoder/layer_._1/attention/output/dense/kernel:0	(512, 512)
    layer: tf_bert_model_1/bert/encoder/layer_._1/attention/output/dense/bias:0	(512,)
    layer: tf_bert_model_1/bert/encoder/layer_._1/attention/output/LayerNorm/gamma:0	(512,)
    layer: tf_bert_model_1/bert/encoder/layer_._1/attention/output/LayerNorm/beta:0	(512,)
    layer: tf_bert_model_1/bert/encoder/layer_._1/intermediate/dense/kernel:0	(512, 2048)
    layer: tf_bert_model_1/bert/encoder/layer_._1/intermediate/dense/bias:0	(2048,)
    layer: tf_bert_model_1/bert/encoder/layer_._1/output/dense/kernel:0	(2048, 512)
    layer: tf_bert_model_1/bert/encoder/layer_._1/output/dense/bias:0	(512,)
    layer: tf_bert_model_1/bert/encoder/layer_._1/output/LayerNorm/gamma:0	(512,)
    layer: tf_bert_model_1/bert/encoder/layer_._1/output/LayerNorm/beta:0	(512,)
    layer: tf_bert_model_1/bert/encoder/layer_._2/attention/self/query/kernel:0	(512, 512)
    layer: tf_bert_model_1/bert/encoder/layer_._2/attention/self/query/bias:0	(512,)
    layer: tf_bert_model_1/bert/encoder/layer_._2/attention/self/key/kernel:0	(512, 512)
    layer: tf_bert_model_1/bert/encoder/layer_._2/attention/self/key/bias:0	(512,)
    layer: tf_bert_model_1/bert/encoder/layer_._2/attention/self/value/kernel:0	(512, 512)
    layer: tf_bert_model_1/bert/encoder/layer_._2/attention/self/value/bias:0	(512,)
    layer: tf_bert_model_1/bert/encoder/layer_._2/attention/output/dense/kernel:0	(512, 512)
    layer: tf_bert_model_1/bert/encoder/layer_._2/attention/output/dense/bias:0	(512,)
    layer: tf_bert_model_1/bert/encoder/layer_._2/attention/output/LayerNorm/gamma:0	(512,)
    layer: tf_bert_model_1/bert/encoder/layer_._2/attention/output/LayerNorm/beta:0	(512,)
    layer: tf_bert_model_1/bert/encoder/layer_._2/intermediate/dense/kernel:0	(512, 2048)
    layer: tf_bert_model_1/bert/encoder/layer_._2/intermediate/dense/bias:0	(2048,)
    layer: tf_bert_model_1/bert/encoder/layer_._2/output/dense/kernel:0	(2048, 512)
    layer: tf_bert_model_1/bert/encoder/layer_._2/output/dense/bias:0	(512,)
    layer: tf_bert_model_1/bert/encoder/layer_._2/output/LayerNorm/gamma:0	(512,)
    layer: tf_bert_model_1/bert/encoder/layer_._2/output/LayerNorm/beta:0	(512,)
    layer: tf_bert_model_1/bert/encoder/layer_._3/attention/self/query/kernel:0	(512, 512)
    layer: tf_bert_model_1/bert/encoder/layer_._3/attention/self/query/bias:0	(512,)
    layer: tf_bert_model_1/bert/encoder/layer_._3/attention/self/key/kernel:0	(512, 512)
    layer: tf_bert_model_1/bert/encoder/layer_._3/attention/self/key/bias:0	(512,)
    layer: tf_bert_model_1/bert/encoder/layer_._3/attention/self/value/kernel:0	(512, 512)
    layer: tf_bert_model_1/bert/encoder/layer_._3/attention/self/value/bias:0	(512,)
    layer: tf_bert_model_1/bert/encoder/layer_._3/attention/output/dense/kernel:0	(512, 512)
    layer: tf_bert_model_1/bert/encoder/layer_._3/attention/output/dense/bias:0	(512,)
    layer: tf_bert_model_1/bert/encoder/layer_._3/attention/output/LayerNorm/gamma:0	(512,)
    layer: tf_bert_model_1/bert/encoder/layer_._3/attention/output/LayerNorm/beta:0	(512,)
    layer: tf_bert_model_1/bert/encoder/layer_._3/intermediate/dense/kernel:0	(512, 2048)
    layer: tf_bert_model_1/bert/encoder/layer_._3/intermediate/dense/bias:0	(2048,)
    layer: tf_bert_model_1/bert/encoder/layer_._3/output/dense/kernel:0	(2048, 512)
    layer: tf_bert_model_1/bert/encoder/layer_._3/output/dense/bias:0	(512,)
    layer: tf_bert_model_1/bert/encoder/layer_._3/output/LayerNorm/gamma:0	(512,)
    layer: tf_bert_model_1/bert/encoder/layer_._3/output/LayerNorm/beta:0	(512,)
    layer: tf_bert_model_1/bert/encoder/layer_._4/attention/self/query/kernel:0	(512, 512)
    layer: tf_bert_model_1/bert/encoder/layer_._4/attention/self/query/bias:0	(512,)
    layer: tf_bert_model_1/bert/encoder/layer_._4/attention/self/key/kernel:0	(512, 512)
    layer: tf_bert_model_1/bert/encoder/layer_._4/attention/self/key/bias:0	(512,)
    layer: tf_bert_model_1/bert/encoder/layer_._4/attention/self/value/kernel:0	(512, 512)
    layer: tf_bert_model_1/bert/encoder/layer_._4/attention/self/value/bias:0	(512,)
    layer: tf_bert_model_1/bert/encoder/layer_._4/attention/output/dense/kernel:0	(512, 512)
    layer: tf_bert_model_1/bert/encoder/layer_._4/attention/output/dense/bias:0	(512,)
    layer: tf_bert_model_1/bert/encoder/layer_._4/attention/output/LayerNorm/gamma:0	(512,)
    layer: tf_bert_model_1/bert/encoder/layer_._4/attention/output/LayerNorm/beta:0	(512,)
    layer: tf_bert_model_1/bert/encoder/layer_._4/intermediate/dense/kernel:0	(512, 2048)
    layer: tf_bert_model_1/bert/encoder/layer_._4/intermediate/dense/bias:0	(2048,)
    layer: tf_bert_model_1/bert/encoder/layer_._4/output/dense/kernel:0	(2048, 512)
    layer: tf_bert_model_1/bert/encoder/layer_._4/output/dense/bias:0	(512,)
    layer: tf_bert_model_1/bert/encoder/layer_._4/output/LayerNorm/gamma:0	(512,)
    layer: tf_bert_model_1/bert/encoder/layer_._4/output/LayerNorm/beta:0	(512,)
    layer: tf_bert_model_1/bert/encoder/layer_._5/attention/self/query/kernel:0	(512, 512)
    layer: tf_bert_model_1/bert/encoder/layer_._5/attention/self/query/bias:0	(512,)
    layer: tf_bert_model_1/bert/encoder/layer_._5/attention/self/key/kernel:0	(512, 512)
    layer: tf_bert_model_1/bert/encoder/layer_._5/attention/self/key/bias:0	(512,)
    layer: tf_bert_model_1/bert/encoder/layer_._5/attention/self/value/kernel:0	(512, 512)
    layer: tf_bert_model_1/bert/encoder/layer_._5/attention/self/value/bias:0	(512,)
    layer: tf_bert_model_1/bert/encoder/layer_._5/attention/output/dense/kernel:0	(512, 512)
    layer: tf_bert_model_1/bert/encoder/layer_._5/attention/output/dense/bias:0	(512,)
    layer: tf_bert_model_1/bert/encoder/layer_._5/attention/output/LayerNorm/gamma:0	(512,)
    layer: tf_bert_model_1/bert/encoder/layer_._5/attention/output/LayerNorm/beta:0	(512,)
    layer: tf_bert_model_1/bert/encoder/layer_._5/intermediate/dense/kernel:0	(512, 2048)
    layer: tf_bert_model_1/bert/encoder/layer_._5/intermediate/dense/bias:0	(2048,)
    layer: tf_bert_model_1/bert/encoder/layer_._5/output/dense/kernel:0	(2048, 512)
    layer: tf_bert_model_1/bert/encoder/layer_._5/output/dense/bias:0	(512,)
    layer: tf_bert_model_1/bert/encoder/layer_._5/output/LayerNorm/gamma:0	(512,)
    layer: tf_bert_model_1/bert/encoder/layer_._5/output/LayerNorm/beta:0	(512,)
    layer: tf_bert_model_1/bert/encoder/layer_._6/attention/self/query/kernel:0	(512, 512)
    layer: tf_bert_model_1/bert/encoder/layer_._6/attention/self/query/bias:0	(512,)
    layer: tf_bert_model_1/bert/encoder/layer_._6/attention/self/key/kernel:0	(512, 512)
    layer: tf_bert_model_1/bert/encoder/layer_._6/attention/self/key/bias:0	(512,)
    layer: tf_bert_model_1/bert/encoder/layer_._6/attention/self/value/kernel:0	(512, 512)
    layer: tf_bert_model_1/bert/encoder/layer_._6/attention/self/value/bias:0	(512,)
    layer: tf_bert_model_1/bert/encoder/layer_._6/attention/output/dense/kernel:0	(512, 512)
    layer: tf_bert_model_1/bert/encoder/layer_._6/attention/output/dense/bias:0	(512,)
    layer: tf_bert_model_1/bert/encoder/layer_._6/attention/output/LayerNorm/gamma:0	(512,)
    layer: tf_bert_model_1/bert/encoder/layer_._6/attention/output/LayerNorm/beta:0	(512,)
    layer: tf_bert_model_1/bert/encoder/layer_._6/intermediate/dense/kernel:0	(512, 2048)
    layer: tf_bert_model_1/bert/encoder/layer_._6/intermediate/dense/bias:0	(2048,)
    layer: tf_bert_model_1/bert/encoder/layer_._6/output/dense/kernel:0	(2048, 512)
    layer: tf_bert_model_1/bert/encoder/layer_._6/output/dense/bias:0	(512,)
    layer: tf_bert_model_1/bert/encoder/layer_._6/output/LayerNorm/gamma:0	(512,)
    layer: tf_bert_model_1/bert/encoder/layer_._6/output/LayerNorm/beta:0	(512,)
    layer: tf_bert_model_1/bert/encoder/layer_._7/attention/self/query/kernel:0	(512, 512)
    layer: tf_bert_model_1/bert/encoder/layer_._7/attention/self/query/bias:0	(512,)
    layer: tf_bert_model_1/bert/encoder/layer_._7/attention/self/key/kernel:0	(512, 512)
    layer: tf_bert_model_1/bert/encoder/layer_._7/attention/self/key/bias:0	(512,)
    layer: tf_bert_model_1/bert/encoder/layer_._7/attention/self/value/kernel:0	(512, 512)
    layer: tf_bert_model_1/bert/encoder/layer_._7/attention/self/value/bias:0	(512,)
    layer: tf_bert_model_1/bert/encoder/layer_._7/attention/output/dense/kernel:0	(512, 512)
    layer: tf_bert_model_1/bert/encoder/layer_._7/attention/output/dense/bias:0	(512,)
    layer: tf_bert_model_1/bert/encoder/layer_._7/attention/output/LayerNorm/gamma:0	(512,)
    layer: tf_bert_model_1/bert/encoder/layer_._7/attention/output/LayerNorm/beta:0	(512,)
    layer: tf_bert_model_1/bert/encoder/layer_._7/intermediate/dense/kernel:0	(512, 2048)
    layer: tf_bert_model_1/bert/encoder/layer_._7/intermediate/dense/bias:0	(2048,)
    layer: tf_bert_model_1/bert/encoder/layer_._7/output/dense/kernel:0	(2048, 512)
    layer: tf_bert_model_1/bert/encoder/layer_._7/output/dense/bias:0	(512,)
    layer: tf_bert_model_1/bert/encoder/layer_._7/output/LayerNorm/gamma:0	(512,)
    layer: tf_bert_model_1/bert/encoder/layer_._7/output/LayerNorm/beta:0	(512,)
    layer: tf_bert_model_1/bert/pooler/dense/kernel:0	(512, 512)
    layer: tf_bert_model_1/bert/pooler/dense/bias:0	(512,)
    layer: softmax/kernel:0	(512, 2)
    layer: softmax/bias:0	(2,)
    
  6. Muszeb commented on Jan 17, 2024

    @Muszeb

    I confirm this is the same error I experienced - issue #2. I managed to fix it by using python 3.8, setting protobuf>=3.19.0,<=3.20.x in requirements.txt, and therefore installing tensorflow==2.3.0, but I guess that didn't help in your case :/

    I am getting this error while trying to run GNorm2.sh:

    Traceback (most recent call last):
      File "/home/dlituiev/GNorm2/GeneNER_SpeAss_run.py", line 716, in <module>
        speciesAss(args.NERoutpath,args.SAoutpath, args.SAmodel)
      File "/home/dlituiev/GNorm2/GeneNER_SpeAss_run.py", line 623, in speciesAss
        nn_model.load_model(modelfile)
      File "/home/dlituiev/GNorm2/src_python/SpeAss/model_sa.py", line 103, in load_model
        self.model.load_weights(model_file)
      File "/home/dlituiev/GNorm2/gnorm2/lib64/python3.9/site-packages/keras/src/utils/traceback_utils.py", line 70, in error_handler
        raise e.with_traceback(filtered_tb) from None
      File "/home/dlituiev/GNorm2/gnorm2/lib64/python3.9/site-packages/keras/src/backend.py", line 4359, in _assign_value_to_variable
        variable.assign(value)
    ValueError: Cannot assign value to variable ' tf_bert_model_1/bert/embeddings/word_embeddings/weight:0': Shape mismatch.The variable shape (32774, 512), and the assigned value shape (2, 512) are incompatible.
    Total 0 file(s) wait(s) for process.
    

    This may be related to issue #2, but it's hard to tell as they provide no error trace

  7. jessicapatricoski commented on Feb 2, 2024

    @jessicapatricoski

    Did you ever figure it out? I'm having the same issue. I downgraded stanza to deal with the package error and now I'm stuck on the shape mismatch error.

  8. DSLituiev commented on Feb 3, 2024

    @DSLituiev
    Author

    @ChihHsuanWei would you be able to share a Dockerfile or a docker image for reproducibility?

  9. ChihHsuanWei commented on Feb 3, 2024

    @ChihHsuanWei
    Collaborator

    Sorry for late response. I am asking the main author of the species assignment module to involve in. I will update you soon.

  10. ChihHsuanWei commented on Feb 6, 2024

    @ChihHsuanWei
    Collaborator

    Hi, GNorm2 somehow has a difficultly within Python 3.9. we prepared the requirments.txt for python 3.8 and 3.10. Could you please reinstall the appropriate lib? Let me know if any further issue?

    requirements-py38.txt
    requirements-py310.txt

    Thanks. Wei

  11. jessicapatricoski commented on Feb 6, 2024

    @jessicapatricoski

    Is there a configuration for 3.11? My computing cluster only has 3.9 and 3.11

    Update: I was able to overcome that obstacle by using a conda environment specifying 3.10 and it appears to be working! Thank you!

  12. jessicapatricoski commented on Feb 9, 2024

    @jessicapatricoski

    The conda environment workaround prohibits GPU use

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions