Как создать словарь с ключами в виде целого числа и определения в виде массива numpy? - PullRequest
0 голосов
/ 25 сентября 2019

Я создал модель CNN, которая может предсказывать знаки рук.У меня 10 классов т.е.0-9.выходные данные model.predict_classes () представляют собой пустой массив

ex.прогноз 5 - это [5].

Я хочу вернуть целое число, чтобы продолжить свои вычисления.

cam = cv2.VideoCapture(0)
depth = 0
ps = 0
start_pros = 0
classifier = load_model('hand_gest.h5')
classifier.compile(loss='binary_crossentropy',optimizer='rmsprop',metrics=['accuracy'])
number = []



def occurrence(lt):
    for num, sublist in groupby(lst):
        if len(list(sublist)) == 25:
            return num

while(1):
    try:
        ret, frame = cam.read()
        frame = cv2.flip(frame,1)
        roi = frame[100:400,200:500]
        cv2.rectangle(frame,(200,100),(500,400),(0,255,0),2) 
        cv2.imshow('curFrame',frame)
        cv2.imshow('roi',roi)


        img = cv2.resize(roi,(100,100))
        img = np.reshape(img,[1,100,100,3]) 
        classes = classifier.predict_classes(img)
        number = number.append(classes)
        pred_num = occurrence(number)    

Это ошибка, которая возникает во время выполнения.

AttributeError: 'NoneType' object has no attribute 'append'

1 Ответ

1 голос
/ 25 сентября 2019

Это не number = number.append(classes), вам нужно просто вызвать append:

number.append(classes)

append изменяет список на месте и возвращает None, так что в вашем коде во второй раз выполняется циклnumber будет None и, таким образом, произойдет ошибка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...