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

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

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

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

Python

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

Q&A

2回答

2067閲覧

PyTorch上でiouをimportする方法が分かりません

programbegin

総合スコア0

PyTorch

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

Python

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

0グッド

0クリップ

投稿2022/08/13 10:47

編集2022/08/13 13:19

前提

ここに質問の内容を詳しく書いてください。
(例)
pytorch_lightningを用いて画像分類の学習をしています。
評価のためにiouを用いるためにtorchmetricsからiouをimportしようとしても以下のようなエラーメッセージが出てしまいます。
初歩的な質問で申し訳ございませんが、宜しくお願い致します。

実現したいこと

pytorch_lightningを用いてiouによる評価を行いたいです。

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

ImportError Traceback (most recent call last) <ipython-input-34-87122a19004f> in <module>() 1 get_ipython().system('pip install -q torchmetrics') ----> 2 from torchmetrics.functional import accuracy, iou ImportError: cannot import name 'iou' from 'torchmetrics.functional' (/usr/local/lib/python3.7/dist-packages/torchmetrics/functional/__init__.py) --------------------------------------------------------------------------- NOTE: If your import is failing due to a missing package, you can manually install dependencies using either !pip or !apt. To view examples of installing some common dependencies, click the "Open Examples" button below. ---------------------------------------------------------------------------

該当のソースコード

!pip install -q torchmetrics from torchmetrics.functional import accuracy, iou

試したこと

以前はimportできていたと思うので、versionの問題もあるかと考えて古いversionにするなど試みましたが上手くいきません。

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

以前のバージョンがいくつだったのかは申し訳ございませんが正確には分かりません。
今年5月ごろに別の問題を学習している際にはfrom torchmetrics.functional import iouでimportできていた記録がありますので、その時にはversionの指定は特に行なっていませんでした。
Pytorch_lightningの現在のversionは1.7.1になります。
宜しくお願い致します。

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

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

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

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

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

meg_

2022/08/13 11:30

> 以前はimportできていたと思うので、versionの問題もあるかと考えて古いversionにするなど試みましたが上手くいきません。 以前のバージョンと現在のバージョンは何でしょうか?質問に追記してください。
programbegin

2022/08/13 11:56

ご連絡ありがとうございます。 以前のバージョンがいくつだったのかは申し訳ございませんが正確には分かりません。 今年5月ごろに別の問題を学習している際にはfrom torchmetrics.functional import iouでimportできていた記録がありますので、その時にはversionの指定は特に行なっていませんでした。 Pytorch_lightningの現在のversionは1.7.1になります。
meg_

2022/08/13 13:05

> 質問に追記してください。 質問は編集可能ですので質問に追記しましょう。(他の回答者に見てもらえやすくするためです)
guest

回答2

0

cannot import name 'iou' from 'torchmetrics.functional'

torchmetrics.functional.iouは、torchmetricsの
0.7.3
にはありますが、
0.8.0
にはありません

 
【追記】
torchmetrics.functional.iou
から
torchmetrics.functional.jaccard_index
に、名前が変わったようです
rename IoU -> Jaccard Index #662

投稿2022/08/13 13:49

編集2022/08/15 08:51
jbpb0

総合スコア7651

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

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

programbegin

2022/08/13 13:55

早々にご回答いただきまして誠にありがとうございます。 !pip install -q torchmetrics==0.7.3 import torchmetrics from torchmetrics.functional import accuracy, iou 上記のように記述してimport試みましたが、以下のような同じエラーメッセージが表示されてしまいます。他のversionの問題なのでしょうか? ImportError: cannot import name 'iou' from 'torchmetrics.functional' (/usr/local/lib/python3.7/dist-packages/torchmetrics/functional/__init__.py)
jbpb0

2022/08/13 14:17 編集

> cannot import name 'iou' from 'torchmetrics.functional' (/usr/local/lib/python3.7/dist-packages/torchmetrics/functional/__init__.py) !pip install -q torchmetrics==0.7.3 を実行した後に、 /usr/local/lib/python3.7/dist-packages/torchmetrics/functional/__init__.py の内容が、 https://github.com/Lightning-AI/metrics/blob/v0.7.3/torchmetrics/functional/__init__.py と全く同じか、確認してください 全く同じなら、下記の行が30行目にあります from torchmetrics.functional.classification.iou import iou # noqa: F401
jbpb0

2022/08/13 14:54 編集

!pip show torchmetrics を実行してください いろいろ表示される中に「Location:」で始まる行がありますが、そこに書かれてるパスは下記でしょうか? /usr/local/lib/python3.7/dist-packages もし違うなら、pipで入れたものと、pythonが使ってるものが、別のものです
programbegin

2022/08/14 06:30

お忙しい中、詳しいご回答ありがとうございます。 仰るようにfrom torchmetrics.functional import jaccard_indexでエラーになりませんでした! また!pip show torchmetricsでは「/usr/local/lib/python3.7/dist-packages」と表示されました。 jaccard_indexでこれからIoUの計算を行ってみたいと思います。 とても勉強になりました。誠にありがとうございます。
jbpb0

2022/08/15 08:59 編集

> !pip show torchmetricsでは「/usr/local/lib/python3.7/dist-packages」と表示されました。 ならば、 !pip install -q torchmetrics==0.7.3 を実行してインストールが成功したら、 /usr/local/lib/python3.7/dist-packages/torchmetrics/functional/__init__.py の内容は https://github.com/Lightning-AI/metrics/blob/v0.7.3/torchmetrics/functional/__init__.py と同じになり、下記のエラーにはならないはずなのですが、エラーになったのが不思議です > ImportError: cannot import name 'iou' from 'torchmetrics.functional' (/usr/local/lib/python3.7/dist-packages/torchmetrics/functional/__init__.py)
guest

0

torchmetrics 0.6.0ではfrom torchmetrics.functional import accuracy, iouを実行することができました。

投稿2022/08/13 13:38

meg_

総合スコア10580

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

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

programbegin

2022/08/13 13:54

早々にご回答いただきまして誠にありがとうございます。 !pip install -q torchmetrics==0.6.0 import torchmetrics from torchmetrics.functional import accuracy, iou 上記のように記述してimport試みましたが、以下のような同じエラーメッセージが表示されてしまいます。他のversionの問題なのでしょうか? ImportError: cannot import name 'iou' from 'torchmetrics.functional' (/usr/local/lib/python3.7/dist-packages/torchmetrics/functional/__init__.py)
meg_

2022/08/14 01:15

torchmetrics.__version__ で 0.6.0 と表示されますか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問