Как исправить исключение - Movidius Stick (1 версия) с SDK 2.0 - Исключение: Status.INVALID_DATA_LENGTH

Я обучил пользовательскую сеть с 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()

0 ответов

Другие вопросы по тегам