MindSpore21天实战营(2)使用MindSpore和ModelArts实现Bert中文新闻分类

网友投稿 962 2022-05-30

编者按:其实本次的体验作业和进阶作业难度都不大。但是由于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

点击两个“下载”,下好了两个文件。。

MindSpore21天实战营(2)使用MindSpore和ModelArts实现Bert中文新闻分类

(2)下载预训练模型tnews-3_3335.ckpt

浏览器上输入ckpt的链接

https://21days-bert.obs.myhuaweicloud.com:443/tnews-3_3335.ckpt?AccessKeyId=M7KX8KLMT0ZL1P8QWXZ5&Expires=1634522122&Signature=d21XsEKkzByK04oyZJ2c9JMGNLk%3D

下载了1.17G的预训练ckpt文件tnews-3_3335.ckpt

(3)下载代码

由于代码仓在github上,可以按照 张小白  https://bbs.huaweicloud.com/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文件。

好了,终于结束了这段实战旅程。

下次再见。

(全文完,谢谢阅读)

EI企业智能 Python MindSpore AI开发平台ModelArts 昇腾

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:详解CSS中的选择器
下一篇:高性能Web动画和渲染原理系列(3)——transform和opacity为什么高性能
相关文章