Code Monkey home page Code Monkey logo

albert-chinese-ner's Introduction

albert-chinese-ner

前言

这次的albert某种程度上可能比bert本身更具有意义,恰逢中文预训练模型出来,还是按照之前的数据来做NER方面的fine-tune

PS: 移步传统bert ner模型

Resources

Papers

配置

  1. 下载albert中文模型,这里使用的是base
  2. 将模型文件夹重命名为albert_base_zh,放入项目中
  3. 运行
    python albert_ner.py --task_name ner --do_train true --do_eval true --data_dir data --vocab_file ./albert_config/vocab.txt --bert_config_file ./albert_base_zh/albert_config_base.json --max_seq_length 128 --train_batch_size 64 --learning_rate 2e-5 --num_train_epochs 3 --output_dir albert_base_ner_checkpoints

4.最好使用tensorflow > 1.13, 这里运行的是1.15,不支持tf2.0

结果

Base模型下训练3个epoch后:

INFO:tensorflow:  eval_f = 0.9280548
INFO:tensorflow:  eval_precision = 0.923054
INFO:tensorflow:  eval_recall = 0.9331808
INFO:tensorflow:  global_step = 2374
INFO:tensorflow:  loss = 13.210413

测试结果同样:

[CLS]
B-LOC
I-LOC
O
B-LOC
I-LOC
I-PER
O
O
O
O
O
O
O
O
O
[SEP]
[CLS]

总结

比起Bert本体,模型确实小了很多,效果却基本相当甚至领先bert,训练时间大幅缩小,NLP的“大舰巨炮”时代可能真的要过去了

albert-chinese-ner's People

Contributors

dimonyin avatar prohiryu avatar yhshu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

albert-chinese-ner's Issues

结果(精确度)领先bert 吗 存在疑问

我用albert_large_zh 做了详细的对比试验 和 bert 。在NER任务上的表现是不如bert base的, 分开来看 loc per 可以做到93%左右 org 最高做到89%左右 bert 在更少的训练步数下 loc per 做到95%及以上, org 可以做到91%. 这其中 两个模型都对照使用了 1.基础模型 2.基础模型+crf 3.基础模型+bilstm+crf
结果都是做不过. 您这个结果中 我只看到了eval_accuracy, 请问您有没有具体看过没一种标签的准确率呢?可以放出来看看吗 谢谢

number of label_test.txt and token_test.txt are dismatch

Hi,我改了一些label,讓程式變成sequence labeling的task,但是經過訓練及測試,發現預測的label檔案和token_test檔案長度不同(有缺字的情況),不知道是什麼原因,所以來詢問版大,謝謝。
螢幕快照 2019-10-22 下午4 22 42
螢幕快照 2019-10-22 下午4 22 54
另外我有檢查過不是max_seq_length的問題

bert ner 和 Albert ner 的差别

您好 , 我之前做过bert 的这个NER, 想问一下,在bert换成albert 的过程中,有没有提别需要注意改动的模型的地方,还是只要换模型文件就可以用了呢,谢谢

如何训练

如果应用到专业领域,请问是否需要自己标注部分数据才能训练呢

修改了get_labels,也修改了tag的个数,报错

