33 lines
1.1 KiB
Python
33 lines
1.1 KiB
Python
import multiprocessing as mp
|
|
import time
|
|
from concurrent.futures import ProcessPoolExecutor
|
|
from multiprocessing import Queue, shared_memory
|
|
|
|
import tensorrt as trt
|
|
|
|
# multiprocessing.set_start_method('spawn')
|
|
Detweights = "/home/th/tuo_heng/dev/AIlib2/weights/river2/yolov5_2080Ti_fp16.engine"
|
|
start = time.time()
|
|
with open(Detweights, "rb") as f, trt.Runtime(trt.Logger(trt.Logger.ERROR)) as runtime:
|
|
model = runtime.deserialize_cuda_engine(f.read())
|
|
print(time.time() - start)
|
|
start1 = time.time()
|
|
Segweights = "/home/th/tuo_heng/dev/AIlib2/weights/river2/stdc_360X640_2080Ti_fp16.engine"
|
|
with open(Segweights, "rb") as f, trt.Runtime(trt.Logger(trt.Logger.ERROR)) as runtime:
|
|
segmodel = runtime.deserialize_cuda_engine(f.read())
|
|
print(time.time() - start1)
|
|
|
|
def aa(buf):
|
|
print(id(buf[0]), id(buf[1]))
|
|
shm = shared_memory.SharedMemory(name='share', create=True, size=10000)
|
|
buf = shm.buf
|
|
buf = model
|
|
buf[1] = segmodel
|
|
print(id(model), id(segmodel))
|
|
p = mp.Process(target=aa, args=(buf,))
|
|
p1 = mp.Process(target=aa, args=(buf,))
|
|
p.start()
|
|
p1.start()
|
|
time.sleep(10)
|
|
|