bert模型训练时的一些问题及解决方法

注:我原来使用的环境是win10+python3.7+tensorflow1.13.1+tensorflow-estimator 1.13.0+tensorflow-gpu2.0

一、模块名不存在

ModuleNotFoundError: No module named 'tensorflow.python.training.checkpointable' 
翻译:没有名为'tensorflow.python.training.checkpointable' 的模块

解决办法:将tensorflow-gpu的版本从2.x降到1.13.1

pip uninstall tensorflow-gpu
pip install tensorflow-gpu==1.13.1

二、导入时出错

ImportError: cannot import name 'model_utils' from 'tensorflow.python.saved_model'
翻译:导入错误:无法将名为'model_utils' 的包从'tensorflow.python.saved_model'导入

解决方法:卸载tensorflow_estimator并重新安装

pip uninstall tensorflow_estimator
pip install tensorflow_estimator

三、这个说来很玄幻…os前边已经导入了,但还是显示没有这个模块名,查了查别人的方法,都是让写上import os

Traceback (most recent call last):
  File "C:/Users/ZXH/Desktop/bertNER-master/train.py", line 46, in <module>
    flags.DEFINE_string("result_path",  "result",       "Path for results")
NameError: name 'os' is not defined

解决方法:
把import os语句写到所有import语句的最后边就ok啦,虽然不清楚这是为什么,但是好在问题解决了!
更改import位置后:

from collections import OrderedDict
import tensorflow as tf
import numpy as np
from model import Model
from loader import load_sentences, update_tag_scheme
from loader import char_mapping, tag_mapping
from loader import augment_with_pretrained, prepare_dataset
from utils import get_logger, make_path, clean, create_model, save_model
from utils import print_config, save_config, load_config, test_ner
from data_utils import create_input, BatchManager
import os

至此本模型的问题部分就解决完毕了~~顺利开始训练。

你可能感兴趣的:(NLP)