# WriteGPT
![image](https://img.shields.io/badge/License-Apache--2.0-green) ![image](https://img.shields.io/badge/License-MIT-orange) ![image](https://img.shields.io/badge/License-Anti--996-red) ![image](https://img.shields.io/badge/pypi-v0.0.1a4-yellowgreen) ![image](https://img.shields.io/badge/stars-%3C%205k-blue) ![image](https://img.shields.io/badge/issues-30%20open-brightgreen)
通用型议论文创作人工智能框架,仅限交流与科普。
## 项目简介
WriteGPT是基于OCR、NLP领域的最新模型所构建的生成式文本创作AI框架,目前第一版finetune模型针对高考作文(主要是议论文),可以有效生成符合人类认知的文章,多数文章经过测试可以达到正常高中生及格作文水平。
| 项目作者 | 主页1 | 主页2 |
| ------------- |:------:|:----:|
| Y1ran | [CSDN](https://y1ran.blog.csdn.net/) |[Github](https://github.com/Y1ran) |
**致谢**
感谢开源作者[@imcaspar](https://github.com/imcaspar) 在GPT-2中文预训练框架与数据中的支持。
感谢[@白小鱼博士](https://www.zhihu.com/people/youngfish42) 、[@YJango博士](https://www.zhihu.com/people/YJango) 、[@画渣花小烙](https://space.bili.com/402576555)、[@万物拣史](https://space.bilibili.com/328531988/) 、[@柴知道](https://space.bilibili.com/26798384/)、[@风羽酱-sdk](https://space.bilibili.com/17466521/)、[@WhatOnEarth](https://space.bilibili.com/410527811/)、[@这知识好冷](https://space.bilibili.com/403943112/)、[@科技狐](https://space.bilibili.com/40433405/) 的参与和支持
<br>
## 框架说明
- [x] 基于EAST、CRNN、Bert和GPT-2语言模型的高考作文生成AI
- [x] 支持bert tokenizer,当前版本基于clue chinese vocab
- [x] 17亿参数多模块异构深度神经网络,超2亿条预训练数据
- [x] 线上点击即用的文本生成效果demo:[17亿参数作文杀手](https://colab.research.google.com/github/EssayKillerBrain/writeGPT/blob/master/colab_online.ipynb)
- [x] 端到端生成,从试卷识别到答题卡输出一条龙服务
### Colab线上作文生成功能
国内没有足够显存的免费GPU平台,所以配合Google Drive将训练好的AI核心功能Language Network写作模块迁移到Colab。
当前线上仅开放文本生成功能,输入对应句子,AI返回生成文章。同一个句子可以输入多次,每一次输出都不同。也可以选择同时生成多篇文章。具体见:[17亿参数作文杀手](https://colab.research.google.com/github/EssayKillerBrain/writeGPT/blob/master/colab_online.ipynb)
* 第一步:安装环境
![](https://github.com/EssayKillerBrain/writeGPT/blob/master/References/attachments/Clipboard_2020-09-29-15-22-13.png)
* 第二部:加载模型
![](https://github.com/EssayKillerBrain/writeGPT/blob/master/References/attachments/Clipboard_2020-09-29-15-27-38.png)
* 第三步:文章生成
![](https://github.com/EssayKillerBrain/writeGPT/blob/master/References/attachments/Clipboard_2020-09-29-15-27-14.png)
* 写作效果
![](https://github.com/EssayKillerBrain/writeGPT/blob/master/References/attachments/Clipboard_2020-09-29-15-23-27.png)
## 本地环境
* Ubuntu 18.04.2
* Pandas 0.24.2
* Regex 2019.4.14
* h5py 2.9.0
* Numpy 1.16.2
* Tensorboard 1.15.2
* Tensorflow-gpu 1.15.2
* Requests 2.22.0
* OpenCV 3.4.2
* CUDA >= 10.0
* CuDNN >= 7.6.0
## 开发日志
* 2020.06.23 本地Git项目建立
* 2020.07.03 整体模型架构搭建,开始语料收集
* 2020.07.13 基于OCR的视觉网络训练
* 2020.08.01 GPT-2中文预训练模型微调
* 2020.08.14 Bert文本摘要模型
* 2020.08.23 通顺度判分网络测试
* 2020.09.14 排版脚本与输出装置改装
* 2021.02.15 修复网页版模型打分
* 2021.06.10 训练集中增加了《毛泽东选集》、《陈独秀文集》、《鲁迅文集》等著作
## 模型结构
整个框架分为EAST、CRNN、Bert、GPT-2、DNN 5个模块,每个模块的网络单独训练,参数相互独立。infer过程使用pipeline串联,通过外接装置直接输出到答题卡。
![](https://github.com/EssayKillerBrain/writeGPT/blob/master/References/attachments/Clipboard_2020-09-29-15-35-00.png)
### 1. 输入
高考语文试卷作文题
>![浙江卷](https://images.shobserver.com/img/2020/7/7/37b2224ee3de441a8a040cb4f5576c2d.jpg)
### 2. 识别网络
#### 2.1 EAST文本检测
OpenCV 的EAST文本检测器是一个深度学习模型,它能够在 720p 的图像上以13帧/秒的速度实时检测任意方向的文本,并可以获得很好的文本检测精度。
![](https://github.com/EssayKillerBrain/writeGPT/blob/master/References/attachments/Clipboard_2020-09-29-15-45-54.png)
<br>
**模型亮点**
1. 简单的管道实现在当时较高精度的文本检测。
2. 图像通过FCN处理产生像素级文本缩放地图和几何图形的多个频道。
3. 可旋转的文本框,可以检测文本也可以检测单词。
EAST文本检测器需要 OpenCV3.4.2 或更高的版本,有需要的读者可以查看 [OpenCV 安装教程](https://www.pyimagesearch.com/opencv-tutorials-resources-guides/)。虽然EAST的模型在检测自然场景下的英文文本有着较好的性能,要实现中文场景下的中文文本检测,仍然需要重新训练模型。
**数据集处理**
中文文本识别的数据集要按照原作者的命名方式修改,即使使用ICDAR3013这类标准数据集,也需要修改对应的图片命名方式。原代码数据集的命名方式:图片1.jpg 图片1.txt。
此外,代码是通过获取文件类型然后重新命名以原来的文件类型保存的,所以文本数据和图片数据需要分开处理。
*训练命令:*
```bash
python multigpu_train.py --gpu_list=0 --input_size=512 --batch_size_per_gpu=14 --checkpoint_path=/tmp/east_icdar2015_resnet_v1_50_rbox/ \ --text_scale=512 --training_data_path=/data/ocr/icdar2015/ --geometry=RBOX --learning_rate=0.0001 --num_readers=24 \ --pretrained_model_path=/tmp/resnet_v1_50.ckpt
```
更多细节可以参考:https://zhuanlan.zhihu.com/p/64737915
<br>
*检测结果*
![](https://github.com/EssayKillerBrain/writeGPT/blob/master/References/attachments/Clipboard_2020-09-29-16-25-01.png)
除了EAST,也可以把识别网络替换为传统的CTPN等模型,github上有已经成熟的项目:https://github.com/Walleclipse/ChineseAddress_OCR
#### 2.2 CRNN文本识别
参考 https://github.com/ooooverflow/chinese-ocr
**数据准备**
下载[训练集](https://pan.baidu.com/s/1E_1iFERWr9Ro-dmlSVY8pA):共约364万张图片,按照99: 1划分成训练集和验证集
数据利用中文语料库(新闻 + 文言文),通过字体、大小、灰度、模糊、透视、拉伸等变化随机生成。包含汉字、英文字母、数字和标点共5990个字符,每个样本固定10个字符,字符随机截取自语料库中的句子,图片分辨率统一为280x32。
*修改/train/config.py中train_data_root,validation_data_root以及image_path*
**训练**
```bash
cd train
python train.py
```
**训练结果**
```python
Epoch 3/100
25621/25621 [==============================] - 15856s 619ms/step - loss: 0.1035 - acc: 0.9816 - val_loss: 0.1060 - val_acc: 0.9823
Epoch 4/100
25621/25621 [==============================] - 15651s 611ms/step - loss: 0.0798 - acc: 0.9879 - val_loss: 0.0848 - val_acc: 0.9878
Epoch 5/100
25621/25621 [==============================] - 16510s 644ms/step - loss: 0.0732 - acc: 0.9889 - val_loss: 0.0815 - val_acc: 0.9881
Epoch 6/100
25621/25621 [==============================] - 15621s 610ms/step - loss: 0.0691 - acc: 0.9895 - val_loss: 0.0791 - val_acc: 0.9886
Epoch 7/100
25621/25621 [==============================] - 15782s 616ms/step - loss: 0.0666 - acc: 0.9899 - val_loss: 0.0787 - val_acc: 0.9887
Epoch 8/100
25621/25621 [==============================] - 15560s 607ms/step - loss: 0.0645 - acc: 0.9903 - val_loss: 0.0771 - val_acc: 0.9888
```
>![](https://github.com/
没有合适的资源?快使用搜索试试~ 我知道了~
基于开源GPT2.0的初代创作型人工智能 可扩展、可进化.zip
共274个文件
py:95个
jpg:27个
png:25个
需积分: 5 0 下载量 155 浏览量
2024-04-29
20:58:20
上传
评论
收藏 208.78MB ZIP 举报
温馨提示
基于开源GPT2.0的初代创作型人工智能 可扩展、可进化.zip
资源推荐
资源详情
资源评论
收起资源包目录
基于开源GPT2.0的初代创作型人工智能 可扩展、可进化.zip (274个子文件)
gcode.c 61KB
stepper.c 51KB
protocol.c 37KB
planner.c 26KB
report.c 23KB
motion_control.c 18KB
system.c 16KB
limits.c 16KB
settings.c 13KB
spindle_control.c 9KB
serial.c 8KB
eeprom.c 5KB
nuts_bolts.c 5KB
print.c 5KB
main.c 4KB
coolant_control.c 3KB
probe.c 2KB
jog.c 2KB
checkpoint 121B
expamle.csv 7KB
VGGnet_fast_rcnn_iter_50000.ckpt.data-00000-of-00001 68.26MB
gpu-jupyter.Dockerfile 721B
.gitignore 2KB
.gitignore 27B
.gitignore 24B
.gitignore 14B
.gitignore 14B
.gitignore 14B
.gitignore 14B
.gitignore 14B
.gitignore 14B
.gitignore 14B
.gitignore 14B
.gitignore 14B
.gitignore 14B
.gitignore 14B
.gitignore 13B
.gitignore 13B
.gitignore 13B
.gitignore 11B
.gitignore 11B
.gitignore 6B
.gitkeep 0B
config.h 43KB
defaults.h 23KB
gcode.h 10KB
system.h 10KB
cpu_map.h 7KB
planner.h 7KB
settings.h 5KB
report.h 4KB
grbl.h 3KB
nuts_bolts.h 3KB
motion_control.h 3KB
spindle_control.h 3KB
stepper.h 2KB
serial.h 2KB
protocol.h 2KB
print.h 2KB
probe.h 2KB
coolant_control.h 1KB
limits.h 1KB
eeprom.h 1KB
jog.h 1022B
weights_densenet.h5 18.92MB
VGGnet_fast_rcnn_iter_50000.ckpt.index 2KB
grblWrite_BuildInfo.ino 4KB
grblUpload.ino 1KB
colab_online.ipynb 5KB
JVM_API.java 3KB
DNN_API.java 2KB
001.jpg 1.26MB
demo.jpg 1.06MB
004.jpg 1.04MB
005.jpg 691KB
006.jpg 460KB
demo_detect.jpg 400KB
005.jpg 382KB
009.jpg 354KB
lebron_james.jpg 301KB
006.jpg 273KB
003.jpg 270KB
004.jpg 259KB
002.jpg 259KB
009.jpg 238KB
003.jpg 174KB
008_oriented.jpg 170KB
008.jpg 164KB
007_oriented.jpg 160KB
001.jpg 157KB
007.jpg 153KB
demo_rec.jpg 144KB
008.jpg 121KB
007.jpg 77KB
sign.jpg 33KB
002.jpg 22KB
2235.jpg 9KB
2234.jpg 6KB
js_data 67KB
test.json 30.37MB
共 274 条
- 1
- 2
- 3
资源评论
普通的一个普通猿
- 粉丝: 1466
- 资源: 1761
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 课程大作业基于python实现的单目双目视觉三维重建源码(95分以上).zip
- 使用matplotlib库绘制简单图表的例子.rar
- 九阴真经OL资源解包工具
- python-leetcode面试题解之第307题区域和检索.zip
- python-leetcode面试题解之第305题岛屿数量II.zip
- python-leetcode面试题解之第304题二维区域和检索.zip
- python-leetcode面试题解之第303题区域和检索.zip
- python-leetcode面试题解之第299题猜数字游戏.zip
- python-leetcode面试题解之第298题二叉树最长连续序列.zip
- python-leetcode面试题解之第296题最佳的碰头地点.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功