W0428 10:19:42.609030 140066161387328 deprecation.py:323] From /data/glusterfs_sharing_04_v2/11117720/albert-chinese-ner-master/tf_metrics.py:142: where (from tensorflow.python.ops.array_ops) is deprecated and will be removed in a future version.
Instructions for updating:
Use tf.where in 2.0, which has the same broadcast rule as np.where
ERROR:tensorflow:Error recorded from evaluation_loop: index 7 is out of bounds for axis 0 with size 7
E0428 10:19:42.708933 140066161387328 error_handling.py:75] Error recorded from evaluation_loop: index 7 is out of bounds for axis 0 with size 7
INFO:tensorflow:evaluation_loop marked as finished
I0428 10:19:42.709069 140066161387328 error_handling.py:101] evaluation_loop marked as finished
WARNING:tensorflow:Reraising captured error
W0428 10:19:42.709154 140066161387328 error_handling.py:135] Reraising captured error
Traceback (most recent call last):
File "albert_ner.py", line 847, in
tf.app.run()
File "/root/miniconda3/envs/tf1.15/lib/python3.6/site-packages/tensorflow_core/python/platform/app.py", line 40, in run
_run(main=main, argv=argv, flags_parser=_parse_flags_tolerate_undef)
File "/root/miniconda3/envs/tf1.15/lib/python3.6/site-packages/absl/app.py", line 299, in run
_run_main(main, args)
File "/root/miniconda3/envs/tf1.15/lib/python3.6/site-packages/absl/app.py", line 250, in _run_main
sys.exit(main(argv))
File "albert_ner.py", line 787, in main
result = estimator.evaluate(input_fn=eval_input_fn, steps=eval_steps, checkpoint_path=filename)
File "/root/miniconda3/envs/tf1.15/lib/python3.6/site-packages/tensorflow_estimator/python/estimator/tpu/tpu_estimator.py", line 3056, in evaluate
rendezvous.raise_errors()
File "/root/miniconda3/envs/tf1.15/lib/python3.6/site-packages/tensorflow_estimator/python/estimator/tpu/error_handling.py", line 136, in raise_errors
six.reraise(typ, value, traceback)
File "/root/miniconda3/envs/tf1.15/lib/python3.6/site-packages/six.py", line 703, in reraise
raise value
File "/root/miniconda3/envs/tf1.15/lib/python3.6/site-packages/tensorflow_estimator/python/estimator/tpu/tpu_estimator.py", line 3051, in evaluate
name=name)
File "/root/miniconda3/envs/tf1.15/lib/python3.6/site-packages/tensorflow_estimator/python/estimator/estimator.py", line 480, in evaluate
name=name)
File "/root/miniconda3/envs/tf1.15/lib/python3.6/site-packages/tensorflow_estimator/python/estimator/estimator.py", line 522, in _actual_eval
return _evaluate()
File "/root/miniconda3/envs/tf1.15/lib/python3.6/site-packages/tensorflow_estimator/python/estimator/estimator.py", line 504, in _evaluate
self._evaluate_build_graph(input_fn, hooks, checkpoint_path))
File "/root/miniconda3/envs/tf1.15/lib/python3.6/site-packages/tensorflow_estimator/python/estimator/estimator.py", line 1511, in _evaluate_build_graph
self._call_model_fn_eval(input_fn, self.config))
File "/root/miniconda3/envs/tf1.15/lib/python3.6/site-packages/tensorflow_estimator/python/estimator/estimator.py", line 1547, in _call_model_fn_eval
features, labels, ModeKeys.EVAL, config)
File "/root/miniconda3/envs/tf1.15/lib/python3.6/site-packages/tensorflow_estimator/python/estimator/tpu/tpu_estimator.py", line 2857, in _call_model_fn
config)
File "/root/miniconda3/envs/tf1.15/lib/python3.6/site-packages/tensorflow_estimator/python/estimator/estimator.py", line 1149, in _call_model_fn
model_fn_results = self._model_fn(features=features, **kwargs)
File "/root/miniconda3/envs/tf1.15/lib/python3.6/site-packages/tensorflow_estimator/python/estimator/tpu/tpu_estimator.py", line 3126, in _model_fn
features, labels, is_export_mode=is_export_mode)
File "/root/miniconda3/envs/tf1.15/lib/python3.6/site-packages/tensorflow_estimator/python/estimator/tpu/tpu_estimator.py", line 1663, in call_without_tpu
return self._call_model_fn(features, labels, is_export_mode=is_export_mode)
File "/root/miniconda3/envs/tf1.15/lib/python3.6/site-packages/tensorflow_estimator/python/estimator/tpu/tpu_estimator.py", line 2005, in _call_model_fn
return estimator_spec.as_estimator_spec()
File "/root/miniconda3/envs/tf1.15/lib/python3.6/site-packages/tensorflow_estimator/python/estimator/tpu/tpu_estimator.py", line 379, in as_estimator_spec
host_call_ret = _OutfeedHostCall.create_cpu_hostcall(host_calls)
File "/root/miniconda3/envs/tf1.15/lib/python3.6/site-packages/tensorflow_estimator/python/estimator/tpu/tpu_estimator.py", line 2076, in create_cpu_hostcall
ret[name] = host_fn(*tensors)
File "albert_ner.py", line 531, in metric_fn
precision = tf_metrics.precision(label_ids, predictions, 7, [2, 3, 4, 5, 6, 7], average="macro")
File "/data/glusterfs_sharing_04_v2/11117720/albert-chinese-ner-master/tf_metrics.py", line 47, in precision
cm, pos_indices, average=average)
File "/data/glusterfs_sharing_04_v2/11117720/albert-chinese-ner-master/tf_metrics.py", line 196, in metrics_from_confusion_matrix
cm_mask[idx, :] = 1
IndexError: index 7 is out of bounds for axis 0 with size 7

