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

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

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

Jupyter (旧IPython notebook)は、Notebook形式でドキュメント作成し、プログラムの記述・実行、その実行結果を記録するツールです。メモの作成や保存、共有、確認などもブラウザ上で行うことができます。

深層学習

深層学習は、多数のレイヤのニューラルネットワークによる機械学習手法。人工知能研究の一つでディープラーニングとも呼ばれています。コンピューター自体がデータの潜在的な特徴を汲み取り、効率的で的確な判断を実現することができます。

PyTorch

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

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Python

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

Q&A

解決済

1回答

1450閲覧

作りながら学ぶ PyTorchによる発展ディープラーニングの「2_objectdetection」の「2-7_SSD_training.ipynb」の実行エラーの解決方法2

Saba3

総合スコア15

Jupyter

Jupyter (旧IPython notebook)は、Notebook形式でドキュメント作成し、プログラムの記述・実行、その実行結果を記録するツールです。メモの作成や保存、共有、確認などもブラウザ上で行うことができます。

深層学習

深層学習は、多数のレイヤのニューラルネットワークによる機械学習手法。人工知能研究の一つでディープラーニングとも呼ばれています。コンピューター自体がデータの潜在的な特徴を汲み取り、効率的で的確な判断を実現することができます。

PyTorch

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

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Python

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

0グッド

0クリップ

投稿2021/04/21 00:59

編集2021/04/21 05:48

前提・実現したいこと

作りながら学ぶ PyTorchによる発展ディープラーニングの「2_objectdetection」の「2-7_SSD_training.ipynb」
でオリジナルクラスで学習をさせたいので、以下のようにクラス数を指定しました

voc_classes = ['person', 'cans', 'box', 'bottle', 'straw']

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

学習時に以下のエラーが出ました

~\pytorch_advanced-master\2_objectdetection\utils\ssd_model.py in pull_item(self, index) 255 # 3. 前処理を実施 256 img, boxes, labels = self.transform( --> 257 img, self.phase, anno_list[:, :4], anno_list[:, 4]) 258 259 # 色チャネルの順番がBGRになっているので、RGBに順番変更 IndexError: too many indices for array: array is 1-dimensional, but 2 were indexed

### 試したこと
・クラス数の変更部分を全て確認した。
・動作は学習前の部分までは問題なかった。
・以下のipynb内の㏑4において、以下のようにrootを変更した。

https://github.com/YutaroOgawa/pytorch_advanced/blob/master/2_objectdetection/2-2-3_Dataset_DataLoader.ipynb

rootpath = "./original_data/"

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

引用先のプログラム:https://github.com/YutaroOgawa/pytorch_advanced.git

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

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

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

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

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

meg_

2021/04/21 01:19

エラー発生箇所を特定されると良いかと思います。(どの引数でエラーなのか?)
quickquip

2021/04/21 01:36

データをどう準備したのか、その作業内容をぜんぶ書きましょう。
Saba3

2021/04/21 03:06

ご指摘ありがとうございます。 データ形式はVOC2012のxml形式です。 フォルダ内の「2-2-3_Dataset_DataLoader.ipynb」のチュートリアルではエラーなしで動作しました。
quickquip

2021/04/21 04:32 編集

データを自分で作ったわけじゃないのでしょうか? (こうデータを作って、ここに置いて、コードをこう変えて……という話がでてこないので)
Saba3

2021/04/21 05:49

データのアノテーションは自作しました。 また、質問の試した内容を変更しました。
quickquip

2021/04/21 05:52

なるほど。追記ありがとうございます。 エラーから逆算していくとクラスのどれかに"アノテーションされたデータが1個もない"状態かと思ったのでした。
Saba3

2021/04/21 06:01

解答ありがとうございます。 再度1からアノテーション作業を試みてみます。
quickquip

2021/04/21 06:13

いえ、そう思えただけで確証があるわけではないです。(だから回答にしてないのです) エラーが起きている箇所でエラーが起きているデータがどうなっているのか、普通にデバッグしていくのがいいと思います。
Saba3

2021/04/21 08:10

ご指摘ありがとうございます。 アノテーション作業をした後に再度実行したところ、無事学習を行えました。 お騒がせして申し訳ありませんでした。
guest

回答1

0

自己解決

アノテーション作業でラベル付けを間違っていた。

投稿2021/04/21 08:10

Saba3

総合スコア15

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問