回答編集履歴

4

補足追記

2020/11/08 23:10

投稿

toast-uz
toast-uz

スコア3266

test CHANGED
@@ -70,7 +70,7 @@
70
70
 
71
71
 
72
72
 
73
- 以下のように修正して、Xを追記しき、Xのshapeが(120, 150, 150, 4)になるようにします。最初の次元が60回ループさせた積み重ね方向です。
73
+ 以下のように修正して、Xを追記しき、Xのshapeが(120, 150, 150, 4)になるようにします。最初の次元が60回ループ(×2画像)させた積み重ね方向です。また、yもOne-hotベクトル形式を積み重ねることで、shapeが(120, 2)になるのが正しいです。
74
74
 
75
75
 
76
76
 

3

補足追記

2020/11/08 23:10

投稿

toast-uz
toast-uz

スコア3266

test CHANGED
@@ -1,6 +1,10 @@
1
1
  エラーの意味は、model.fitにおけるx_trainの形式が違うということです。
2
2
 
3
+ またこの部分のエラーを取る、y_trainの形式も違うというエラーが新たに出ます。クラス分類なので、正解データは、1,0といったスカラー値ではなく、[1,0],[0,1]といった各要素が各クラスのウエイト1になるようなOne-hotベクトル形式にすべきです。
4
+
5
+
6
+
3
- モデル定義のところの修正が必要です。
7
+ まず、モデル定義のところの修正が必要です。
4
8
 
5
9
 
6
10
 
@@ -32,7 +36,7 @@
32
36
 
33
37
 
34
38
 
35
- また、上記の他に、forループでXが毎回上書きされているという間違いあります。
39
+ また、前処理において、yの形式を変更しましょう。さらに、上記の他に、forループでXが毎回上書きされているという間違いあります。
36
40
 
37
41
 
38
42
 
@@ -74,7 +78,7 @@
74
78
 
75
79
  X = np.empty((0,150,150,4))
76
80
 
77
- y = []
81
+ y = np.empty((0,2))
78
82
 
79
83
  for i in range(1, 61):
80
84
 
@@ -86,16 +90,14 @@
86
90
 
87
91
  p1 = imageio.imread(f"/Users/K/Downloads/hifu_photos/melano/melano-{i:03d}.png").reshape(150,150,4)
88
92
 
89
- y = np.append(y, np.array([0], dtype = np.uint8)).reshape(-1,1)
90
-
91
-
92
-
93
-
94
-
95
93
  p2 =imageio.imread(f"/Users/K/Downloads/hifu_photos/normal/normal-{i:03d}.png").reshape(150,150,4)
96
94
 
97
95
  X = np.vstack([X, np.stack([p1, p2])])
98
96
 
99
- y = np.append(y, np.array([1], dtype = np.uint8)).reshape(-1,1)
97
+ y = np.vstack([y, [[1, 0], [0, 1]]])
100
98
 
101
99
  ```
100
+
101
+
102
+
103
+ できあがったモデルで予測をした場合、結果はベクトル形式ででてきます。各要素が、対応するクラスの予測可能性に相当します。

2

前処理の修正

2020/11/08 23:08

投稿

toast-uz
toast-uz

スコア3266

test CHANGED
@@ -66,11 +66,15 @@
66
66
 
67
67
 
68
68
 
69
- 以下のように修正して、Xを追記していくようにしましょう
69
+ 以下のように修正して、Xを追記しき、Xのshapeが(120, 150, 150, 4)になるようにしま最初の次元が60回ループさせた積み重ね方向です。
70
70
 
71
71
 
72
72
 
73
73
  ```Python
74
+
75
+ X = np.empty((0,150,150,4))
76
+
77
+ y = []
74
78
 
75
79
  for i in range(1, 61):
76
80
 
@@ -82,8 +86,6 @@
82
86
 
83
87
  p1 = imageio.imread(f"/Users/K/Downloads/hifu_photos/melano/melano-{i:03d}.png").reshape(150,150,4)
84
88
 
85
- X = np.append(X, p1)
86
-
87
89
  y = np.append(y, np.array([0], dtype = np.uint8)).reshape(-1,1)
88
90
 
89
91
 
@@ -92,12 +94,8 @@
92
94
 
93
95
  p2 =imageio.imread(f"/Users/K/Downloads/hifu_photos/normal/normal-{i:03d}.png").reshape(150,150,4)
94
96
 
95
- X = np.append(X, p2)
97
+ X = np.vstack([X, np.stack([p1, p2])])
96
98
 
97
99
  y = np.append(y, np.array([1], dtype = np.uint8)).reshape(-1,1)
98
100
 
99
101
  ```
100
-
101
-
102
-
103
- なお、`NameError: name 'X' is not defined`が出たら、forの前に`X = []`を入れてください。

1

誤字の修正

2020/11/08 22:58

投稿

toast-uz
toast-uz

スコア3266

test CHANGED
@@ -16,7 +16,7 @@
16
16
 
17
17
 
18
18
 
19
- 以下のように修して、RBGAの4次元に対応させます。
19
+ 以下のように修して、RBGAの4次元に対応させます。
20
20
 
21
21
 
22
22