跑代码的时候遇到了一个问题想请教

想问下,跑的时候出现了训练刚开始就结束,显示train_loop marked as finished 的问题,提示说可能是input 是空, 不过感觉不是那个问题好像, 数据应该是正常的。谢谢

修改了get_labels,实体的类别少了,报错

在 这行代码: estimator.train(input_fn=train_input_fn, max_steps=num_train_steps) 出错
在是什么原因造成的?看到类别数是动态的,没有写死?
报错内容如下:
W0226 11:32:03.210905 15596 error_handling.py:135] Reraising captured error
Traceback (most recent call last):
File "C:\Users\root\Anaconda3\envs\albert\lib\site-packages\tensorflow_core\python\framework\ops.py", line 1607, in _create_c_op
c_op = c_api.TF_FinishOperation(op_desc)
tensorflow.python.framework.errors_impl.InvalidArgumentError: Dimension size must be evenly divisible by 1408 but is 24576 for 'loss/Reshape_1' (op: 'Reshape') with input shapes: [4096,6], [3] and with input tensors computed as partial shapes: input[1] = [?,128,11].

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "F:/IdeaProjects/albert-chinese-ner/albert_ner.py", line 865, in
tf.app.run()
File "C:\Users\root\Anaconda3\envs\albert\lib\site-packages\tensorflow_core\python\platform\app.py", line 40, in run
_run(main=main, argv=argv, flags_parser=_parse_flags_tolerate_undef)
File "C:\Users\root\Anaconda3\envs\albert\lib\site-packages\absl\app.py", line 299, in run
_run_main(main, args)
File "C:\Users\root\Anaconda3\envs\albert\lib\site-packages\absl\app.py", line 250, in _run_main
sys.exit(main(argv))
File "F:/IdeaProjects/albert-chinese-ner/albert_ner.py", line 748, in main
estimator.train(input_fn=train_input_fn, max_steps=num_train_steps)
File "C:\Users\root\Anaconda3\envs\albert\lib\site-packages\tensorflow_estimator\python\estimator\tpu\tpu_estimator.py", line 3035, in train
rendezvous.raise_errors()
File "C:\Users\root\Anaconda3\envs\albert\lib\site-packages\tensorflow_estimator\python\estimator\tpu\error_handling.py", line 136, in raise_errors
six.reraise(typ, value, traceback)
File "C:\Users\root\Anaconda3\envs\albert\lib\site-packages\six.py", line 703, in reraise
raise value
File "C:\Users\root\Anaconda3\envs\albert\lib\site-packages\tensorflow_estimator\python\estimator\tpu\tpu_estimator.py", line 3030, in train
saving_listeners=saving_listeners)
File "C:\Users\root\Anaconda3\envs\albert\lib\site-packages\tensorflow_estimator\python\estimator\estimator.py", line 370, in train
loss = self._train_model(input_fn, hooks, saving_listeners)
File "C:\Users\root\Anaconda3\envs\albert\lib\site-packages\tensorflow_estimator\python\estimator\estimator.py", line 1161, in _train_model
return self._train_model_default(input_fn, hooks, saving_listeners)
File "C:\Users\root\Anaconda3\envs\albert\lib\site-packages\tensorflow_estimator\python\estimator\estimator.py", line 1191, in _train_model_default
features, labels, ModeKeys.TRAIN, self.config)
File "C:\Users\root\Anaconda3\envs\albert\lib\site-packages\tensorflow_estimator\python\estimator\tpu\tpu_estimator.py", line 2857, in _call_model_fn
config)
File "C:\Users\root\Anaconda3\envs\albert\lib\site-packages\tensorflow_estimator\python\estimator\estimator.py", line 1149, in _call_model_fn
model_fn_results = self._model_fn(features=features, **kwargs)
File "C:\Users\root\Anaconda3\envs\albert\lib\site-packages\tensorflow_estimator\python\estimator\tpu\tpu_estimator.py", line 3126, in _model_fn
features, labels, is_export_mode=is_export_mode)
File "C:\Users\root\Anaconda3\envs\albert\lib\site-packages\tensorflow_estimator\python\estimator\tpu\tpu_estimator.py", line 1663, in call_without_tpu
return self._call_model_fn(features, labels, is_export_mode=is_export_mode)
File "C:\Users\root\Anaconda3\envs\albert\lib\site-packages\tensorflow_estimator\python\estimator\tpu\tpu_estimator.py", line 1994, in _call_model_fn
estimator_spec = self._model_fn(features=features, **kwargs)
File "F:/IdeaProjects/albert-chinese-ner/albert_ner.py", line 493, in model_fn
num_labels, use_one_hot_embeddings)
File "F:/IdeaProjects/albert-chinese-ner/albert_ner.py", line 452, in create_model
logits = tf.reshape(logits, [-1, FLAGS.max_seq_length, 11])
File "C:\Users\root\Anaconda3\envs\albert\lib\site-packages\tensorflow_core\python\ops\array_ops.py", line 131, in reshape
result = gen_array_ops.reshape(tensor, shape, name)
File "C:\Users\root\Anaconda3\envs\albert\lib\site-packages\tensorflow_core\python\ops\gen_array_ops.py", line 8114, in reshape
"Reshape", tensor=tensor, shape=shape, name=name)
File "C:\Users\root\Anaconda3\envs\albert\lib\site-packages\tensorflow_core\python\framework\op_def_library.py", line 794, in _apply_op_helper
op_def=op_def)
File "C:\Users\root\Anaconda3\envs\albert\lib\site-packages\tensorflow_core\python\util\deprecation.py", line 507, in new_func
return func(*args, **kwargs)
File "C:\Users\root\Anaconda3\envs\albert\lib\site-packages\tensorflow_core\python\framework\ops.py", line 3357, in create_op
attrs, op_def, compute_device)
File "C:\Users\root\Anaconda3\envs\albert\lib\site-packages\tensorflow_core\python\framework\ops.py", line 3426, in _create_op_internal
op_def=op_def)
File "C:\Users\root\Anaconda3\envs\albert\lib\site-packages\tensorflow_core\python\framework\ops.py", line 1770, in init
control_input_ops)
File "C:\Users\root\Anaconda3\envs\albert\lib\site-packages\tensorflow_core\python\framework\ops.py", line 1610, in _create_c_op
raise ValueError(str(e))
ValueError: Dimension size must be evenly divisible by 1408 but is 24576 for 'loss/Reshape_1' (op: 'Reshape') with input shapes: [4096,6], [3] and with input tensors computed as partial shapes: input[1] = [?,128,11].

