ошибку.
Понял, вот текст с выполненными изменениями:
"在使用过程中,如果遇到错误信息“无法连接到服务器”,请检查您的网络设置。如果有问题,请联系技术支持团队。“
Перевод:
"В процессе использования, если вы столкнетесь с ошибкой "невозможно подключиться к серверу", проверьте свои сетевые настройки. Если возникнут проблемы, обратитесь в службу технической поддержки."```markdown
Для локального использования я изменил код: сделал ErnieCrfForTokenClassification наследником от ErniePretrainedModel
class ErnieCrfForTokenClassification(ErniePretrainedModel):
def __init__(self, ernie, crf_lr=100):
super(ErnieCrfForTokenClassification, self).__init__()
self.num_classes = ernie.num_classes
self.ernie = ernie # позволяет ernie быть конфигом
self.crf = LinearChainCrf(
self.num_classes, crf_lr=crf_lr, with_start_stop_tag=False)
self.crf_loss = LinearChainCrfLoss(self.crf)
self.viterbi_decoder = ViterbiDecoder(
self.crf.transitions, with_start_stop_tag=False)
Затем при сохранении модели использовал model.save_pretrained('./ernie_crf_ckpt')
для сохранения модели, код:
step = 0
best_f1 = 0
for epoch in range(3000):
for input_ids, token_type_ids, lengths, labels in train_loader:
loss = model(input_ids, token_type_ids, lengths=lengths, labels=labels)
avg_loss = paddle.mean(loss)
avg_loss.backward()
optimizer.step()
optimizer.clear_grad()
step += 1
print("[TRAIN] Epoch:%d - Step:%d - Loss: %f" %
(epoch, step, avg_loss))
f1_score = evaluate(model, metric, dev_loader)
if f1_score >= best_f1:
best_f1 = f1_score
paddle.save(model.state_dict(), 'ernie_crf_ckpt/model_state.pdparams')
# paddle.save(model, 'ernie_crf_ckpt/model_state.pdmodel')
tokenizer.save_pretrained('./ernie_crf_ckpt')
model.save_pretrained('./ernie_crf_ckpt')
Появилась следующая ошибка:
Traceback (most recent call last):
File "/home/user/Desktop/on_going_projects/sgaqfh/PaddleNLP/examples/information_extraction/waybill_ie/run_ernie_crf.py", line 135, in <module>
model.save_pretrained('./ernie_crf_ckpt')
File "/home/user/Desktop/on_going_projects/sgaqfh/PaddleNLP/paddlenlp/transformers/model_utils.py", line 386, in save_pretrained
self.save_model_config(save_dir)
File "/home/user/Desktop/on_going_projects/sgaqfh/PaddleNLP/paddlenlp/transformers/model_utils.py", line 374, in save_model_config
f.write(json.dumps(model_config, ensure_ascii=False))
File "/home/user/anaconda3/envs/paddle_2.1/lib/python3.9/json/__init__.py", line 179, in dumps
return JSONEncoder(*args, **kwargs).encode(obj)
return cls().encode(obj)
При проверке выяснилось, что ошибка возникает при сохранении файла model_config.json, и её невозможно решить самостоятельно. Прошу помощи в решении данной проблемы.```plaintext
Произошла ошибка при попытке сериализовать объект типа ErnieModel в JSON. Объект типа ErnieModel не является JSON-сериализуемым.