Bert4keras相关环境安装

1. 创建虚拟环境,先安装cudatoolkit和cudnn

cudatoolkit版本不对容易报so库找不到的错。

具体安装参考:在conda虚拟环境中安装cuda和cudnn,解决pip install or python setup.py install 将安装包安装到全局环境中的问题(1.2部分)。 - 知乎

2. 安装对应的tensorflow版本与依赖

(bert4keras-tf22) conda list
# packages in environment at /home/anaconda3/envs/bert4keras-tf22:
#
# Name                    Version                   Build  Channel
_libgcc_mutex             0.1                        main    defaults
_openmp_mutex             5.1                       1_gnu    defaults
_tflow_select             2.1.0                       gpu    defaults
absl-py                   0.15.0             pyhd3eb1b0_0    defaults
aiohttp                   3.8.1            py38h7f8727e_1    defaults
aiosignal                 1.2.0              pyhd3eb1b0_0    defaults
astor                     0.8.1            py38h06a4308_0    defaults
asttokens                 2.0.5              pyhd3eb1b0_0    defaults
astunparse                1.6.3                      py_0    defaults
async-timeout             4.0.1              pyhd3eb1b0_0    defaults
attrs                     21.4.0             pyhd3eb1b0_0    defaults
backcall                  0.2.0              pyhd3eb1b0_0    defaults
blas                      1.0                         mkl    defaults
blinker                   1.4              py38h06a4308_0    defaults
brotlipy                  0.7.0           py38h27cfd23_1003    defaults
c-ares                    1.18.1               h7f8727e_0    defaults
ca-certificates           2022.10.11           h06a4308_0    defaults
cachetools                4.2.2              pyhd3eb1b0_0    defaults
certifi                   2022.9.24        py38h06a4308_0    defaults
cffi                      1.15.1           py38h74dc2b5_0    defaults
charset-normalizer        2.0.4              pyhd3eb1b0_0    defaults
click                     8.0.4            py38h06a4308_0    defaults
cryptography              37.0.1           py38h9ce1e76_0    defaults
cudatoolkit               10.1.243             h6bb024c_0    defaults
cudnn                     7.6.5                cuda10.1_0    defaults
cupti                     10.1.168                      0    defaults
dataclasses               0.8                pyh6d0b6a4_7    defaults
debugpy                   1.5.1            py38h295c915_0    defaults
decorator                 5.1.1              pyhd3eb1b0_0    defaults
entrypoints               0.4              py38h06a4308_0    defaults
executing                 0.8.3              pyhd3eb1b0_0    defaults
frozenlist                1.2.0            py38h7f8727e_0    defaults
gast                      0.3.3                      py_0    defaults
google-auth               2.6.0              pyhd3eb1b0_0    defaults
google-auth-oauthlib      0.4.4              pyhd3eb1b0_0    defaults
google-pasta              0.2.0              pyhd3eb1b0_0    defaults
grpcio                    1.42.0           py38hce63b2e_0    defaults
h5py                      2.10.0           py38hd6299e0_1    defaults
hdf5                      1.10.6               hb1b8bf9_0    defaults
idna                      3.3                pyhd3eb1b0_0    defaults
importlib-metadata        4.11.3           py38h06a4308_0    defaults
intel-openmp              2021.4.0          h06a4308_3561    defaults
ipykernel                 6.15.2           py38h06a4308_0    defaults
ipython                   8.4.0            py38h06a4308_0    defaults
jedi                      0.18.1           py38h06a4308_1    defaults
jupyter_client            7.3.5            py38h06a4308_0    defaults
jupyter_core              4.11.1           py38h06a4308_0    defaults
keras                     2.3.1                         0    defaults
keras-applications        1.0.8                      py_1    defaults
keras-base                2.3.1                    py38_0    defaults
keras-preprocessing       1.1.2              pyhd3eb1b0_0    defaults
ld_impl_linux-64          2.38                 h1181459_1    defaults
libffi                    3.3                  he6710b0_2    defaults
libgcc-ng                 11.2.0               h1234567_1    defaults
libgfortran-ng            7.5.0               ha8ba4b0_17    defaults
libgfortran4              7.5.0               ha8ba4b0_17    defaults
libgomp                   11.2.0               h1234567_1    defaults
libprotobuf               3.20.1               h4ff587b_0    defaults
libsodium                 1.0.18               h7b6447c_0    defaults
libstdcxx-ng              11.2.0               h1234567_1    defaults
markdown                  3.3.4            py38h06a4308_0    defaults
matplotlib-inline         0.1.6            py38h06a4308_0    defaults
mkl                       2021.4.0           h06a4308_640    defaults
mkl-service               2.4.0            py38h7f8727e_0    defaults
mkl_fft                   1.3.1            py38hd3c417c_0    defaults
mkl_random                1.2.2            py38h51133e4_0    defaults
multidict                 5.2.0            py38h7f8727e_2    defaults
ncurses                   6.3                  h5eee18b_3    defaults
nest-asyncio              1.5.5            py38h06a4308_0    defaults
numpy                     1.21.5           py38h6c91a56_3    defaults
numpy-base                1.21.5           py38ha15fc14_3    defaults
oauthlib                  3.2.0              pyhd3eb1b0_1    defaults
openssl                   1.1.1s               h7f8727e_0    defaults
opt_einsum                3.3.0              pyhd3eb1b0_1    defaults
packaging                 21.3               pyhd3eb1b0_0    defaults
parso                     0.8.3              pyhd3eb1b0_0    defaults
pexpect                   4.8.0              pyhd3eb1b0_3    defaults
pickleshare               0.7.5           pyhd3eb1b0_1003    defaults
pip                       22.1.2           py38h06a4308_0    defaults
prompt-toolkit            3.0.20             pyhd3eb1b0_0    defaults
protobuf                  3.20.1           py38h295c915_0    defaults
psutil                    5.9.0            py38h5eee18b_0    defaults
ptyprocess                0.7.0              pyhd3eb1b0_2    defaults
pure_eval                 0.2.2              pyhd3eb1b0_0    defaults
pyasn1                    0.4.8              pyhd3eb1b0_0    defaults
pyasn1-modules            0.2.8                      py_0    defaults
pycparser                 2.21               pyhd3eb1b0_0    defaults
pygments                  2.11.2             pyhd3eb1b0_0    defaults
pyjwt                     2.4.0            py38h06a4308_0    defaults
pyopenssl                 22.0.0             pyhd3eb1b0_0    defaults
pyparsing                 3.0.9            py38h06a4308_0    defaults
pysocks                   1.7.1            py38h06a4308_0    defaults
python                    3.8.13               h12debd9_0    defaults
python-dateutil           2.8.2              pyhd3eb1b0_0    defaults
pyyaml                    6.0              py38h7f8727e_1    defaults
pyzmq                     23.2.0           py38h6a678d5_0    defaults
readline                  8.1.2                h7f8727e_1    defaults
requests                  2.28.1           py38h06a4308_0    defaults
requests-oauthlib         1.3.0                      py_0    defaults
rsa                       4.7.2              pyhd3eb1b0_1    defaults
scipy                     1.7.3            py38hc147768_0    defaults
setuptools                61.2.0           py38h06a4308_0    defaults
six                       1.16.0             pyhd3eb1b0_1    defaults
sqlite                    3.39.2               h5082296_0    defaults
stack_data                0.2.0              pyhd3eb1b0_0    defaults
tensorboard               2.8.0            py38h06a4308_0    defaults
tensorboard-data-server   0.6.0            py38hca6d32c_0    defaults
tensorboard-plugin-wit    1.8.1            py38h06a4308_0    defaults
tensorflow                2.2.0           gpu_py38hb782248_0    defaults
tensorflow-base           2.2.0           gpu_py38h83e3d50_0    defaults
tensorflow-estimator      2.6.0              pyh7b7c402_0    defaults
tensorflow-gpu            2.2.0                h0d30ee6_0    defaults
termcolor                 1.1.0            py38h06a4308_1    defaults
tk                        8.6.12               h1ccaba5_0    defaults
tornado                   6.2              py38h5eee18b_0    defaults
traitlets                 5.1.1              pyhd3eb1b0_0    defaults
typing-extensions         4.3.0            py38h06a4308_0    defaults
typing_extensions         4.3.0            py38h06a4308_0    defaults
urllib3                   1.26.11          py38h06a4308_0    defaults
wcwidth                   0.2.5              pyhd3eb1b0_0    defaults
werkzeug                  2.0.3              pyhd3eb1b0_0    defaults
wheel                     0.37.1             pyhd3eb1b0_0    defaults
wrapt                     1.14.1           py38h5eee18b_0    defaults
xz                        5.2.5                h7f8727e_1    defaults
yaml                      0.2.5                h7b6447c_0    defaults
yarl                      1.6.3            py38h27cfd23_0    defaults
zeromq                    4.3.4                h2531618_0    defaults
zipp                      3.8.0            py38h06a4308_0    defaults
zlib                      1.2.12               h7f8727e_2    defaults