how many epochs for finetuning on NER dataset?

Hello, I am doing experiments on the MSRA NER dataset using albert. But after 3 epochs, the f1 score can only reach 82 or so. I use the conlleval.py script to calculate the metrics. How many epochs do you usually run for finetuning on NER dataset? Looking forward to your reply.

请问测试结果如何看?

测试结果同样:

[CLS]
B-LOC
I-LOC
O
B-LOC
I-LOC
I-PER
O
O
O
O
O
O
O
O
O
[SEP]
[CLS]

上述结果怎么显示出来?

#No module named 'tensorflow.python.types'

您好,我的环境是tensorflow1.15.0,python 3.6,运行会报错ModuleNotFoundError: No module named 'tensorflow.python.types',请问这个该怎么解决呢

CRF

有没有必要加上CRF呢?效果会更好一点吗?

如何predict

请问这个模型的predict代码提供了吗?如何进行predict呢?

为什么现在的这个albert-chinese-ner没有以前的bert-chinese-ner准确率高呢?你对比过吗?

你好,我用同样的参数跑了一下albert-chinese-ner和上一个bert-chinese-ner,但是跑出来的结果后者好于前者,论文上不是说albert比bert好一些吗?为什么不是这样呢?下面是我跑出来的结果:

albert-chinese-ner跑的命令和结果如下:
用的预训练向量地址:https://storage.googleapis.com/albert_zh/albert_base_zh.zip
命令:
python3 albert_ner.py --task_name ner --do_train true --do_eval true --data_dir data --vocab_file albert_config/vocab.txt --bert_config_file ../../albert_base_zh/albert_config_base.json --max_seq_length 128 --train_batch_size 64 --learning_rate 2e-5 --num_train_epochs 3 --output_dir albert_base_ner_checkpoints
结果:
INFO:tensorflow:***** Eval results albert_base_ner_checkpoints/model.ckpt-2374 *****
INFO:tensorflow: eval_f = 0.9456498
INFO:tensorflow: eval_precision = 0.95313764
INFO:tensorflow: eval_recall = 0.93832487
INFO:tensorflow: global_step = 2374
INFO:tensorflow: loss = 11.592924

