Flat-Lattice 源码 在AutoDL上的环境配置过程

编程小白,写博客是做笔记,有很多话很啰嗦,用词也不是很专业,方便回顾学习,除此之外,如果能为他人提供帮助也算是件善事咯!

 写这篇是在Auto DL上用GPU跑通代码之后,整理出的“省时省力”的步骤:

租用了一张RTX3090,显存24G,这个在跑加了Bert的模型(即跑V1文件下的flat_main.py)够用了,跑通以后查看了NVIDI的使用情况:

开始跑epoch后,可以在jupyter新开一个终端,使用以下语句查看NVIDI使用信息:

nvidia-smi

运行上述语句后出现以下信息:

 以上信息是搭好环境以后,代码路径调好以后,发现的一个要注意的点,下面从头讲

⚠️如果是第一次使用Auto DL,在租用GPU的时候,需要选择镜像,我选的忘记了🐶,只记得是有个python3.8,torch版本什么的都忘记了,这个不算是最重要的,因为后面还是要重新配置环境的:

租好实例(即GPU)后,点击jupyterlab ,点击终端,即创建一个终端(突然想到,对于第一次租用实例的同学来说,还有一个要上传文件的工作要做,后面再说)接下来,查看cuda的版本,代码如下:

# 查询平台内置镜像中的cuda版本
ldconfig -p | grep cuda

帮助文档:

建议直接查看帮助文档,然后再接着往下看

确定好cuda的版本后,打开pytorch的官网,查找和适合该cuda版本的pytorch版本,找到之后,暂停一下,我们要先用一个conda 安装python环境

conda创建新环境:

#建一个名为flatlattice的环境,且安装3.7.3版本的python
conda create -n flatlattice python=3.7.3

关于conda 创建环境的语句参考自这篇博客

然后激活flatlattice环境:

conda activate flatlattice

进入flatlattice环境后,依次安装pytorch,fastNLP,fitlog和pytz,下面的语句-i及以后的语句可以不加,我还不清楚-i+网址是干啥的


#安装pytorch时,要注意区分是gpu还是cpu,更重要的是要记得下把面代码中的pytorch版本,改成你前面在torch官网找好的版本,直接复制官网的代码段就可以,这里给出来的是想让读者清楚环境配置的过程
# gpu环境下,c
conda install pytorch==1.2.0 torchvision==0.4.0 cudatoolkit=10.0 -c pytorch
# cpu
conda install pytorch==1.2.0 torchvision==0.4.0 cpuonly -c pytorch
#这里建议直接安装0.6.0 的fastNLP,这个是重点需要划一下,
pip install FastNLP==0.5.0 -i https://pypi.doubanio.com/simple
pip install Numpy==1.16.4 -i https://pypi.doubanio.com/simple
pip install fitlog -i https://pypi.doubanio.com/simple
pip install pytz -i https://pypi.doubanio.com/simple

这样的话,我们的环境就配好了。接下来记录一下文件上传:

auto DL 控制台的网盘只能传单个文件,且不能建文件夹,但是我们的源码是一定有文件夹的,那就从jupyter这个传文件的入口传文件,传到autodl-nas下,这个文件夹就是网盘,你再租用同地区新实例的时候不用再重新上传实验需要的文件了

 其他问题:

源码是在本地调好,跑通了,因为没有显卡,只能租服务器,但是照搬本地的文件一直报错,

比如找不到load_data 这个模块其实是路径出了问题,在jupyter终端运行flat_main需要跳到所在的V0或者V1文件下,这时候paths.py的路径要进行修改的,因为调用的数据集和词典都是在V0外的,那么就要用'../'来退回到上层文件夹,具体的大家可以看下下面的本地路径和auto DL的路径对比(不想描述,直接上对比了):

#本地文件的路径
#词向量的路径
yangjie_rich_pretrain_unigram_path = '/Users/liyanxia/Downloads/Flat-Lattice-Transformer-master/NeuralSegmentation/gigaword_chn.all.a2b.uni.ite50.vec'

yangjie_rich_pretrain_bigram_path = '/Users/liyanxia/Downloads/Flat-Lattice-Transformer-master/NeuralSegmentation/gigaword_chn.all.a2b.bi.ite50.vec'

yangjie_rich_pretrain_word_path = '/Users/liyanxia/Downloads/Flat-Lattice-Transformer-master/NeuralSegmentation/ctb.50d.vec'

