Traceback (most recent call last): File "E:\pycharm-workspace\BERT\BERT-BiLSTM-CRF-NER-master\run.py", line 37, in <module> train_ner() File "E:\pycharm-workspace\BERT\BERT-BiLSTM-CRF-NER-master\run.py", line 24, in train_ner from bert_base.train.bert_lstm_ner import train File "E:\pycharm-workspace\BERT\BERT-BiLSTM-CRF-NER-master\bert_base\train\bert_lstm_ner.py", line 18, in <module> from bert_base.bert import optimization File "E:\pycharm-workspace\BERT\BERT-BiLSTM-CRF-NER-master\bert_base\bert\optimization.py", line 84, in <module> class AdamWeightDecayOptimizer(tf.train.Optimizer): AttributeError: module 'tensorflow_core._api.v2.train' has no attribute 'Optimizer'
时间: 2023-08-31 17:59:09 浏览: 199
这个错误是因为在您的代码中使用了已经过时的 TensorFlow API。在较新的 TensorFlow 版本中,`tf.train.Optimizer` 已经被移除,取而代之的是 `tf.keras.optimizers.Optimizer`。
为了解决这个问题,您需要更新您的代码,将 `tf.train.Optimizer` 替换为 `tf.keras.optimizers.Optimizer`。具体来说,在您的 `bert_base\bert\optimization.py` 文件中,将以下行:
```python
class AdamWeightDecayOptimizer(tf.train.Optimizer):
```
替换为:
```python
class AdamWeightDecayOptimizer(tf.keras.optimizers.Optimizer):
```
这样应该可以解决您遇到的问题。如果您在更新代码后仍然遇到其他问题,请确保您使用了与代码兼容的 TensorFlow 版本,并检查其他可能的错误。
阅读全文
相关推荐
