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

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

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

Chainerは、国産の深層学習フレームワークです。あらゆるニューラルネットワークをPythonで柔軟に書くことができ、学習させることが可能。GPUをサポートしており、複数のGPUを用いた学習も直感的に記述できます。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

1回答

4364閲覧

Variable型変数の最大値の取得方法について

mmss

総合スコア46

Chainer

Chainerは、国産の深層学習フレームワークです。あらゆるニューラルネットワークをPythonで柔軟に書くことができ、学習させることが可能。GPUをサポートしており、複数のGPUを用いた学習も直感的に記述できます。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

1クリップ

投稿2018/02/11 07:29

初歩的な質問で大変恐縮ですが、ご助力いただけますと幸いでございます。

人工知能関連で画像を分類するようなNNを生成しているのですが、以下のエラーで困っております。

python

1y = R(x_train) 2>>> y.shape 3(9072, 16) 4>>> y[0] 5variable([ 0. , 0. , -0. , 0. , 6 -0. , 0. , 0. , -0. , 7 -0. , -0. , -7.84870625, -80.11380005, 8 0. , 45.9826889 , 0. , 0. ]) 9 10predict_result = np.argmax(y, axis=1) 11Traceback (most recent call last): 12 File "<stdin>", line 1, in <module> 13 File "C:\Program Files\Anaconda3\lib\site-packages\numpy\core\fromnumeric.py", line 973, in argmax 14 return _wrapit(a, 'argmax', axis, out) 15 File "C:\Program Files\Anaconda3\lib\site-packages\numpy\core\fromnumeric.py", line 48, in _wrapit 16 result = getattr(asarray(obj), method)(*args, **kwds) 17 File "C:\Program Files\Anaconda3\lib\site-packages\chainer\variable.py", line 1089, in __gt__ 18 raise NotImplementedError() 19SystemError: <class 'NotImplementedError'> returned a result with an error set

この「predict_result = np.argmax(y, axis=1)」のところで、y[0]からy[9071]の最大値のインデックスを取得したいのですが、うまくいきません。
具体的にはy[0]であれば、45.9826889のインデックスとして13を取得したいと考えております。

numpy配列ではできたのですが、Variable型ではどうすれば最大値を取得すればよろしいのでしょうか。

numpy化すればいいのかと考え、以下を試してみたのですがダメでした。

python

1y = np.array(y) 2>>> y[0] 3array([variable(0.0), variable(0.0), variable(-0.0), variable(0.0), 4 variable(-0.0), variable(0.0), variable(0.0), variable(-0.0), 5 variable(-0.0), variable(-0.0), variable(-7.848706245422363), 6 variable(-80.11380004882812), variable(0.0), 7 variable(45.982688903808594), variable(0.0), variable(0.0)], dtype=object) 8 9predict_result = np.argmax(y, axis=1) 10Traceback (most recent call last): 11 File "<stdin>", line 1, in <module> 12 File "C:\Program Files\Anaconda3\lib\site-packages\numpy\core\fromnumeric.py", line 974, in argmax 13 return argmax(axis, out) 14 File "C:\Program Files\Anaconda3\lib\site-packages\chainer\variable.py", line 1089, in __gt__ 15 raise NotImplementedError() 16SystemError: <class 'NotImplementedError'> returned a result with an error set

ご助力のほどよろしくお願いいたします。

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

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

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

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

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

guest

回答1

0

自己解決

predict_result = np.argmax(y, axis=1)の部分を
predict_result = np.argmax(y.data, axis=1)にしたところ上手くいきました。

見ていただいた方、ありがとうございました!!

投稿2018/02/11 07:56

mmss

総合スコア46

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問