yangjie_rich_pretrain_char_and_word_path = '/Users/liyanxia/Downloads/Flat-Lattice-Transformer-master/NeuralSegmentation/yangjie_word_char_mix.txt'


#数据集路径


msra_ner_cn_path = '/Users/liyanxia/Downloads/Flat-Lattice-Transformer-master/nlp_datasets-master/ner/msra'

weibo_ner_path = '/Users/liyanxia/Downloads/Flat-Lattice-Transformer-master/WeiboNER'

#Auto DL端的路径代码
#运行preprocess时,请启用该forward path,注释掉VO服务器路径中的forwardpath

#forwardpath='autodl-nas/Flat-Lattice-Transformer-master/'

#以下为V0服务器路径
forwardpath='../'
yangjie_rich_pretrain_unigram_path=forwardpath+'NeuralSegmentation/gigaword_chn.all.a2b.uni.ite50.vec'
yangjie_rich_pretrain_bigram_path =forwardpath+'NeuralSegmentation/gigaword_chn.all.a2b.bi.ite50.vec'
yangjie_rich_pretrain_word_path = forwardpath+'NeuralSegmentation/ctb.50d.vec'
yangjie_rich_pretrain_char_and_word_path = forwardpath+'NeuralSegmentation/yangjie_word_char_mix.txt'
#数据集路径
weibo_ner_path = forwardpath+'WeiboNER'

msra_ner_cn_path = forwardpath+'/nlp_datasets-master/ner/msra'

因为这个路径问题,在运行preprocess.py文件和flat_main.py 文件时要更改一下paths.py文件中的‘forwardpath’变量的内容的,否则又要报找不到文件的错误了。

还遇到过无法识别‘gigaword_chn.all.a2b.uni.ite50.vec’这个文件的错误,根源也是路径不对,如果你在本地已经跑通了源码还是出现了这个问题,这不是你的问题,只需要安装我上面的逻辑更改paths.py的路径就可以了,

总结一下,把本地跑通的代码转移到autoDL 上就跑不通的原因有两个:

1.环境配置一开始就存在问题,省时省力的步骤就是查看租用实例装好的cuda版本,然后根据cuda版本去pytorch官网找适配的torch版本,这里要注意一下的是,在安装pytorch 的时候,要看一下系统盘内存剩余容量,我中途应系统盘容量不足,清理了一些,又安装一遍还是没安上,捣鼓了两个多小时,最后决定放弃之前建好的镜像,并重新租个实例,按照,查cuda版本,找到对应的pytorch,创建源码需要的python环境,然后安装找好的pytorch版本,再用pip 安装fastNLP ,fitlog,还有另外一个,python包,配好环境后,加上填好的pathsd坑,跑源码的过程就很丝滑了

2.就是paths.py中的路径不能用绝对路径,具体的看上面的路径文件对比图吧,比我说的更清楚,

3.最后说一下,在本地跑的时候主要看的这篇博客,感觉很好,他还补充了一些数据集预处理的文件,一定要先看它,再来看我这篇,因为只是讲了我遇到的问题。

还没跑通之前的记录的笔记,有点重复了,可以忽略,我不舍得扔,第一次认真写博客。

租用好的服务器是conda是安装好的可以直接启动conda环境

启动conda语句:conda activate

使用conda创建环境:

step0:创建名为’flatlattice‘的python3.7的环境:

conda create -n flatlattice python=3.7

#橘色字体是不可变,黑色字体是改变成自己需要的名字和python版本

启动flatlattice环境:

语句:conda activate flatlattice

执行“conda activate flatlattice”语句后,就启动了flatlattice环境,注意看root前面多了“(flat lattice)”这表明了flatlattice环境已经启动了

启动环境后,配置环境:

安装pytorch:

语句:conda install pytorch==1.2.0 torchvision==0.4.0 cudatoolkit=10.0 -c pytorch

注意:“==”左右两边都没有空格,否则会报错

注意:只截了部分图

安装fastNLP:

语句:pip3 install fastNLP==0.6.0

注意:“==”左右两边都没有空格,否则会报错

注意:会有个安装过程,只截了一部分图 :

安装numpy:

语句:pip3 install Numpy==1.16.4

​​​​​​​ 

安装fitlog

pip3 install fitlog

关闭环境语句:

conda deactivate

查看安装的fastNLP,numpy,pytorch的版本

step1:进入python环境:

语句:python

执行以后: 

删除环境语句:

conda remove -n  flatlattice --all

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值