python模型训练 warm_start_GitHub - shfshf/ner_s2s: 基于tensorflow的ner模型,分别采用了estiamator与keras两种框架实现,特点是在es...

模型训练及推理

ner_s2s 是基于tensorflow的NER(命名实体识别)训练、推理模型。代码github链接ner_s2s

ner_s2s项目文件

data文件夹用来存放数据集,其中包括训练集(train.conllx)、测试集(test.conllx)、实体(entity.txt)、字典(unicode_char_list.txt)等。

docker文件夹用来制作项目的docker镜像,以便于后面的训练部署,其中nightly是测试版,stable是稳定版,都包含制作了两个镜像:trainer是训练镜像,server是服务镜像。

tests文件夹是pytest测试脚本,对项目的部分脚本进行测试验证。

ner_s2s文件夹是项目具体的执行代码块,程序的执行入口有两个:

基于tensorflow的estimator框架--ner_estimator文件夹下的estimator_run文件;

基于tensorflow的keras框架--ner_keras文件夹下的keras_run文件。二者都可以执行项目文件的训练任务。

configure.yaml 是项目文件的超参数配置。

Makefile 是项目文件部分功能执行的命令集,比如docker打包生成的镜像文件命令等。

configure.yaml

其中:

Data source 部分指定了项目文件的数据(data)的相对路径:包括训练集、测试集、实体、字典等,其中warm_start_dir指定了checkpoint需要继续训练的文件路径;

model configure 部分指定了一些常用模型的超参数配置(包括estimator与keras模式),例如batch_size,epochs,learning_rate等

Data output 部分指定了模型生成的多种保存格式的相对路径,包括pb,h5等,其中deliverable_model对模型进行了前置,后置处理,推理、解码进行了封装

安装 ner_s2s 项目环境

在conda环境中新建python=3.6版本,名为ner_s2s的conda环境:

bash

conda create --name ner_s2s python=3.6

安装 ner_s2s 项目环境依赖:

bash

pip install -U ner_s2s

安装 tensorflow-gpu 环境版本(如有nvidia gpu芯片)

这里需要说明的是,通过pip install -U ner_s2s安装所需的依赖在服务器上的conda环境中,

是无法直接使用gpu训练模型的,需要在conda环境中安装 nvidia 相关的 cudnn 驱动;

所以需要在 conda 环境中多安装一次 gpu 驱动:

bash

# 使用中科大conda加速镜像

conda config –add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free

conda config –set show_channel_urls yes

# 通过conda安装tensorflow-gpu版本

conda install tensorflow-gpu==1.15

怎样查看 conda 环境是否可以使用gpu加速?三步:

bash

python 进入命令行模式

import tensorfow as tf 导入tensorflow

tf.test.is_gpu_available() 如果显示 True 则大功告成

ner_s2s 训练及推理命令

ner_s2s 训练(通过项目代码)

cpu (没有GPU加速)

bash

# estimator 模式

python -m ner_s2s.ner_estimator.estimator_run

# keras 模式

python -m ner_s2s.ner_keras.keras_run

gpu 指定显卡运行(针对多显卡)

bash

# estimator 模式

CUDA_VISIBLE_DEVICES=0 python -m ner_s2s.ner_estimator.estimator_run

# keras 模式

CUDA_VISIBLE_DEVICES=1 python -m ner_s2s.ner_keras.keras_run

ner_s2s 推理(通过项目代码)

推理项目代码执行入口在 ner_s2s/server/http.py 文件

run service

bash

python -m ner_s2s.server.http /path/to

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值