При запуске кода на основе TensorFlow с Python, по моим наблюдениям, при первом запуске исполняемого файла я получаю серию сообщений вроде:
2020-06-18 22:43:42.556359: I tensorflow/core/platform/cpu_feature_guard.cc:140] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 AVX512F FMA
2020-06-18 22:43:42.841976: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1212] Found device 0 with properties:
name: TITAN RTX major: 7 minor: 5 memoryClockRate(GHz): 1.77
pciBusID: 0000:3b:00.0
totalMemory: 23.65GiB freeMemory: 23.46GiB
2020-06-18 22:43:42.942807: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1212] Found device 1 with properties:
name: TITAN RTX major: 7 minor: 5 memoryClockRate(GHz): 1.77
pciBusID: 0000:d8:00.0
totalMemory: 23.65GiB freeMemory: 23.48GiB
2020-06-18 22:43:42.942886: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1227] Device peer to peer matrix
2020-06-18 22:43:42.942915: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1233] DMA: 0 1
2020-06-18 22:43:42.942927: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1243] 0: Y N
2020-06-18 22:43:42.942932: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1243] 1: N Y
Код basi c :
tfnet = TFNet(getFlags(body.decode("utf-8")))
tfnet.camera()
postProcess(body.decode("utf-8"))
Здесь getFlags используется для передачи имени видеофайла вместе с другими входными аргументами. Функция postProcess записывает файл CSV. Теперь, пытаясь выполнять эту операцию снова и снова, используя список видеофайлов, я обнаружил, что выходной файл CSV имеет только заголовок для всех файлов после первого. Первый файл создан правильно. Чтобы еще больше сузить проблему, я просто добавил еще одну группу похожих операторов:
tfnet2 = TFNet(getFlags(body.decode("utf-8")))
tfnet2.camera()
postProcess(body.decode("utf-8"))
CSV-файл в этом случае также не записывается. Фактически, из операторов печати отладки я обнаружил, что весь поток повторяется, за исключением строк вывода, которые я привел выше. Будем очень благодарны за любые отзывы об этом. Похоже, что после инициализации TF мы можем обработать только один видеофайл. Но, возможно, я ошибаюсь, и, возможно, есть некоторые варианты, которые T FNet примет, чтобы повторно инициализировать его.