当前位置:   article > 正文

基于深度学习的命名实体识别代码阅读-1

基于深度学习的命名实体识别代码阅读-1

1、导入相关的模块

import tensorflow as tf ##导入tensorflow模块

import numpy as np

import os,argparse,time,random

from model import BiLSTM_CRF ##从model的py文件中导入BiLSTM_CRF类

from utils import str2bool, get_logger, get_entity ##从utils文件中导入相关的函数、变量

from data import read_corpus, read_dictionary, tag2label, random_embedding

##从data的py文件中导入相关的函数以及变量

2、相关参数的设置

##控制GPU资源使用率

config = tf.ConfigProto()

config.gpu_options.allow_growth = True

config.gpu_options.per_process_gpu_memory_fraction = 0.2

##相关参数的设置

#这个接口是获取命令行里面输入的命令参数,并返回

##default表示的是若用户没有输入指定的值,则程序执行时选择默认的值,此时default即变量所选用的默认的值

parser = argparse.ArgumentParser(description=‘BiLSTM-CRF’) ###创建一个命令解析器的句柄

##设置训练数据集的地址

parser.add_argument(’–train_data’,type=str,default=‘data_path’,help=‘train data source’)

##设置测试集的地址

parser.add_argument(’–test_data’,type=str,default=‘data_path’,help=‘test data source’)

##设置每一次循环的batch_size的大小为64,即一次喂如神经网络的数据的大小

parser.add_argument(’–batch_size’,type=int,default=64,help=‘sample of each minibatch’)

##设置迭代的轮数

parser.add_argument(’–epoch’,type=int,default=5,help=‘epoch of training’)

##设置隐藏层的神经元的个数,默认的值为300

parser.add_argument(’–hidden_dim’,type=int,default=300,help=‘dim of hidden state’)

##选择优化器

parser.add_argument(’–optimizer’,type=str,default=‘Adam’,help=‘Adam/Adadelta/Adagrad/RMSProp/Momentum/SGD’)

##此处默认CRF的值为True,这块不是特别明白,希望看明白的同仁们能够解答

parser.add_argument(’–CRF’,type=str2bool,default=True,help=‘use CRF at the top layer. if False,use Softmax’)

##学习率的设置,也可以理解成步长的设置

parser.add_argument(’–lr’, type=float, default=0.001, help=‘learning rate’)

##梯度裁剪

parser.add_argument(’–clip’, type=float, default=5.0, help=‘gradient clipping’) ##梯度裁剪

##dropout的设置,即随机选择指定比例的神经元进行运作

parser.add_argument(’–dropout’, type=float, default=0.5, help=‘dropout keep_prob’)

##update_embedding的设置

parser.add_argument(’–update_embedding’, type=str2bool, default=True, help=‘update embedding during training’)

##pretrain_embedding的设置

parser.add_argument(’–pretrain_embedding’, type=str, default=‘random’, help=‘use pretrained char embedding or init it randomly’)

##词向量的维度的设置

parser.add_argument(’–embedding_dim’, type=int, default=300, help=‘random init char embedding_dim’)

##shuffle的设置

parser.add_argument(’–shuffle’, type=str2bool, default=True, help=‘shuffle training data before each epoch’)

##是选择训练还是测试的参数的设置

parser.add_argument(’–mode’, type=str, default=‘train’, help=‘train/test/demo’)

##???

parser.add_argument(’–demo_model’, type=str, default=‘1521112368’, help=‘model for test and demo’)

args = parser.parse_args()

“”"##命令解析器的解释(引用其他的网站)

在python中,命令行解析的很好用,

首先导入命令行解析模块

import argparse

import sys

然后创建对象

parse=argparse.ArgumentParser()

然后增加命令行

parse.add_argument("–learning_rate",type=float,default=0.01,help=“initial learining rate”)

parse.add_argument("–max_steps",type=int,default=2000,help=“max”)

parse.add_argument("–hidden1",type=int,default=100,help=“hidden1”)

对于函数add_argumen()第一个是选项,第二个是数据类型,第三个默认值,第四个是help命令时的说明

然后用arg=parse.parse_args(sys.argv[1:])

其中参数sys.argv[1:]是命令行语句中从第一个到最后。如在ubuntu下输入命令行python gg.py --learning_rate 20 --max_steps 10

则sys.argv[1:0]=–learning_rate 20 --max_steps 10

“”"

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/788907
推荐阅读
相关标签
  

闽ICP备14008679号