回答編集履歴
1
追記
answer
CHANGED
@@ -1,1 +1,78 @@
|
|
1
|
-
`X`のndimを2にする必要があります。そのコードだとforで1減ったのが見えていて、3です。
|
1
|
+
`X`のndimを2にする必要があります。そのコードだとforで1減ったのが見えていて、3です。
|
2
|
+
|
3
|
+
### 追記
|
4
|
+
状況的には、たぶんこんな感じになっています。
|
5
|
+
|
6
|
+
```python
|
7
|
+
>>> import numpy as np
|
8
|
+
>>> a = np.arange(27).reshape((3,3,3)) # shapeは適当。質問者様のXとは違うと思います
|
9
|
+
>>> a
|
10
|
+
array([[[ 0, 1, 2],
|
11
|
+
[ 3, 4, 5],
|
12
|
+
[ 6, 7, 8]],
|
13
|
+
|
14
|
+
[[ 9, 10, 11],
|
15
|
+
[12, 13, 14],
|
16
|
+
[15, 16, 17]],
|
17
|
+
|
18
|
+
[[18, 19, 20],
|
19
|
+
[21, 22, 23],
|
20
|
+
[24, 25, 26]]])
|
21
|
+
>>> a.ndim
|
22
|
+
3
|
23
|
+
>>> for x in a:
|
24
|
+
... print(x)
|
25
|
+
... print(x.ndim)
|
26
|
+
...
|
27
|
+
[[0 1 2]
|
28
|
+
[3 4 5]
|
29
|
+
[6 7 8]]
|
30
|
+
2
|
31
|
+
[[ 9 10 11]
|
32
|
+
[12 13 14]
|
33
|
+
[15 16 17]]
|
34
|
+
2
|
35
|
+
[[18 19 20]
|
36
|
+
[21 22 23]
|
37
|
+
[24 25 26]]
|
38
|
+
2
|
39
|
+
```
|
40
|
+
|
41
|
+
どう直せばよいかと言うと、`X`の形式に依存します。質問の画像を見る限り、こんなshapeになっているような気がします。
|
42
|
+
|
43
|
+
```python
|
44
|
+
>>> a = np.arange(27).reshape((9,1,3))
|
45
|
+
>>> a
|
46
|
+
array([[[ 0, 1, 2]],
|
47
|
+
|
48
|
+
[[ 3, 4, 5]],
|
49
|
+
|
50
|
+
[[ 6, 7, 8]],
|
51
|
+
|
52
|
+
[[ 9, 10, 11]],
|
53
|
+
|
54
|
+
[[12, 13, 14]],
|
55
|
+
|
56
|
+
[[15, 16, 17]],
|
57
|
+
|
58
|
+
[[18, 19, 20]],
|
59
|
+
|
60
|
+
[[21, 22, 23]],
|
61
|
+
|
62
|
+
[[24, 25, 26]]])
|
63
|
+
```
|
64
|
+
|
65
|
+
```python
|
66
|
+
>>> a.reshape((a.shape[0], -1))
|
67
|
+
array([[ 0, 1, 2],
|
68
|
+
[ 3, 4, 5],
|
69
|
+
[ 6, 7, 8],
|
70
|
+
[ 9, 10, 11],
|
71
|
+
[12, 13, 14],
|
72
|
+
[15, 16, 17],
|
73
|
+
[18, 19, 20],
|
74
|
+
[21, 22, 23],
|
75
|
+
[24, 25, 26]])
|
76
|
+
```
|
77
|
+
|
78
|
+
こんな操作でいけたりしないかなぁ(当然`X`に対してこれをやる)。あるいは、データ読み込み段階でこの形になるように書き換えるか。
|