MindSpore0.3.0-alpha体验笔记 之 LSTM
MindSpore面世以来,更新迅速,今天已经发布了0.3.0-alpha。这篇笔记,就简单记录一下新版本中LSTM Demo的体验过程。
Demo地址:
https://gitee.com/mindspore/mindspore/tree/master/example/lstm_aclImdb
操作步骤
具体操作步骤可以参考Demo中的README.md文件。
文档很详细,按照文档一步一步来操作,就可以了,这里就不重复了。
另外,希望了解更多细节,还可以看下另外一篇中文文档。
采坑集锦
既然是笔记,就记录一下今天踩过的坑吧。
坑1 gensim
这勉强算一个坑吧,主要是操作步骤的README.md中没有提到要安装gensim。
开始训练的时候会报错。解决方法也比较简单:
pip install gensim
坑2 CUDA版本
这个坑其实是一个疏忽大意造成的坑。在租用主机选择镜像的时候,没留神选择了CUDA10.0的镜像。
开始训练的时候也会报错。后来发现后,换了一台CUDA10.1的主机,重新安装,问题就迎刃而解了。
预装:Python 3.7.5, CUDA 10.1
坑3 /mnt容量
最开始的时候,我把数据集,glove和ckpt都放在了/mnt路径下。mount到这个路径下的设备有5G的容量。当训练到第7个epoch的时候,会出现RuntimeError。
当时的训练命令如下:
python train.py --preprocess=true --aclimdb_path=/mnt/aclImdb --glove_path=/mnt --ckpt_path=/mnt/ckpt
开始觉得,把ckpt移动到主盘就可以解决了,于是修改了路径参数:
python train.py --preprocess=true --aclimdb_path=/mnt/aclImdb --glove_path=/mnt --ckpt_path=./ckpt
但是问题没有得到解决。
虽然费解,但是立刻决定把数据集和glove都改到主盘下面。
于是复制文件后,再次修改了路径参数:
python train.py --preprocess=true --aclimdb_path=./aclImdb --glove_path=./glove --ckpt_path=./ckpt
不出意料问题还是没有解决,这时仔细看了下错误信息,怀疑与预处理数据有关。
于是清空了preprocess文件夹,问题得以解决。
rm ./preprocess/*
解决了上面说的所有问题后,终于顺利完成了训练与验证。
acc有0.84。
HINT
HINT1
我当时上传glove压缩包用了很长时间。后来才想到,其实只需要下面这个文件。
glove.6B.300d.txt
如果先取出这个文件,重新压缩成只包含这一个文件的小压缩包,应该可以节约不少时间。
HINT2
注意ckpt文件的字符。
README中与实际生成的不太一样哦。。。
lstm-20-390.ckpt
lstm-20_390.ckpt
写在最后
今天主要记录了一下在跑Demo时踩过的大坑小坑,希望对大家有帮助。
最后祝贺MindSpore 0.3.0-alpha新版发布。
MindSpore0.3.0-alpha LSTM体验:踩坑与解决
这篇笔记记录了在MindSpore 0.3.0-alpha版本中运行LSTM Demo的过程,包括操作步骤、遇到的问题及解决方案。在训练时遇到gensim未安装、CUDA版本不匹配和/mnt磁盘空间不足等坑,通过安装gensim、更换CUDA10.1环境和调整数据路径成功解决。最终训练结果的准确率为0.84。
926

被折叠的 条评论
为什么被折叠?



