日萌社
人工智能AI:Keras PyTorch MXNet TensorFlow PaddlePaddle 深度学习实战(不定时更新)
python命令执行run_glue.py模型微调文件进行微调模型
微调脚本文件 transformers:transformers-cli login、transformers-cli upload
Pytorch:NLP 迁移学习、NLP中的标准数据集、NLP中的常用预训练模型、加载和使用预训练模型、huggingface的transfomers微调脚本文件
通过微调脚本微调后模型的使用步骤:
第一步: 在https://huggingface.co/join上创建一个帐户
第二步: 在服务器终端使用transformers-cli login命令登陆(需要梯子,否则国内网络很难连接登录上)。
transformers-cli文件在transformers目录下。
第一次登录时会生成token并存储到/home/用户名/.huggingface/token目录下。
并且window下无法执行transformers-cli,需要在linux下才能执行transformers-cli。
transformers-cli login
输入username和password
第三步: 使用transformers-cli upload命令上传微调后的模型并查看
transformers-cli upload SAVE_DIR(微调模型的保存路径)
transformers-cli upload ./bert_finetuning_test/
transformers-cli ls 查看上传结果
第四步: 使用pytorch.hub加载微调后的模型进行使用
linux执行脚本文件 /usr/bin/env: "python\r": 没有那个文件或目录 /usr/bin/env: "python\r": No such file or directory
报错:/usr/bin/env: "python\r": 没有那个文件或目录
/usr/bin/env: "python\r": No such file or directory
原因:在windows下从github中git clone下来可能创建多了\r字符。
#!/usr/bin/env python 在ubuntu会变成 #!/usr/bin/env python\r 而\r 会被shell 当成参数。
Windows文本文件的行结束标志是\r\n
类unix文本文件的行结束标志是\n
解决:1.不在window下执行git clone操作,改为在linux下执行git clone操作。
2.vim 该脚本文件,执行:set ff=unix 回车,设置为unix格式。
:set ff 然后回车,这个文件显示为unix格式。:wq退出保存。
注意:
1.解决每次执行torch.hub.load但是每次同时又重新下载预训练模型文件的问题:
当第一次执行torch.hub.load加载预训练模型会自动下载对应的预训练模型文件,当第一次下载完成并成功运行之后,
后面每次再执行相同的代码时如果出现重新下载之前已经下载过的并且目录已存在的预训练模型文件的话,
那么解决方式是只需要到C:/Users/Administrator/.cache/torch/hub/huggingface_pytorch-transformers_master
或 /root/.cache/torch/hub/huggingface_pytorch-transformers_master
目录中执行一次“pip install .”命令重新再次安装一次transformers之后,即使安装过程中提示transformers已经安装存在了也没关系,
当重新执行完“pip install .”之后那么再运行torch.hub.load即不会再重新下载之前已经下载过的并且目录已存在的预训练模型文件,
即能解决每次执行torch.hub.load每次又重新下载预训练模型文件的问题。
预训练模型文件自动下载在:C:/Users/Administrator/.cache/torch/transformers 或 /root/.cache/torch/transformers。
2.解决每次python命令执行run_glue.py但是每次同时又重新下载预训练模型文件的问题:
解决方式同上述第一点解决每次执行torch.hub.load又重新下载预训练模型文件的问题。
当第一次python命令执行run_glue.py模型微调文件加载预训练模型会自动下载对应的预训练模型文件,当第一次下载完成并成功运行之后,
后面每次再执行相同的python命令执行run_glue.py时如果出现重新下载之前已经下载过的并且目录已存在的预训练模型文件的话,
那么解决方式是只需要到C:/Users/Administrator/.cache/torch/hub/huggingface_pytorch-transformers_master
或 /root/.cache/torch/hub/huggingface_pytorch-transformers_master
目录中执行一次“pip install .”命令重新再次安装一次transformers之后,即使安装过程中提示transformers已经安装存在了也没关系,
当重新执行完“pip install .”之后那么再运行torch.hub.load即不会再重新下载之前已经下载过的并且目录已存在的预训练模型文件,
即能解决每次python命令执行run_glue.py但是每次同时又重新下载预训练模型文件的问题。
预训练模型文件自动下载在:C:/Users/Administrator/.cache/torch/transformers 或 /root/.cache/torch/transformers。