bert-chinese-ner跑的命令和结果如下:
用的预训练向量地址:https://storage.googleapis.com/bert_models/2018_11_03/chinese_L-12_H-768_A-12.zip
命令:
python3 BERT_NER.py --task_name ner --do_train true --do_eval true --data_dir data --vocab_file vocab.txt --bert_config_file checkpoint/bert_config.json --init_checkpoint checkpoint/bert_model.ckpt --max_seq_length 128 --train_batch_size 64 --learning_rate 2e-5 --num_train_epochs 3 --output_dir output/result_dir/
结果:
INFO:tensorflow:Saving 'checkpoint_path' summary for global step 2374: output/result_dir/model.ckpt-2374
INFO:tensorflow:evaluation_loop marked as finished
INFO:tensorflow:***** Eval results *****
INFO:tensorflow: eval_f = 0.96657985
INFO:tensorflow: eval_precision = 0.9670561
INFO:tensorflow: eval_recall = 0.96620923
INFO:tensorflow: global_step = 2374
INFO:tensorflow: loss = 8.526184

训练时间bert也比albert快,训练时每一个examples/sec耗时如下
albert耗时平均: INFO:tensorflow:examples/sec: 66.2794
bert耗时平均: INFO:tensorflow:examples/sec: 58.3886

为什么会出现这样的结果呢?

更换自己数据后报错。

