本記事の目的
@Yuu94 様の「Google Colaboratory(GPU)上でBERTのチュートリアルを行う」に従って BERT のチュートリアルをやってみました。内容自体はわかりやすく BERT の動作を簡単に学べるのですが、執筆時点から Google Colaboratory かそこで使われている Python のバージョンかが変わったことが原因と思われるエラーが一部で発生していました。そこで、こちらで2021年2月24日に実行した際に詰まった部分とその対処方法を共有させていただきます。
(本家記事様への編集リクエストという方法も考えましたが、編集リクエスト内容が本当に正しいのかあちら側で検証する手間が発生してしまうことを鑑みて、独立した記事での投稿といたしました。読者の皆様におかれましては本記事公開後に本家記事様が更新され既にエラー箇所が修正されている可能性についてご留意ください。)
GoogleDriveをマウント
原文
cd drive/'My Drive'/bert
実行可能形式
%cd drive/'My Drive'/bert
コメント
元のままではcontent
ディレクトリから移動しない。これは!pwd
などで確認できる。
cd
コマンドは%
ありでもなしでも動くはずなのだが、実際に%
なしで実行してみたところそんなメソッドは無いというエラーが出てしまった。%
をつけることで正常に動作。ちなみに!
をつけてもディレクトリ移動は行われない。これは別スレッドが立ってそちらで実行されてしまうからとのこと。
データセットの保存
原文
!git clone https://gist.github.com/60c2bdb54d156a41194446737ce03e2e.git
!python 60c2bdb54d156a41194446737ce03e2e/download_glue_data.py --data_dir glue_data --tasks MRPC
実行可能形式
!git clone https://gist.github.com/d1135b1d75f5513c742fabdad227fe5b.git
!python d1135b1d75f5513c742fabdad227fe5b/download_glue_data.py --data_dir glue_data --tasks MRPC
コメント
download_glue_data.py
にはURLLIB.urlretrieve
なる記述があり動かない。どうやらこれはPython2系での書き方のようで、Python3系ではurllib.request.urlretrieve
とするのが正しいとのこと。こちらを修正したForkが存在するのでそれを使う。