1. ホーム
  2. python

[解決済み] TypeError: 'tuple' オブジェクトは整数値として解釈できません。

2022-02-09 07:47:59

質問

float64 (64,64)の配列であるx0を持っています。これを試すと必ず

    delta = np.random.randn(x0.shape)

キャプションのようなエラーが出ます。これは基本的なことなので、頭を抱えています。何を見落としているのでしょうか?ありがとうございます。

完全なトレースバックは以下の通りです。

Traceback (most recent call last):

  File "<ipython-input-31-dcd2365ed519>", line 1, in <module>
    delta = np.random.randn(x0.shape)

  File "mtrand.pyx", line 1420, in mtrand.RandomState.randn

  File "mtrand.pyx", line 1550, in mtrand.RandomState.standard_normal

  File "mtrand.pyx", line 167, in mtrand.cont0_array

TypeError: 'tuple' object cannot be interpreted as an integer

解決方法は?

np.random.randn() は整数の引数を必要とし、その形式は randn(64,64) . あなたは np.random.randn() という形式で引数を与えます。 randn((64,64)) これは期待されていない。代わりに、64x64 のランダムな配列を作成したい場合は、行と列の数をタプルではなく、個別に渡す必要があります。