Как исправить исключение - Movidius Stick (1 версия) с SDK 2.0 - Исключение: Status.INVALID_DATA_LENGTH - PullRequest
0 голосов
/ 29 мая 2019

Я обучил пользовательскую сеть с Keras.Затем с помощью скрипта я преобразовал свою модель keras в tenorflow и с помощью mvnCCompiler получил соответствующий файл графа.Когда я запускаю логический вывод, с graph.allocate_with_fifos и graph.queue_inference_with_fifo_elem , указывающим тензор ввода, я получаю следующую ошибку

Исключение: Status.INVALID_DATA_LENGTH E: [0] ncFifoWriteElem: 2608 длина входного тензора (59040) не соответствует ожидаемому значению (19680)

входной тензор равен (60,41,2)

Я сделал много попыток, не придя к решению.Кто-нибудь может мне помочь?

большое спасибо

 features = extract_features(parent_dir, sub_dirs)

    X_test = features

    print(X_test.size)
    print(X_test.shape)

    from mvnc import mvncapi

    # Get a list of valid device identifiers
    device_list = mvncapi.enumerate_devices()

    # Create a Device instance for the first device found
    device = mvncapi.Device(device_list[0])

    # Open communication with the device
    device.open()

    # Create a Graph
    graph = mvncapi.Graph('')

    graph_filepath='graph2.graph'

    with open(graph_filepath, 'rb') as f:
        graph_buffer = f.read()

    input_fifo, output_fifo = graph.allocate_with_fifos(device, graph_buffer)

    graph.queue_inference_with_fifo_elem(input_fifo, output_fifo, X_test.astype('float32'), 'userobj')

    # the result to the output Fifo
    output, userobj = output_fifo.read_elem()
    print('Predicted:', output.argmax())

    # Deallocate and destroy the graph handle and fifo handles, close the device, and destroy the device handle
    input_fifo.destroy()
    output_fifo.destroy()
    graph.destroy()
    device.close()
...