1. 已有操作

在.bashrc中export且source

vim ~/.bashrc

打开.bashrc后键盘输入“E”表示编辑文件,并把光标移动到文件的最后,在最后一行插入

export BERT_BASE_DIR=/home/your_dir/file_folder_name/

按下esc键之后输入“:wq!” 表示保存且退出。
其中“your_dir”表示一系列路径,“file_folder_name”表示对应的文件夹名称,这两个字符串在每个人的服务器上是不同的。

然后执行

source ~/.bashrc

按道理,这样以后就可以使用“BERT_BASE_DIR”来代替文件夹“file_folder_name”的绝对路径“/home/your_dir/file_folder_name/”了。

然而我在使用“BERT_BASE_DIR”时报错了。

2. 报错

执行以下命令

pytorch_pretrained_bert convert_tf_checkpoint_to_pytorch BERT_BASE_DIR/bert_model.ckpt /home/hanjie/FewShotTagging/uncased_L-12_H-768_A-12/bert_config.json BERT_BASE_DIR/pytorch_model.bin

这里使用到了.bashrc文件中export的内容:“BERT_BASE_DIR”,在我反复执行该命令时,结果报出两种错误,有时是:

No such file or directory: 'BERT_BASE_DIR/bert_config.json'

有时是:

Unsuccessful TensorSliceReader constructor: Failed to find any matching files for /home/hanjie/BERT_BASE_DIR/bert_model.ckpt

3. 解决

将命令中的“BERT_BASE_DIR”替换成绝对路径就可以执行成功,即运行以下命令可以成功。

pytorch_pretrained_bert convert_tf_checkpoint_to_pytorch /home/hanjie/FewShotTagging/uncased_L-12_H-768_A-12/bert_model.ckpt /home/hanjie/FewShotTagging/uncased_L-12_H-768_A-12/bert_config.json /home/hanjie/FewShotTagging/uncased_L-12_H-768_A-12/pytorch_model.bin

这样看来,使用“BERT_BASE_DIR”来代替文件夹“file_folder_name”的绝对路径“/home/your_dir/file_folder_name/”是不可以的,但我也不知道已经export和source过了,为什么还不可以。

4. 更正

由于我的疏忽,在执行命令时忘记加“$”符号了,正确的输入应为:

pytorch_pretrained_bert convert_tf_checkpoint_to_pytorch $BERT_BASE_DIR/bert_model.ckpt $BERT_BASE_DIR/bert_config.json $BERT_BASE_DIR/pytorch_model.bin
Logo

更多推荐