質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
PyTorch

PyTorchは、オープンソースのPython向けの機械学習ライブラリ。Facebookの人工知能研究グループが開発を主導しています。強力なGPUサポートを備えたテンソル計算、テープベースの自動微分による柔軟なニューラルネットワークの記述が可能です。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

0回答

462閲覧

pipelineでunhashable type : 'list'とエラーが出る

Mizuiro_sakura

総合スコア5

PyTorch

PyTorchは、オープンソースのPython向けの機械学習ライブラリ。Facebookの人工知能研究グループが開発を主導しています。強力なGPUサポートを備えたテンソル計算、テープベースの自動微分による柔軟なニューラルネットワークの記述が可能です。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2023/01/07 06:14

編集2023/01/09 01:53

前提

こんにちは。
質問を見ていただきありがとうございます。
transformersのpipeline機能を用いたところ、エラーが生じてしまい、悩んでいます。
お忙しい中だとは思いますが、回答いただけると嬉しいです。

実現したいこと

transformersのpipeline機能でquestion-answeringを行いたいと思っています。
使うモデルはstudio-ousia/Luke-japanese-base-liteと
studio-ousia/luke-japanese-base-liteをDDQAデータセット(運転ドメインQAデータセット)を用いてfinetuningしたモデルであるMy_luke_model_squad.pthです。

My_luke_model_squad.pthはここ( https://huggingface.co/Mizuiro-sakura/luke-japanese-finetuned-question-answering/tree/main )に置いてあります

発生している問題・エラーメッセージ

multiprocessing.pool.RemoteTraceback: """ Traceback (most recent call last): File "C:\Users\AppData\Local\Programs\Python\Python39\lib\multiprocessing\pool.py", line 125, in worker result = (True, func(*args, **kwds)) File "C:\Users\AppData\Local\Programs\Python\Python39\lib\multiprocessing\pool.py", line 48, in mapstar return list(map(*args)) File "C:\Users\AppData\Local\Programs\Python\Python39\lib\site-packages\transformers\data\processors\squad.py", line 180, in squad_convert_example_to_features encoded_dict = tokenizer.encode_plus( # TODO(thom) update this logic File "C:\Users\AppData\Local\Programs\Python\Python39\lib\site-packages\transformers\tokenization_utils_base.py", line 2667, in encode_plus return self._encode_plus( File "C:\Users\AppData\Local\Programs\Python\Python39\lib\site-packages\transformers\models\mluke\tokenization_mluke.py", line 559, in _encode_plus ) = self._create_input_sequence( File "C:\Users\AppData\Local\Programs\Python\Python39\lib\site-packages\transformers\models\mluke\tokenization_mluke.py", line 775, in _create_input_sequence first_ids = get_input_ids(text) File "C:\Users\AppData\Local\Programs\Python\Python39\lib\site-packages\transformers\models\mluke\tokenization_mluke.py", line 735, in get_input_ids tokens = self.tokenize(text, **kwargs) File "C:\Userst\AppData\Local\Programs\Python\Python39\lib\site-packages\transformers\tokenization_utils.py", line 520, in tokenize if token in no_split_token: TypeError: unhashable type: 'list' """ The above exception was the direct cause of the following exception: Traceback (most recent call last): File "C:\Users\desktop\Python\luke_squad.py", line 15, in <module> result=qa(text) File "C:\Users\AppData\Local\Programs\Python\Python39\lib\site-packages\transformers\pipelines\question_answering.py", line 380, in __call__ return super().__call__(examples[0], **kwargs) File "C:\Users\AppData\Local\Programs\Python\Python39\lib\site-packages\transformers\pipelines\base.py", line 1074, in __call__ return self.run_single(inputs, preprocess_params, forward_params, postprocess_params) File "C:\Users\AppData\Local\Programs\Python\Python39\lib\site-packages\transformers\pipelines\base.py", line 1095, in run_single for model_inputs in self.preprocess(inputs, **preprocess_params): File "C:\Users\AppData\Local\Programs\Python\Python39\lib\site-packages\transformers\pipelines\question_answering.py", line 396, in preprocess features = squad_convert_examples_to_features( File "C:\Users\AppData\Local\Programs\Python\Python39\lib\site-packages\transformers\data\processors\squad.py", line 377, in squad_convert_examples_to_features features = list( File "C:\Users\AppData\Local\Programs\Python\Python39\lib\site-packages\tqdm\std.py", line 1111, in __iter__ for obj in iterable: File "C:\Users\AppData\Local\Programs\Python\Python39\lib\multiprocessing\pool.py", line 420, in <genexpr> return (item for chunk in result for item in chunk) File "C:\Users\AppData\Local\Programs\Python\Python39\lib\multiprocessing\pool.py", line 870, in next raise value TypeError: unhashable type: 'list'

該当のソースコード

python

1import torch 2from transformers import MLukeTokenizer,pipeline 3 4tokenizer = MLukeTokenizer.from_pretrained('studio-ousia/luke-japanese-base-lite') 5model=torch.load('My_luke_model_squad.pth') # 学習済みモデルの読み込み 6qa=pipeline('question-answering', model=model, tokenizer=tokenizer) 7 8text={ 9 'context':'私の名前はEIMIです。好きな食べ物は苺です。趣味は皆さんと会話することです。', 10 'question' : '好きな食べ物は何ですか' 11} 12if __name__=='__main__': 13 result=qa(text) 14 15 print(result)

補足情報(FW/ツールのバージョンなど)

python:3.9.13
transformers:4.24.0

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

meg_

2023/01/07 07:10

エラーメッセージは抜粋ではなく全文掲載いただけませんか?(ユーザー名等は隠していただいて結構です)
Mizuiro_sakura

2023/01/07 07:16

エラーの全文を載せました。 もしお時間があればご確認いただけると嬉しいです。
meg_

2023/01/07 07:37

MLukeTokenizer.from_pretrained('studio-ousia/luke-japanese-base-lite')のところでImportErrorとなってしまい、質問のコードを試すことは出来ませんでした。前準備は何を実行されていますか?
meg_

2023/01/07 09:48 編集

> transformersのバージョンが古いとimport errorになってしまいます。 transformers-4.25.1で試しましたがダメなのでしょうか?(Google Colabratoryで試したので新たにpip installしています) 4.24.0でないとダメでしょうか? ⇒ transformers-4.24.0でGoogle Colabratoryで試しましたが、同じ個所で同じエラーが出ました。残念ですがお力になれないようです。他の方の回答をお待ちください。
Mizuiro_sakura

2023/01/07 09:56

丁寧にご対応いただきありがとうございました。 ほかの方の回答を待ちたいと思います。
jbpb0

2023/01/08 08:00

meg_さん !pip install transformers !pip install sentencepiece を実行したら、 > MLukeTokenizer.from_pretrained('studio-ousia/luke-japanese-base-lite')のところでImportError にはなりませんでした
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問