I y_enc形状(224、224、21)のndarrayであるいくつかのコードラベルの形状(224、224)のndarrayあるnp.eye(n)[nparray]はどういう意味ですか?
y_enc = np.eye(21)[label]
スルーつもり
でも印刷形状を有する、私はこの声明を理解することに問題があります。 np.eyeは次元21 x 21の対角行列を生成すると仮定されています。それに続く[label]は何を意味しますか?
I y_enc形状(224、224、21)のndarrayであるいくつかのコードラベルの形状(224、224)のndarrayあるnp.eye(n)[nparray]はどういう意味ですか?
y_enc = np.eye(21)[label]
スルーつもり
でも印刷形状を有する、私はこの声明を理解することに問題があります。 np.eyeは次元21 x 21の対角行列を生成すると仮定されています。それに続く[label]は何を意味しますか?
Documentationから。 numpy.eye
Return a 2-D array with ones on the diagonal and zeros elsewhere.
例:
>>np.eye(3)
array([[ 1., 0., 0.],
[ 0., 1., 0.],
[ 0., 0., 1.]])
>>> np.eye(3)[1]
array([ 0., 1., 0.])
[label]
は、配列要素のインデックス付けあります。したがって、その中に1つの要素しかない場合は、与えられた行数の要素を配列として返します。
>>> np.eye(3)[1]
array([ 0., 1., 0.])
>>> np.eye(3)[2]
array([ 0., 0., 1.])
それはあなたがまた、他の質問への参照を提供してください[row_index, column_index]
>>> np.eye(3)[2,1]
0.0
>>> np.eye(3)[2,2]
1.0
>>> np.eye(3)[1,1]
1.0
あなたはそれを釘付けにするとは思わない。ラベル自体がアダレイです。インデックスのリストだけではありません。また、ラベル方法のインデックスは21を超えています。私が言ったように、y_encは(224,224,21) – bhomass
okの形になります。このエラーについてのあなたの説明よりも。 '>>> A = np.eye(21)[224,224,21] トレースバック(最新の呼び出しの最後):配列 のためにあまりにも多くのインデックス':
に2インデックス番号を与えることによって、特定の要素にアクセスすることができ
2d
配列であるとして。 – bhomass