stockmarkteam / bert-book

「BERTによる自然言語処理入門: Transformersを使った実践プログラミング」サポートページ
MIT License
259 stars 80 forks source link

6章 BERTによる文章分類 について #57

Open tr1332 opened 9 months ago

tr1332 commented 9 months ago

6-4

tokenizer = BertJapaneseTokenizer.from_pretrained(MODEL_NAME) bert_sc = BertForSequenceClassification.from_pretrained( MODEL_NAME, num_labels=2 ) bert_sc = bert_sc.cuda()

を実行すると、以下のようなエラーが出ます。(#7-5でも同じです) コードを改訂して頂くことは可能でしょうか?

OSError Traceback (most recent call last) in <cell line: 2>() 1 # 7-5 ----> 2 tokenizer = BertJapaneseTokenizer.from_pretrained(MODEL_NAME) 3 bert_scml = BertForSequenceClassificationMultiLabel( 4 MODEL_NAME, num_labels=2 5 )

2 frames /usr/local/lib/python3.10/dist-packages/transformers/utils/hub.py in get_from_cache(url, cache_dir, force_download, proxies, etag_timeout, resume_download, user_agent, use_auth_token, local_files_only) 490 # If we don't have any of those, raise an error. 491 if etag is None: --> 492 raise OSError( 493 "Distant resource does not have an ETag, we won't be able to reliably ensure reproducibility." 494 )

OSError: Distant resource does not have an ETag, we won't be able to reliably ensure reproducibility.

omitakahiro commented 9 months ago

ありがとうございます。本書では東北大学が開発したBERTの事前学習済みモデルを使っていますが、東北大学のグループがHuggingFace Hubでのモデルの保存先をcl-tohokuからtohoku-nlpに変更したことが原因だと考えられます。

https://huggingface.co/cl-tohoku https://huggingface.co/tohoku-nlp

公開しているコードは後ほど変更しますが、取り急ぎ、MODEL_NAMEのcl-tohokutohoku-nlpに変更すれば動くようになると思います。

(追記)レポジトリのコードにもこちらの変更が反映されています。

tr1332 commented 9 months ago

早速のご対応、誠にありがとうございます。 今、動く事を確認いたしました!