MindSpore21天实战营(2)使用MindSpore和ModelArts实现Bert中文新闻分类
编者按:其实本次的体验作业和进阶作业难度都不大。但是由于ModelArts在升级,bert作业倒是最后一个完成的。
(一)数据准备
(1)下载tnews数据集:
https://e-share.obs-website.cn-north-
1.myhuaweicloud.com?token=SvjC1tq+9EC0fILT0WI5w1SIJKMVsoAn6d3hiNI5bHpGQM
MKuJiZhGfVhyPTgqUIFIVIYKtAmENUpN6ssH654op9P9KNXqX021meACXkf2EZ+O58B+
FMoSmBJoaoi+97k52R89dhiOtO4HUMuIK6JYdZImjBOaZ1gxeB+gXCgHBKRNpzfcccU4d
41LlA3BPBLqhJ24K0Q76EZdwPUFdf+oRgVqr9d4n01yNmZ9PlIYQlLFSxfQGeIojXp5jif1E
EISBUvsvSm880An8VEAqYCMdiLcyfVE9rv0YFodid0EPzGmngOMa5p2Q/P6q3jJsjaPsEl
kX4SMpQ80v4DkJ4J+un4gISVfwf5VWIxObY7CbnP2YIJ+K7F+m9OrRN8oDm4aUooUfi0u
8xlKIij4NqFyWMjUuPCsAIHavtpB+WQqMFOZooFxE45VAIZSXQiWIL3UKYVSm/Eyvi+cyg
8PON0I501QJkhONQH7inkdoUMinwQoWOx/lyBzKiw8f94rtRtCWWNwI9DZsz/tDSF+yeM
o3hI7p7NILWiFUbvFK2lUc=
输入提取码123456
点击两个“下载”,下好了两个文件。。
(2)下载预训练模型tnews-3_3335.ckpt
浏览器上输入ckpt的链接
下载了1.17G的预训练ckpt文件tnews-3_3335.ckpt
(3)下载代码
由于代码仓在github上,可以按照 张小白 https://bbs.huaweicloud.cn/blogs/207322 这个文档一开始的方法使用gitee导入github上的 mindspore-21-days-tutorials 代码仓。
然后使用 git clone 将gitee代码仓的内容拷贝到本地。
(4)上传数据集
在OBS上新建以下目录,并上传上述文件。
其中:
bert目录下,上传python代码:
以及预训练模型:
dataset下建个tnews目录,上传数据集
(二)体验作业
创建体验作业的训练任务 tranjob-bert-tiyan
其中:
代码目录:/mindspore-21day-singleaz/bert/bert/
启动文件:/mindspore-21day-singleaz/bert/bert/run_classifier.py
数据集:/mindspore-21day-singleaz/bert/dataset/tnews/
训练输出位置:/mindspore-21day-singleaz/bert/output/
运行参数:predict=美国夫妇连生14个男孩后终迎来女儿
作业日志路径:/mindspore-21day-singleaz/bert/log/
确认后提交。
2分11秒后运行完毕:
判断出这是一则国际新闻。
张小白不会仅仅挑一则新闻就放过这个模型的。。。
(四川成都同名同姓情侣领证结婚)
编辑后再run
结果:
这是一则娱乐新闻。。(尽管企鹅将其分到社会新闻中,不过内容确实很娱乐。。)
好吧。张小白相信你了。
(三)进阶作业
让张小白开始鸡动人心的最后一个体验作业吧。。
先将tnews.cpkt换个名字(删掉太可惜。。万一以后我还想体验呢?)
下载bert_base.ckpt (392M)
https://bert-
21days.obs.myhuaweicloud.com:443/bert/bert_base.ckpt?AccessKeyId=M7KX8KLMT0ZL1P8Q
WXZ5&Expires=1635991421&Signature=cruWVmPy68Fz%2Bfr90Do5sS1WN0E%3D
将其上传到bert代码目录下:
然后创建模型训练和验证作业:tranjob-bert-finetune
按下图配置:
具体参数:
代码目录:/mindspore-21day-singleaz/bert/bert/
启动文件:/mindspore-21day-singleaz/bert/bert/run_classifier.py (居然跟体验一样,看来是复合型Python脚本)
数据集:/mindspore-21day-singleaz/bert/dataset/tnews/
训练输出位置:/mindspore-21day-singleaz/bert/bert/ 是为了输出后直接可以继续使用
作业日志:/mindspore-21day-singleaz/bert/log/
运行参数增加以下内容:
num_class=15
load_pretrain_checkpoint_path=/home/work/user-job-dir/bert/bert_base.ckpt
train_data_file_path=/cache/data/train.tf_record
do_train=true
epoch_num=3
eval_data_file_path=/cache/data/dev.tf_record
do_eval=true
(貌似是在配置训练和配置的开关和数据集配置,还有epoch次数什么的。。)
下一步,
确认后提交任务。等待任务执行完毕。
12分半之后,任务执行完毕。
正确率 0.55550左右。(真是个吉利的数字)
OBS上也有训练好的ckpt文件。
好了,终于结束了这段实战旅程。
下次再见。
(全文完,谢谢阅读)
- 点赞
- 收藏
- 关注作者
评论(0)