2016-03-30 4 views
0

私は以下の配列を持っています。形状は(119, 80)です。 自分のニューロンを焼きつけて、形状を(119, 1, 80)にする方法を見つけようとしています.CerasでSimpleRNNを実行するには、明らかにその配置が必要です。Python/Numpy - 形状(119,80)の配列を(119,1,80)に置き換えます。

どうすればいいですか?ここ

は、アレイのプリントである:

[[ 0.00000000e+00 -1.00000000e+00 1.03550000e-02 ..., 8.42105263e-01 
    6.50000000e+01 -3.98148148e-01] 
[ -1.13600000e-02 -1.07482052e+00 -9.25333333e-03 ..., 4.45783133e-01 
    8.30000000e+01 -1.94915254e-01] 
[ 4.71300000e-02 -5.14876761e+00 1.63166667e-03 ..., 4.45783133e-01 
    8.50000000e+01 -1.94915254e-01] 
..., 
[ 4.73500000e-02 -1.81092653e+00 -8.54000000e-03 ..., 1.39772727e+00 
    2.77000000e+02 -3.43601896e-01] 
[ -6.46000000e-03 -1.13643083e+00 1.06100000e-02 ..., 2.22551929e-01 
    2.77000000e+02 -3.43601896e-01] 
[ 3.14200000e-02 -5.86377709e+00 1.50850000e-02 ..., 2.22551929e-01 
    2.82000000e+02 -2.76699029e-01]] 
+2

'np.newaxis'を使用してください:' arr [:、np.newaxis、:] '。 – Divakar

答えて

2

あなたは@Divakarによって溶液がちょうど同様に行う[:,None,:]

>> import numpy as np 
>> a = your_array[:,None,:] # replace `your_array` with the name of your array 
>> print a.shape 
>> (119, 1, 80) 

速記表記法を使用することができます。

$ python -mtimeit -s "import numpy as np; a = np.random.uniform(0,1,size=(119,80))" "a[:,None,:]" 
    1000000 loops, best of 3: 1.39 usec per loop 

@Divakar: 
$ python -mtimeit -s "import numpy as np; a = np.random.uniform(0,1,size=(119,80))" "a[:,np.newaxis,:]" 
    1000000 loops, best of 3: 1.45 usec per loop 
+0

しかし、それは私にランダムな配列になります。私は元のコンテンツを保持する必要がありますが、別の形をしています。 – abutremutante

+0

申し訳ありませんが、ランダム配列を使用している配列に置き換える必要があることを指摘しておきます。コードを更新しました – jorgenkg

+0

'None'は同じことをする別の方法または省略形です。ランタイムを見てよかった! – Divakar

1

あなたが理解しているように、このようなものが必要です

import numpy as np 

a = np.arange(22).reshape(11,2) 
b = a.reshape(11,1,2).swapaxes(0,2) 

print a 
print b 

[[ 0 1] 
[ 2 3] 
[ 4 5] 
[ 6 7] 
[ 8 9] 
[10 11] 
[12 13] 
[14 15] 
[16 17] 
[18 19] 
[20 21]] 
[[[ 0 2 4 6 8 10 12 14 16 18 20]] 

[[ 1 3 5 7 9 11 13 15 17 19 21]]] 
関連する問題