3. tensorflow转onnx环境与依赖

(bert4keras-tf25) conda list                    
# packages in environment at /home/anaconda3/envs/bert4keras-tf25:
#
# Name                    Version                   Build  Channel
_libgcc_mutex             0.1                        main    defaults
_openmp_mutex             5.1                       1_gnu    defaults
absl-py                   0.15.0                   pypi_0    pypi
asttokens                 2.0.5              pyhd3eb1b0_0    defaults
astunparse                1.6.3                    pypi_0    pypi
backcall                  0.2.0              pyhd3eb1b0_0    defaults
bert4keras                0.11.3                   pypi_0    pypi
ca-certificates           2022.10.11           h06a4308_0    defaults
cachetools                5.2.0                    pypi_0    pypi
certifi                   2022.9.24        py38h06a4308_0    defaults
charset-normalizer        2.1.0                    pypi_0    pypi
coloredlogs               15.0.1                   pypi_0    pypi
debugpy                   1.5.1            py38h295c915_0    defaults
decorator                 5.1.1              pyhd3eb1b0_0    defaults
entrypoints               0.4              py38h06a4308_0    defaults
executing                 0.8.3              pyhd3eb1b0_0    defaults
flatbuffers               1.12                     pypi_0    pypi
gast                      0.4.0                    pypi_0    pypi
google-auth               2.10.0                   pypi_0    pypi
google-auth-oauthlib      0.4.6                    pypi_0    pypi
google-pasta              0.2.0                    pypi_0    pypi
grpcio                    1.34.1                   pypi_0    pypi
h5py                      3.1.0                    pypi_0    pypi
humanfriendly             10.0                     pypi_0    pypi
idna                      3.3                      pypi_0    pypi
importlib-metadata        4.12.0                   pypi_0    pypi
ipykernel                 6.15.2           py38h06a4308_0    defaults
ipython                   8.4.0            py38h06a4308_0    defaults
jedi                      0.18.1           py38h06a4308_1    defaults
jupyter_client            7.3.5            py38h06a4308_0    defaults
jupyter_core              4.11.1           py38h06a4308_0    defaults
keras                     2.3.1                    pypi_0    pypi
keras-applications        1.0.8                    pypi_0    pypi
keras-nightly             2.5.0.dev2021032900          pypi_0    pypi
keras-preprocessing       1.1.2                    pypi_0    pypi
ld_impl_linux-64          2.38                 h1181459_1    defaults
libffi                    3.3                  he6710b0_2    defaults
libgcc-ng                 11.2.0               h1234567_1    defaults
libgomp                   11.2.0               h1234567_1    defaults
libsodium                 1.0.18               h7b6447c_0    defaults
libstdcxx-ng              11.2.0               h1234567_1    defaults
markdown                  3.4.1                    pypi_0    pypi
markupsafe                2.1.1                    pypi_0    pypi
matplotlib-inline         0.1.6            py38h06a4308_0    defaults
mpmath                    1.2.1                    pypi_0    pypi
ncurses                   6.3                  h5eee18b_3    defaults
nest-asyncio              1.5.5            py38h06a4308_0    defaults
numpy                     1.23.2                   pypi_0    pypi
oauthlib                  3.2.0                    pypi_0    pypi
onnx                      1.12.0                   pypi_0    pypi
onnxruntime               1.12.1                   pypi_0    pypi
openssl                   1.1.1s               h7f8727e_0    defaults
opt-einsum                3.3.0                    pypi_0    pypi
packaging                 21.3               pyhd3eb1b0_0    defaults
parso                     0.8.3              pyhd3eb1b0_0    defaults
pexpect                   4.8.0              pyhd3eb1b0_3    defaults
pickleshare               0.7.5           pyhd3eb1b0_1003    defaults
pip                       22.1.2           py38h06a4308_0    defaults
prompt-toolkit            3.0.20             pyhd3eb1b0_0    defaults
protobuf                  3.19.4                   pypi_0    pypi
psutil                    5.9.0            py38h5eee18b_0    defaults
ptyprocess                0.7.0              pyhd3eb1b0_2    defaults
pure_eval                 0.2.2              pyhd3eb1b0_0    defaults
pyasn1                    0.4.8                    pypi_0    pypi
pyasn1-modules            0.2.8                    pypi_0    pypi
pygments                  2.11.2             pyhd3eb1b0_0    defaults
pyparsing                 3.0.9            py38h06a4308_0    defaults
python                    3.8.13               h12debd9_0    defaults
python-dateutil           2.8.2              pyhd3eb1b0_0    defaults
pyyaml                    6.0                      pypi_0    pypi
pyzmq                     23.2.0           py38h6a678d5_0    defaults
readline                  8.1.2                h7f8727e_1    defaults
requests                  2.28.1                   pypi_0    pypi
requests-oauthlib         1.3.1                    pypi_0    pypi
rsa                       4.9                      pypi_0    pypi
scipy                     1.9.0                    pypi_0    pypi
setuptools                61.2.0           py38h06a4308_0    defaults
six                       1.15.0                   pypi_0    pypi
sqlite                    3.39.2               h5082296_0    defaults
stack_data                0.2.0              pyhd3eb1b0_0    defaults
sympy                     1.10.1                   pypi_0    pypi
tensorboard               2.10.0                   pypi_0    pypi
tensorboard-data-server   0.6.1                    pypi_0    pypi
tensorboard-plugin-wit    1.8.1                    pypi_0    pypi
tensorflow                2.5.0                    pypi_0    pypi
tensorflow-estimator      2.5.0                    pypi_0    pypi
termcolor                 1.1.0                    pypi_0    pypi
tf2onnx                   1.12.1                   pypi_0    pypi
tk                        8.6.12               h1ccaba5_0    defaults
tornado                   6.2              py38h5eee18b_0    defaults
traitlets                 5.1.1              pyhd3eb1b0_0    defaults
typing-extensions         3.7.4.3                  pypi_0    pypi
urllib3                   1.26.11                  pypi_0    pypi
wcwidth                   0.2.5              pyhd3eb1b0_0    defaults
werkzeug                  2.2.2                    pypi_0    pypi
wheel                     0.37.1             pyhd3eb1b0_0    defaults
wrapt                     1.12.1                   pypi_0    pypi
xz                        5.2.5                h7f8727e_1    defaults
zeromq                    4.3.4                h2531618_0    defaults
zipp                      3.8.1                    pypi_0    pypi
zlib                      1.2.12               h7f8727e_2    defaults

