# GPT2-Medical-answer-question **Repository Path**: swner_admin/GPT2-Medical-answer-question ## Basic Information - **Project Name**: GPT2-Medical-answer-question - **Description**: 在医学场景中利用GPT2模型进行生成魔改。参数是小于GPT2开源版本的。源代码来源于刘聪的。改动主要是模型输入由地址转换为集合。 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 4 - **Forks**: 0 - **Created**: 2020-12-23 - **Last Updated**: 2021-11-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # GPT2-Medical-answer-question #### 介绍 在医学场景中利用GPT2模型进行生成魔改。参数是小于GPT2开源版本的。源代码来源于刘聪的。改动主要是模型输入由地址转换为集合。 #### 软件架构 软件架构说明 #### 安装教程 1. 我测试的时候安装的是pytorch 1.5版本 ```shell script ``` 2. xxxx 3. xxxx #### 使用说明 1. 儿科问答生成模型下载地址。 ```http request https://shenduxuexi-1256602214.cos.ap-chongqing.myqcloud.com/checkpoint-35367.zip ``` 2. 训练模型 ```shell script python train_simple.py ``` 3. 命令行调用 ```shell script python generate_title.py ``` 4. 对外提供接口 ```shell script python http_server.py ``` #### 生成效果图 ![](image/生成效果.png) #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 新增任务 基于关键词生成摘要 基于实体生成摘要 ## 模型训练 ``` python3 train_medical.py 或 python3 train_medical.py ``` 训练参数可自行添加,包含参数具体如下: | 参数 | 类型 | 默认值 | 描述 | | ------ | ------ | ------ | ------ | | device | str | "0" | 设置训练或测试时使用的显卡 | | config_path | str | "config/config.json" | 模型参数配置信息 | | vocab_path | str | "vocab/vocab.txt" | 词表,该词表为小词表,并增加了一些新的标记 | | train_file_path | str | "data_dir/train_data.json" | 新闻标题生成的训练数据 | | test_file_path | str | "data_dir/test_data.json" | 新闻标题生成的测试数据 | | pretrained_model_path | str | None | 预训练的GPT2模型的路径 | | data_dir | str | "data_dir" | 生成缓存数据的存放路径 | | num_train_epochs | int | 5 | 模型训练的轮数 | | train_batch_size | int | 16 | 训练时每个batch的大小 | | test_batch_size | int | 8 | 测试时每个batch的大小 | | learning_rate | float | 1e-4 | 模型训练时的学习率 | | warmup_proportion | float | 0.1 | warm up概率,即训练总步长的百分之多少,进行warm up操作 | | adam_epsilon | float | 1e-8 | Adam优化器的epsilon值 | | logging_steps | int | 20 | 保存训练日志的步数 | | eval_steps | int | 4000 | 训练时,多少步进行一次测试 | | gradient_accumulation_steps | int | 1 | 梯度积累 | | max_grad_norm | float | 1.0 | | | output_dir | str | "output_dir/" | 模型输出路径 | | seed | int | 2020 | 随机种子 | | max_len | int | 512 | 输入模型的最大长度,要比config中n_ctx小 | 或者修改train.py文件中的set_args函数内容,可修改默认值。 #### 特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/) 7. 添加微信 15246115202 17710158550 交流自然语言处理技术 拉你进群