赞
踩
想用一个主题生成一篇文章,理论上是可以的,但是对模型的要求高,可能要多生成几次,夸张点说,有点像“给大猩猩足够的时间,它完全能敲出世界上任何一本书的内容”一样,如果只靠自动生成,后期不处理就直接使用的可能性不大,全当学习。
https://github.com/Morizeyao/GPT2-Chinese
首先安装python3.7.*,python的库兼容不好,建议还是使用制定版本
- 在任意磁盘新建一个文件夹,我这里新建的是python-worker
- 拉取代码
git clone https://github.com/Morizeyao/GPT2-Chinese.git .
- 创建虚拟环境,因为python的库兼容性不好,还是在虚拟环境中搞,当前库只在这个项目中有作用
python -m venv .
- 激活
.\scripts\activate
- 安装依赖
pip install -r requirements.txt
- torch 单独安装cpu版
pip install torch==1.5.1+cpu torchvision==0.6.1+cpu -f https://download.pytorch.org/whl/torch_stable.html
- 在使用cache/make_vocab.py生成词库的时候会用到
pip install tensorflow==2.0.1
pip install keras==2.3.1
安装完成后形成下面的文件结构:
以下操作如果乱码请在open函数中加encoding=‘utf8’,如果报错文件不存在请在open函数中的文件打开模式改成r+或者w+;
在生成词库之前,一定在data目录里把要训练的原始语料添加好
cd cache
python make_vocab.py
不传参数默认生成vocab_processed.txt文件,词汇表大小是50000
直接修改的源文件,没有使用传递参数:
–tokenizer_path 改为 default=‘cache/vocab_processed.txt’ 刚才制作的词库;
–model_config 模型文件可以不改,但是文件中的vocab_size参数一定要和使用的词库大小一致;
其他可以看源文件里面的说明进行适当修改
python train.py --raw --segment
进行训练
训练完毕就可使用训练的模型进行文章生成,如果模型不好,生成的就是随机字,基本没什么可读性
python ./generate.py
--length=500 文本长度
--nsamples=2 示例个数
--prefix='' 写个开头,剩下的交给GPT2了
--model_path model/** 模型路径
--tokenizer_path cache/vocab_processed.txt 模型词库
--model_config model/**/config.json 词库配置
--fast_pattern
--save_samples 保存生成的文本,否则控制台直接输出
--save_samples_path=./dist 文本生成到dist目录
涉及到路径的按自己实际路径填写即可,本着学习自己训练的生成出来的基本没有可读性,我有下载了大神分享的散文模型
https://pan.baidu.com/s/1nbrW5iw34GRhoTin8uU2tQ#list/path=%2F 【fpyu】
用这个模型生成的效果不是很理想,主要是学习下。不知道GPT3是什么效果。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。