Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

程序细节 #1

Open
webYFDT opened this issue Sep 2, 2019 · 10 comments
Open

程序细节 #1

webYFDT opened this issue Sep 2, 2019 · 10 comments

Comments

@webYFDT
Copy link

webYFDT commented Sep 2, 2019

您好!请问一下各个运行脚本程序对应的功能能够说明一下吗?表示十分感谢!!(即能否对run.sh脚本里要运行的python程序的功能做简要说明)

@panchunguang
Copy link
Owner

您好,简单的介绍了下,代码里面一些函数也有注释,如果还有什么不明白的,可以针对性或者更加具体的问

python data_util.py 知识库的一些处理,主要得到了实体名称字典,以及其他一些后续需要用到的字典文件。
python ER_ner_input.py 构建BERT-CRF模型的输入
python ER_ner_bert_crf.py BERT-CRF模型的训练与预测
python trie.py 包含字典树,其他一些函数代码里面有注释
python entity_vec_extract.py 抽取实体的向量,为构建实体名称的嵌入做准备
python ER_match_input.py 对应 BERT-ENE模型, 主要为这个模型训练集以及测试集的构建,也就是模型的输入
python ER_match_bert.py 对应 BERT-ENE模型的训练,以及预测
python ER_result.py 对BERT-CRF模型的预测结果以及BERT-ENE模型的预测结果进行融合
python EL_input_bert_final.py 消歧二分类模型的训练集以及测试集构建,模型的输入
python EL_input_bert_final_384.py 同上,长度不一样而已
python EL_model_binary_bert_final.py 消歧二分类模型训练和预测
python EL_model_binary_bert_final_384.py 同上,长度不一样而已
python EL_result.py 对最终结果进行融合

@webYFDT
Copy link
Author

webYFDT commented Sep 2, 2019

谢谢解答!

@webYFDT
Copy link
Author

webYFDT commented Sep 4, 2019

您好,我在运行python ER_match_bert.py 训练BERT-ENE模型时,出现以下错误,请问有解决办法吗?
error1

@panchunguang
Copy link
Owner

显存要求11G以上

@webYFDT
Copy link
Author

webYFDT commented Sep 4, 2019

显存要求11G以上

恩恩,可是我显存是够的24G,不是很明白为啥不够显存。不过现在解决了这个问题了,对于上面问题可以通过限制程序GPU使用量解决即运行下面代码:
`
import tensorflow as tf

from keras.backend.tensorflow_backend import set_session

import os

os.environ["CUDA_VISIBLE_DEVICES"] = '0' #指定第一块GPU可用

config = tf.ConfigProto()

config.gpu_options.per_process_gpu_memory_fraction = 0.5 # 程序最多只能占用指定gpu50%的显存

config.gpu_options.allow_growth = True #程序按需申请内存

sess = tf.Session(config = config)
set_session(tf.Session(config=config))
`
http://juke.outofmemory.cn/entry/295045
http://ju.outofmemory.cn/entry/300236

之后又会爆出下面错误:
CuDNNLSTM: UnknownError: Fail to find the dnn implementation
解决办法提升CUDNN版本到7.5版本(这里与官方提供的信息版本有出入,因为官方提供的信息是tensorflow_gpu-1.12.0 使用cudnn7.0版本),解决方法来自如下:
https://stackoverflow.com/questions/54473254/cudnnlstm-unknownerror-fail-to-find-the-dnn-implementation

同时谢谢版主解答!

@panchunguang
Copy link
Owner

python版本: python3.6
cuda版本: 9.0
cudnn版本: 7.1
我的是以上版本
问题是cudnn 版本不对,
一个最简单的方法是将代码里面的CuDNNGRU 改成 GRU,直接不用CuDNN加速版的GRU,速度会慢些

@webYFDT
Copy link
Author

webYFDT commented Sep 21, 2019

您好!我在运行“python EL_model_binary_bert_final.py 消歧二分类模型训练和预测”的时候出现下面错误:“ValueError: Invalid merge mode. Merge mode should be one of {"sum", "mul", "ave", "concat", None}”,具体信息如下图:
WechatIMG11
再我debug过程中,在“keras_layers.py”的1478行,您做了异常处理(如下图),所以我想请问是什么情况下会出发该异常,我有遗漏步骤么?有什么解决方案?
WechatIMG12

@zhangyanbo2007
Copy link

本人基本跑通,有需要交流加我15821444815

@12Python
Copy link

StateMix()这个函数你们有了解的吗?百度不到

@YanqiangWang
Copy link

python版本: python3.6
cuda版本: 9.0
cudnn版本: 7.1
我的是以上版本
问题是cudnn 版本不对,
一个最简单的方法是将代码里面的CuDNNGRU 改成 GRU,直接不用CuDNN加速版的GRU,速度会慢些

请问是怎么改的呢,我直接改了这个名称,会报错:
tensorflow.python.framework.errors_impl.UnknownError: Failed to get convolution algorithm. This is probably because cuDNN failed to initialize, so try looking to see if a warning log message was printed above.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants