Могу ли я узнать, почему возникает ошибка, а также мне нужна помощь, чтобы запустить этот проект?Что и почему "TypeError: Требуемый аргумент 'layout' (pos 2) not found" ошибка в Python ??
Когда я печатаю
python mlp_training.py
Я получаю ошибку
Loading training data...
(0, 38400)
(0, 4)
Loading image duration: 0.000199834
Training MLP ...
Traceback (most recent call last):
File "mlp_training.py", line 49, in <module>
num_iter = model.train((train, (train_labels), (params)))
TypeError: Required argument 'layout' (pos 2) not found
КОДА
__author__ = 'zhengwang'
import cv2
import numpy as np
import glob
print 'Loading training data...'
e0 = cv2.getTickCount()
# load training data
image_array = np.zeros((1, 38400))
label_array = np.zeros((1, 4), 'float')
training_data = glob.glob('training_data/*.npz')
for single_npz in training_data:
with np.load(single_npz) as data:
print data.files
train_temp = data['train']
train_labels_temp = data['train_labels']
print train_temp.shape
print train_labels_temp.shape
image_array = np.vstack((image_array, train_temp))
label_array = np.vstack((label_array, train_labels_temp))
train = image_array[1:, :]
train_labels = label_array[1:, :]
print train.shape
print train_labels.shape
e00 = cv2.getTickCount()
time0 = (e00 - e0)/ cv2.getTickFrequency()
print 'Loading image duration:', time0
# set start time
e1 = cv2.getTickCount()
# create MLP
layer_sizes = np.int32([38400, 32, 4])
model = cv2.ml.ANN_MLP_create()
model.setLayerSizes(layer_sizes)
criteria = (cv2.TERM_CRITERIA_COUNT | cv2.TERM_CRITERIA_EPS, 500, 0.0001)
criteria2 = (cv2.TERM_CRITERIA_COUNT, 100, 0.001)
params = dict(term_crit = criteria,
train_method = cv2.ml.ANN_MLP_BACKPROP,
bp_dw_scale = 0.001,
bp_moment_scale = 0.0)
print 'Training MLP ...'
num_iter = model.train((train, (train_labels), (params)))
# set end time
e2 = cv2.getTickCount()
time = (e2 - e1)/cv2.getTickFrequency()
print 'Training duration:', time
# save param
model.save('mlp_xml/mlp.xml')
print 'Ran for %d iterations' % num_iter
ret, resp = model.predict(train)
prediction = resp.argmax(-1)
print 'Prediction:', prediction
true_labels = train_labels.argmax(-1)
print 'True labels:', true_labels
print 'Testing...'
train_rate = np.mean(prediction == true_labels)
print 'Train rate: %f:' % (train_rate*100)
Я использую питона. Я использую OpenCV 3.2.0. Язык, который я изучаю, - это C++, но для проекта, который я делаю в python. Прости.
Ссылка на страницу GitHub является https://github.com/hamuchiwa/AutoRCCar
ВСЕ КРЕДИТЫ кода ЕГО ВЛАДЕЛЬЦА. Я просто скопировал код и изменил его здесь и там, чтобы заполнить мои потребности.
ПОЖАЛУЙСТА, не стесняйтесь задавать вопросы, я действительно нуждается решаемые
Моя система:
Ubuntu 16.04 LTS
'model.train()' нуждается в 2 аргументах. Вы предоставили только 1 i.e кортеж. – MYGz