如何在 GPU 上使用子进程进行批量推理?
How to use subprocess on the GPU for batch inferencing?
我正在使用 YOLOv4 在 Colab 上训练对象检测模型。这就是我用来 运行 在测试集上进行测试的方法:
#/test has images that we can test our detector on
test_folder = "/content/logorec/Worlds-2020-Logos/"
test_images = [f for f in os.listdir(test_folder) if f.endswith('.png')]
import random
img_path = ''
for i in range(0, len(test_images)):
img_path = test_folder + test_images[i];
!./darknet detect cfg/custom-yolov4-detector.cfg backup/custom-yolov4-detector_last.weights {img_path} -dont-show
imShow('predictions.jpg')
如您所见,问题在于它一次测试 1 个文件。对于非常大的测试集,这是非常低效的。有没有一种方法可以 运行 批量(同时)而不是按顺序进行推理?我目前可以使用 Tesla V100 GPU。
是的,你可以。您必须通过路径将所有测试图像加载到 tf.dataset.Dataset 对象中。我不知道你从哪里得到 YoloV4,但我认为它必须提供一次读取整个数据集对象的功能。尝试打开文件 darknet
找到它
我正在使用 YOLOv4 在 Colab 上训练对象检测模型。这就是我用来 运行 在测试集上进行测试的方法:
#/test has images that we can test our detector on
test_folder = "/content/logorec/Worlds-2020-Logos/"
test_images = [f for f in os.listdir(test_folder) if f.endswith('.png')]
import random
img_path = ''
for i in range(0, len(test_images)):
img_path = test_folder + test_images[i];
!./darknet detect cfg/custom-yolov4-detector.cfg backup/custom-yolov4-detector_last.weights {img_path} -dont-show
imShow('predictions.jpg')
如您所见,问题在于它一次测试 1 个文件。对于非常大的测试集,这是非常低效的。有没有一种方法可以 运行 批量(同时)而不是按顺序进行推理?我目前可以使用 Tesla V100 GPU。
是的,你可以。您必须通过路径将所有测试图像加载到 tf.dataset.Dataset 对象中。我不知道你从哪里得到 YoloV4,但我认为它必须提供一次读取整个数据集对象的功能。尝试打开文件 darknet
找到它