我正在使用tensorflow for java使用yolov2框架在单个图像帧上执行行人检测,该框架在大小为1920 x 1080的图像上的GTX 1050Ti上占用了大约400MB的gpu内存。对多个图像(5个图像)并行执行行人检测。在tensorflow中,可以使用以下代码分配gpu内存的一部分:
config = tf.ConfigProto()
config.gpu_options.per_process_gpu_memory_fraction = 0.4
session = tf.Session(config=config, ...)
我的问题是,假设我运行5个线程/进程(每个用于检测图像),如何为每个单独的线程/进程分配可用gpu内存的块(对于GTX 1050 Ti为3.6 GB)我的任务(行人检测)并在GPU利用率和处理时间方面获得最佳性能?