質問編集履歴
5
自己解決を追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -92,7 +92,6 @@
|
|
92
92
|
Windoes7 64bit Professional
|
93
93
|
|
94
94
|

|
95
|
-
|
96
95
|
>>>回答から以下を追記
|
97
96
|
|
98
97
|
3.「model.add(Flatten(input_shape=(160,320,3)))」→→→「model.add(Flatten(input_shape=(1,160,320,3)))」へ修正して再度コンパイルしてみました。すると
|
@@ -104,4 +103,51 @@
|
|
104
103
|
[None None None ..., None None None]
|
105
104
|
---↑↑↑X_trainの中身↑↑↑---
|
106
105
|
が出力されました。これはX_trainをresizeしなければならないのでしょうか。
|
107
|
-
大変恐縮でございますが、ご指導頂きたく。ご回答の程宜しくお願いします。
|
106
|
+
大変恐縮でございますが、ご指導頂きたく。ご回答の程宜しくお願いします。
|
107
|
+
|
108
|
+
自己解決しました。以下に内容を述べます。
|
109
|
+
###自己解決したソースコード(Python3.5)
|
110
|
+
```Python3.5
|
111
|
+
import csv
|
112
|
+
import cv2
|
113
|
+
import numpy as np
|
114
|
+
import keras
|
115
|
+
from keras.models import Sequential
|
116
|
+
from keras.layers import Flatten, Dense
|
117
|
+
|
118
|
+
lines = []
|
119
|
+
with open('C:/Users/kom/Desktop/data/driving_log.csv') as csvfile:
|
120
|
+
reader = csv.reader(csvfile)
|
121
|
+
for line in reader:
|
122
|
+
lines.append(line)
|
123
|
+
|
124
|
+
images = []
|
125
|
+
measurements = []
|
126
|
+
for line in lines:
|
127
|
+
source_path = line[0]
|
128
|
+
filename = source_path.split('\\')[-1]
|
129
|
+
current_path = "C:/Users/kom/Desktop/data/IMG/" + filename
|
130
|
+
image = cv2.imread(current_path)
|
131
|
+
images.append(image)
|
132
|
+
measurement = float(line[3])
|
133
|
+
measurements.append(measurement)
|
134
|
+
|
135
|
+
X_train = np.array(images)
|
136
|
+
y_train = np.array(measurements)
|
137
|
+
|
138
|
+
model = Sequential()
|
139
|
+
model.add(Flatten(input_shape=(160,320,3)))
|
140
|
+
model.add(Dense(1))
|
141
|
+
|
142
|
+
model.compile(optimizer='adam', loss='mse')
|
143
|
+
model.fit(X_train,y_train,validation_split=0.2,shuffle=True, nb_epoch=10)
|
144
|
+
model.save('model.h5')
|
145
|
+
```
|
146
|
+
変更箇所は以下の2点です。若干コードの中身は変わっています。参考にした動画はMacからAWSを使用していましたが、自分のPCはWindowsを使用していたので、ファイルパスの指定がcsvとファイルでは異なることにピンときて修正したところコンパイルできました。
|
147
|
+
1.(変更前)with open('./data/driving_log.csv') as csvfile:
|
148
|
+
(変更後)with open('C:/Users/(自分のPCユーザー名)/Desktop/data/driving_log.csv') as csvfile:
|
149
|
+
2.(変更前)local_path = "\data\IMG\" + filename
|
150
|
+
(変更後)current_path = "C:/Users/kom/Desktop/data/IMG/" + filename
|
151
|
+
無事シミュレーターに反映されたので、とりあえず一安心です。
|
152
|
+
|
153
|
+
-以上-
|
4
回答から追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -91,4 +91,17 @@
|
|
91
91
|
###補足情報(言語/FW/ツール等のバージョンなど)
|
92
92
|
Windoes7 64bit Professional
|
93
93
|
|
94
|
-

|
94
|
+

|
95
|
+
|
96
|
+
>>>回答から以下を追記
|
97
|
+
|
98
|
+
3.「model.add(Flatten(input_shape=(160,320,3)))」→→→「model.add(Flatten(input_shape=(1,160,320,3)))」へ修正して再度コンパイルしてみました。すると
|
99
|
+
「Error when checking model input: expected flatten_input_1 to have 5 dimensions, but got array with shape (1888, 1)」とエラーが表示され、dimensionsが異なっていることが分かりました。
|
100
|
+
上記の画像のファイルパスと「X_train」の中身を確認してみました。すると
|
101
|
+
---↓↓↓ファイルパス↓↓↓---
|
102
|
+
./data/IMG/C:\Users\kom\AnacondaProjects\CarND-Behavioral-Cloning-P3-master\data\IMG\center_2017_07_16_16_26_04_663.jpg
|
103
|
+
./data/IMG/C:\Users\kom\AnacondaProjects\CarND-Behavioral-Cloning-P3-master\data\IMG\center_2017_07_16_16_26_04_766.jpg
|
104
|
+
[None None None ..., None None None]
|
105
|
+
---↑↑↑X_trainの中身↑↑↑---
|
106
|
+
が出力されました。これはX_trainをresizeしなければならないのでしょうか。
|
107
|
+
大変恐縮でございますが、ご指導頂きたく。ご回答の程宜しくお願いします。
|
3
タイトル修正
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
|
1
|
+
「Error when checking model input」のエラーで困っています
|
body
CHANGED
File without changes
|
2
画像の追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -89,4 +89,6 @@
|
|
89
89
|
URL:https://stackoverflow.com/questions/42770997/error-when-checking-model-input-expected-flatten-input-8-to-have-4-dimensions
|
90
90
|
2.参考にしていた動画はMacでプログラミングしていたので、エラーが出ているファイルパスの箇所の「\」が問題だと思いましたが、Windowsとの違いが分かりませんでした。このエラーが発生する前のcsvファイルを読み込むところは動画内と同じでしたので、さほど違いがあるようには思えませんが、実際のところ良く分かっていません。
|
91
91
|
###補足情報(言語/FW/ツール等のバージョンなど)
|
92
|
-
Windoes7 64bit Professional
|
92
|
+
Windoes7 64bit Professional
|
93
|
+
|
94
|
+

|
1
誤字修正
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
Pythonの「Error when checking model input」
|
1
|
+
Pythonのファイルパス読み込みエラー「Error when checking model input」
|
body
CHANGED
@@ -62,7 +62,7 @@
|
|
62
62
|
source_path = line[0]
|
63
63
|
tokens = source_path.split('/')
|
64
64
|
filename = tokens[-1]
|
65
|
-
local_path = "
|
65
|
+
local_path = "\data\IMG\" + filename
|
66
66
|
image = cv2.imread(local_path)
|
67
67
|
images.append(image)
|
68
68
|
measurement = line[3]
|
@@ -80,7 +80,7 @@
|
|
80
80
|
model.add(Dense(1))
|
81
81
|
|
82
82
|
model.compile(optimizer='adam', loss='mse')
|
83
|
-
model.fit(X_train,y_train,validation_split=0.2,shuffle=True)
|
83
|
+
model.fit(X_train,y_train,validation_split=0.2,shuffle=True)
|
84
84
|
model.save('model.h5')
|
85
85
|
```
|
86
86
|
|