特别要注意:keras-nightly             2.5.0.dev2021021100 的安装,其版本号有点特别

4. 踩坑指南

(1) so库找不到

2023-11-25 01:10:45.410281: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'libcudart.so.10.1'; dlerror: libcudart.so.10.1: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /path/to/cuda/lib64:/path/to/cudnn/lib64:

安装:cudatoolkit               10.1.243 

(2) tf转onnx错误

2023-12-07 04:17:32,217 - ERROR - Tensorflow op [StatefulPartitionedCall/model_1/Transformer-0-MultiHeadSelfAttention/BroadcastArgs: BroadcastArgs] is not supported

安装:bert4keras                0.11.3

(3) 线程值错误

/site-packages/keras/backend/tensorflow_backend.py", line 73, in symbolic_fn_wrapper

    if _SYMBOLIC_SCOPE.value:

AttributeError: '_thread._local' object has no attribute 'value'

将代码段注释掉:

参考:2021-05-21_if _symbolic_scope.value: attributeerror: '_thread-CSDN博客

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【资源说明】 课程大作业基于bert4keras开放领域的关系抽取python源码+部署说明.zip 1、该资源内项目代码都是经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载使用,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能。 欢迎下载,欢迎交流,互相学习进步! 本项目是利用深度学习技术进行开放领域的关系抽取,算法模型可以处理多个三元组。 开放领域关系抽取是从文本中抽取三元组,不同于限定域的关系抽取,开放关系抽取并不限制关系的种类和数量,即所识别的关系(relation)在文本中体现。于是将("n", 标签)组合成一个大类,然后可以将开放关系抽取转化为一个NER问题,其中n对应的是文本中三元组的数量。对于NER任务,我们采用[GPLinker模型](https://kexue.fm/archives/8926),相应代码在openRE_train_v2中。 所需环境 Python==3.6 tensorflow==1.14.0 keras==2.3.1 bert4keras==0.10.9 项目目录 ├── bert4keras ├── data    存放数据 ├── pretrained_model    存放预训练模型 ├── extract_chinese_and_punct.py ├── openRE_train.py    训练代码 ├── openRE_train_v2.py    训练代码v2 ├── openRE_predict.py    评估和测试代码 数据集 采用[COER语料库],对原始数据进行了筛选,处理好的数据存放在data/CORE文件夹下。 ``` "text": "巴基斯坦国家灾害管理局局长法鲁克、巴内阁事务部长穆罕默德", "sro_list": [{"subject": "巴", "relation": "内阁事务部长", "object": "穆罕默德"}, {"subject": "巴基斯坦国家灾害管理局", "relation": "局长", "object": "法鲁克"}] ``` 三元组中的实体和关系均出现在文本中。 训练集和验证集中的每个句子都有n个三元组(2=<n<=4),数据统计情况: | 数据集 | 2个 | 3个 | 4个 | | :------:| :------: | :------: | :------: | | train | 8858 | 767 | 264 | | dev | 2238 | 177 | 58 | 使用说明 1.[下载预训练语言模型] 可采用BERT-Base, Chinese等模型 2.构建数据集(数据集已处理好)   train.json和dev.json 3.训练模型 ``` python openRE_train.py ``` 4.评估和测试 ``` python openRE_predict.py ``` 结果 | 数据集 | f1 | precision | recall | | :------:| :------: | :------: | :------: | | train | 0.92781 | 0.92947 | 0.92616 | | dev | 0.62125 | 0.61854 | 0.62397 | | dev(v2) | 0.76922 | 0.80624 | 0.73545 |

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值