新数据已经改为示例数据格式,labels名称和数量更换了,文件txt也是utf-8格式,但是依然会报错,百思不得其解:
ERROR:tensorflow:Error recorded from evaluation_loop: 'utf-8' codec can't decode bytes in position 2844-2845: invalid continuation byte
E1008 14:17:13.590271 139627806422848 error_handling.py:75] Error recorded from evaluation_loop: 'utf-8' codec can't decode bytes in position 2844-2845: invalid continuation byte
INFO:tensorflow:evaluation_loop marked as finished
I1008 14:17:13.590479 139627806422848 error_handling.py:101] evaluation_loop marked as finished
WARNING:tensorflow:Reraising captured error
W1008 14:17:13.590565 139627806422848 error_handling.py:135] Reraising captured error
Traceback (most recent call last):
File "/home/mingzhen/anaconda3/envs/albert/lib/python3.6/site-packages/tensorflow_core/python/client/session.py", line 1365, in _do_call
return fn(*args)
File "/home/mingzhen/anaconda3/envs/albert/lib/python3.6/site-packages/tensorflow_core/python/client/session.py", line 1350, in _run_fn
target_list, run_metadata)
File "/home/mingzhen/anaconda3/envs/albert/lib/python3.6/site-packages/tensorflow_core/python/client/session.py", line 1443, in _call_tf_sessionrun
run_metadata)
tensorflow.python.framework.errors_impl.OutOfRangeError: End of sequence
[[{{node IteratorGetNext}}]]

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "albert_ner.py", line 848, in
File "/home/mingzhen/anaconda3/envs/albert/lib/python3.6/site-packages/tensorflow_core/python/platform/app.py", line 40, in run
_run(main=main, argv=argv, flags_parser=_parse_flags_tolerate_undef)
File "/home/mingzhen/anaconda3/envs/albert/lib/python3.6/site-packages/absl/app.py", line 312, in run
_run_main(main, args)
File "/home/mingzhen/anaconda3/envs/albert/lib/python3.6/site-packages/absl/app.py", line 258, in _run_main
sys.exit(main(argv))
File "albert_ner.py", line 788, in main
File "/home/mingzhen/anaconda3/envs/albert/lib/python3.6/site-packages/tensorflow_estimator/python/estimator/tpu/tpu_estimator.py", line 3056, in evaluate
rendezvous.raise_errors()
File "/home/mingzhen/anaconda3/envs/albert/lib/python3.6/site-packages/tensorflow_estimator/python/estimator/tpu/error_handling.py", line 136, in raise_errors
six.reraise(typ, value, traceback)
File "/home/mingzhen/anaconda3/envs/albert/lib/python3.6/site-packages/six.py", line 719, in reraise
raise value
File "/home/mingzhen/anaconda3/envs/albert/lib/python3.6/site-packages/tensorflow_estimator/python/estimator/tpu/tpu_estimator.py", line 3051, in evaluate
name=name)
File "/home/mingzhen/anaconda3/envs/albert/lib/python3.6/site-packages/tensorflow_estimator/python/estimator/estimator.py", line 480, in evaluate
name=name)
File "/home/mingzhen/anaconda3/envs/albert/lib/python3.6/site-packages/tensorflow_estimator/python/estimator/estimator.py", line 522, in _actual_eval
return _evaluate()
File "/home/mingzhen/anaconda3/envs/albert/lib/python3.6/site-packages/tensorflow_estimator/python/estimator/estimator.py", line 511, in _evaluate
output_dir=self.eval_dir(name))
File "/home/mingzhen/anaconda3/envs/albert/lib/python3.6/site-packages/tensorflow_estimator/python/estimator/estimator.py", line 1619, in _evaluate_run
config=self._session_config)
File "/home/mingzhen/anaconda3/envs/albert/lib/python3.6/site-packages/tensorflow_core/python/training/evaluation.py", line 272, in _evaluate_once
session.run(eval_ops, feed_dict)
File "/home/mingzhen/anaconda3/envs/albert/lib/python3.6/site-packages/tensorflow_core/python/training/monitored_session.py", line 754, in run
run_metadata=run_metadata)
File "/home/mingzhen/anaconda3/envs/albert/lib/python3.6/site-packages/tensorflow_core/python/training/monitored_session.py", line 1259, in run
run_metadata=run_metadata)
File "/home/mingzhen/anaconda3/envs/albert/lib/python3.6/site-packages/tensorflow_core/python/training/monitored_session.py", line 1360, in run
raise six.reraise(*original_exc_info)
File "/home/mingzhen/anaconda3/envs/albert/lib/python3.6/site-packages/six.py", line 719, in reraise
raise value
File "/home/mingzhen/anaconda3/envs/albert/lib/python3.6/site-packages/tensorflow_core/python/training/monitored_session.py", line 1345, in run
return self._sess.run(*args, **kwargs)
File "/home/mingzhen/anaconda3/envs/albert/lib/python3.6/site-packages/tensorflow_core/python/training/monitored_session.py", line 1418, in run
run_metadata=run_metadata)
File "/home/mingzhen/anaconda3/envs/albert/lib/python3.6/site-packages/tensorflow_core/python/training/monitored_session.py", line 1176, in run
return self._sess.run(*args, **kwargs)
File "/home/mingzhen/anaconda3/envs/albert/lib/python3.6/site-packages/tensorflow_core/python/client/session.py", line 956, in run
run_metadata_ptr)
File "/home/mingzhen/anaconda3/envs/albert/lib/python3.6/site-packages/tensorflow_core/python/client/session.py", line 1180, in _run
feed_dict_tensor, options, run_metadata)
File "/home/mingzhen/anaconda3/envs/albert/lib/python3.6/site-packages/tensorflow_core/python/client/session.py", line 1359, in _do_run
run_metadata)
File "/home/mingzhen/anaconda3/envs/albert/lib/python3.6/site-packages/tensorflow_core/python/client/session.py", line 1378, in _do_call
message = error_interpolation.interpolate(message, self._graph)
File "/home/mingzhen/anaconda3/envs/albert/lib/python3.6/site-packages/tensorflow_core/python/framework/error_interpolation.py", line 454, in interpolate
common_prefix = traceback_files_common_prefix(tagged_ops)
File "/home/mingzhen/anaconda3/envs/albert/lib/python3.6/site-packages/tensorflow_core/python/framework/error_interpolation.py", line 358, in traceback_files_common_prefix
for frame in op.traceback:
File "/home/mingzhen/anaconda3/envs/albert/lib/python3.6/site-packages/tensorflow_core/python/framework/ops.py", line 2309, in traceback
return tf_stack.convert_stack(self._traceback)
File "/home/mingzhen/anaconda3/envs/albert/lib/python3.6/site-packages/tensorflow_core/python/util/tf_stack.py", line 199, in convert_stack
return tuple(_tuple_generator())
File "/home/mingzhen/anaconda3/envs/albert/lib/python3.6/site-packages/tensorflow_core/python/util/tf_stack.py", line 189, in _tuple_generator
line = linecache.getline(filename, lineno, frame.globals)
File "/home/mingzhen/anaconda3/envs/albert/lib/python3.6/linecache.py", line 16, in getline
lines = getlines(filename, module_globals)
File "/home/mingzhen/anaconda3/envs/albert/lib/python3.6/linecache.py", line 47, in getlines
return updatecache(filename, module_globals)
File "/home/mingzhen/anaconda3/envs/albert/lib/python3.6/linecache.py", line 137, in updatecache
lines = fp.readlines()
File "/home/mingzhen/anaconda3/envs/albert/lib/python3.6/codecs.py", line 321, in decode
(result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode bytes in position 2844-2845: invalid continuation byte

AttributeError: module 'tensorflow.contrib.tpu' has no attribute 'InputPipelineConfig'

hello,在自己运行的时候出现
Traceback (most recent call last):
File "albert_ner.py", line 845, in
tf.app.run()
File "C:\Users\pangpang\Anaconda3\lib\site-packages\tensorflow\python\platform\app.py", line 126, in run
_sys.exit(main(argv))
File "albert_ner.py", line 671, in main
is_per_host = tf.contrib.tpu.InputPipelineConfig.PER_HOST_V2
AttributeError: module 'tensorflow.contrib.tpu' has no attribute 'InputPipelineConfig'这个问题,我的tensorflow版本是1.8.0,是tensorflow版本的问题所以才报错的吗?

AttributeError: 'BertConfig' object has no attribute 'embedding_size'

tensorflow-gpu 1.15,ner任务使用了自行训练的albert,config.json内容如下 "attention_probs_dropout_prob": 0.1,
"directionality": "bidi",
"hidden_act": "gelu",
"hidden_dropout_prob": 0.1,
"hidden_size": 768,
"initializer_range": 0.02,
"intermediate_size": 3072,
"max_position_embeddings": 512,
"num_attention_heads": 12,
"num_hidden_layers": 12,
"pooler_fc_size": 768,
"pooler_num_attention_heads": 12,
"pooler_num_fc_layers": 3,
"pooler_size_per_head": 128,
"pooler_type": "first_token_transform",
"type_vocab_size": 2,
"vocab_size": 20974
运行程序是提示AttributeError: 'BertConfig' object has no attribute 'embedding_size',请问是什么原因?

predict_prob

想要获取输出标签前那个用于判定的分数矩阵,类似predict_prob,是在代码哪层呢?
另外想要用sklearn里的东西,怎么将这个Albert做出个接口呢?
Many thanks in advance!!

模型运行时间

你好,我想问一下博主您是什么硬件配置训练这个模型用了多久,我的配置一般,对比下时间上看性价比如何

albert_ner.py 脚本BUG

584行
d = tf.data.Dataset.from_tensor_slices({
"input_ids":
tf.constant(
all_input_ids, shape=[num_examples, seq_length],
dtype=tf.int32),
"input_mask":
tf.constant(
all_input_mask,
shape=[num_examples, seq_length],
dtype=tf.int32),
"segment_ids":
tf.constant(
all_segment_ids,
shape=[num_examples, seq_length],
dtype=tf.int32),
"label_ids":
tf.constant(all_label_ids, shape=[num_examples], dtype=tf.int32),
})
shape=[num_examples, seq_length],shape=[num_examples] 应该有问题,这里总是跑不通

loss值无法下降

您好,我发现您的这套代码,无法让loss值下降啊,即使使用您提供的数据集,loss值也保持在十几二十几的

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.