-2
私はstackoverflowの以前のソリューションを参考にしました。しかし、この質問に対して適切な解決策を見つけることができませんでした。これは、ラベルを使用して顔を検出するニューラルネットワークの顔を認識するための顔のトレーニング用のコードです。しかし、私はエラーを述べる: - ValueError:シーケンスで配列要素を設定します。。私のすべての画像は190 * 190ピクセルの大きさです。解決策を提案してください。私は深い学びに新しいので、plzzは自分がDLのための訓練を受けるためのソースを示唆しています。ValueError:テンソルフローの配列を持つ配列要素を設定する
def datasets(path1, label):
path = path1
image_path = [os.path.join(path, f)for f in os.listdir(path)]
gajsdata = []
for image in image_path:
read = Image.open(image)
read1 = np.array(read, dtype=object)
gajsdata.append(read1)
label.append(1)
return gajsdata, label
label = []
gajsdata, label = datasets("images_path", label)
mydata, label = datasets("images1_path", label)
gajsdata1 = np.append(gajsdata, mydata)
data = pd.DataFrame({'pixels': gajsdata, 'label':label})
label = data['label']
data = data.drop('label', axis=1)
def one_hot_encoding(y):
encode = OneHotEncoder(sparse=False)
integer_encoded = y.reshape(len(y), 1)
one_hot_encode = encode.fit_transform(integer_encoded)
return one_hot_encode
label = OneHotEncoder(label)
n_inpus = 192
n_classes = 2
training_epoch = 1000
learning_rate = 0.001
# setting up placeholder
x = tf.placeholder(tf.float32, [None, n_inpus])
y_ = tf.placeholder(tf.float32, [None, n_classes])
hidden_layer1 = 60
hidden_layer2 = 60
hidden_layer3 = 60
# now setting up variables
w = {'w1': tf.Variable(tf.truncated_normal([n_inpus, hidden_layer1])),
'w2': tf.Variable(tf.truncated_normal([hidden_layer1, hidden_layer2])),
'w3': tf.Variable(tf.truncated_normal([hidden_layer2, hidden_layer3])),
'out': tf.Variable(tf.truncated_normal([hidden_layer3, n_classes]))}
b = {'b1': tf.Variable(tf.zeros([hidden_layer1])),
'b2': tf.Variable(tf.zeros([hidden_layer2])),
'b3': tf.Variable(tf.zeros([hidden_layer3])),
'out': tf.Variable(tf.zeros([n_classes]))}
# now creating our model
layer1 = tf.add(tf.matmul(x, w['w1']), b['b1'])
layer1_relu = tf.nn.relu(layer1)
# 2nd layer
layer2 = tf.add(tf.matmul(layer1_relu, w['w2']), b['b2'])
layer2_relu = tf.nn.relu(layer2)
# 3rd layer
layer3 = tf.add(tf.matmul(layer2_relu, w['w3']), b['b3'])
layer3_relu = tf.nn.relu(layer3)
# output layer
output = tf.matmul(layer3_relu, w['out']) + b['out']
y = output
cost = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(logits=y, labels=y_))
training_step = tf.train.GradientDescentOptimizer(learning_rate).minimize(cost)
# initializing the variables
init = tf.global_variables_initializer()
# creating a session
sess = tf.Session()
sess.run(init)
for epoch in range(training_epoch):
# print(np.array(Image.open(image_path[f]for f in range(10))))
sess.run(training_step, {x: data, y_: label})
plzz解決方法を教えてください。私は本当に答えを知りたいです。 – Abhishek
不正なシェイプのリストから配列を作成しようとすると、numpyエラーのように見えます。すべての画像が同じ形になっていますか?また、あなたの質問にエラースタックのトレースを編集することはできますか?少なくとも、どのラインがエラーを出すのかを教えてください。 – umutto
私はセッションを実行するとエラーが発生します。先生はこの問題で私を助けてください。はい、すべての画像は形190 * 190です – Abhishek