cannot load weights of bert model when i use multiple targets (target sequence)

Aperta
#392 2 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
25/100
Tipo di issue
Bug
Chiarezza
Da chiarire
Stato di attività
Ferma
Stack tecnologico
python

Direzione di ricerca

Reproduce the failure with BERT_Model.load_weights in dlpy/transformers/bert_model.py using the multiple-target call shown. Trace the handoff through dlpy/network.py, especially load_weights_from_keras and load_weights_from_file, and inspect how the target sequence is rejected. Done means multi-target BERT weights load successfully, or the unsupported configuration is explicitly documented.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

i have project where i have to predict multiple keywords based on description of a movie.

I am able to train the bert model with 1 (binary target) , but I have train the model with multiple (431) binary targets.
I got an error when I try to load the weight to cas.
parameter:

  • Final classification layer number of class predictions n_classes = 2. (but i tried as well with 1 (regression)

  • Number of target variables (num_tgt_var = 435)

bert.load_weights('/opt/sas/viya/config/data/cas/default/public/bert-base-uncased.kerasmodel.h5' ,
num_target_var=num_tgt_var,
# Do not freeze base model weights.
# Allow layer updates with model tuning.
freeze_base_model=False
)

error:
ERROR: Target sequence for text input is not supported.
ERROR: The action stopped due to errors.


DLPyError Traceback (most recent call last)
Input In [17], in <cell line: 1>()
----> 1 bert.load_weights('/opt/sas/viya/config/data/cas/default/public/bert-base-uncased.kerasmodel.h5' ,
2 num_target_var=num_tgt_var,
3 # Do not freeze base model weights.
4 # Allow layer updates with model tuning.
5 freeze_base_model=False
6 )

File ~/python-dlpy/dlpy/transformers/bert_model.py:967, in BERT_Model.load_weights(self, path, num_target_var, freeze_base_model, use_gpu, last_frozen_layer)
964 data_spec = self.get_data_spec(num_target_var)
966 # attach layer weights
--> 967 super(BERT_Model, self).load_weights(path,
968 data_spec=data_spec,
969 use_gpu=use_gpu,
970 embedding_dim=self._config['hidden_size'])
972 # determine which layers to freeze
973 self._freeze_layers = self._rnn_layer

File ~/python-dlpy/dlpy/network.py:1003, in Network.load_weights(self, path, labels, data_spec, label_file_name, label_length, use_gpu, embedding_dim)
1000 self.load_weights_from_caffe(path, labels=labels, data_spec=data_spec, label_file_name=label_file_name,
1001 label_length=label_length)
1002 elif file_name.lower().endswith('kerasmodel.h5'):
-> 1003 self.load_weights_from_keras(path, labels=labels, data_spec=data_spec, label_file_name=label_file_name,
1004 label_length=label_length, use_gpu=use_gpu, embedding_dim=embedding_dim)
1005 elif file_name.lower().endswith('onnxmodel.h5'):
1006 self.load_weights_from_keras(path, labels=labels, data_spec=data_spec, label_file_name=label_file_name,
1007 label_length=label_length, use_gpu=use_gpu, embedding_dim=embedding_dim)

File ~/python-dlpy/dlpy/network.py:1077, in Network.load_weights_from_keras(self, path, labels, data_spec, label_file_name, label_length, use_gpu, embedding_dim)
1073 self.load_weights_from_file_with_labels(path=path, format_type='KERAS', data_spec=data_spec,
1074 label_file_name=label_file_name, label_length=label_length,
1075 use_gpu=use_gpu, embedding_dim=embedding_dim)
1076 else:
-> 1077 self.load_weights_from_file(path=path, format_type='KERAS', data_spec=data_spec, use_gpu=use_gpu,
1078 embedding_dim=embedding_dim)

File ~/python-dlpy/dlpy/network.py:1187, in Network.load_weights_from_file(self, path, format_type, data_spec, use_gpu, embedding_dim)
1185 for msg in rt.messages:
1186 print(msg)
-> 1187 raise DLPyError('Cannot import model weights, there seems to be a problem.')
1189 # create attributes if necessary
1190 if not has_data_spec:

DLPyError: Cannot import model weights, there seems to be a problem.

Lingua principale
Python
Stelle
224
Fork
129
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di sassoftware/python-dlpy

Tutte le issue di sassoftware/python-dlpy

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.