print("batch_size: " + str(args.batch_size)) print("data_worker: " + str(args.data_worker)) print("model: " + str(args.model)) print("port: " + str(args.port)) #torch.manual_seed(1) bm.register('get_epoch_event') bm.register('get_global_event') bm.register('get_grad_queue') bm.register('get_grad_queue2') bm.register('get_targets_queue') bm.register('get_save_event') bm.register('get_backward_event') bm.register('get_start_thread_event') bm.register('get_start_thread_event2') m = bm(address=(args.ip, args.port), authkey=b'xpipe') m.connect() global_event = m.get_global_event() epoch_event = m.get_epoch_event() grad_queue = m.get_grad_queue() targets_queue = m.get_targets_queue() save_event = m.get_save_event() start_event = m.get_start_thread_event() grad_queue2 = m.get_grad_queue2() start_event2 = m.get_start_thread_event2() # node_cfg_0 = [64, 64, 'M', 128, 128, 'M'] # node_cfg_1 = [256, 256, 256, 256, 'M'] # node_cfg_2 = [512, 512, 512, 512, 'M'] # node_cfg_3 = [512, 512, 512, 512, 'M']
def get_best_acc(self): return self.best_acc def get_epoch_event(): return epoch_event def get_global_event(): return global_event if __name__ == "__main__": parser = argparse.ArgumentParser() parser.add_argument('-ip', help='the ip of manager server', default='89.72.2.41') parser.add_argument('-path', help='the path of share system') args = parser.parse_args() if os.path.exists(args.path): os.remove(args.path) bm.register('get_epoch_event', callable=get_epoch_event) bm.register('get_global_event', callable=get_global_event) bm.register('get_acc', Acc) m = bm(address=(args.ip, 5000), authkey=b'xpipe') m.start() g_e = m.get_global_event() print("master run......") g_e.wait() m.shutdown() print("master shutdown........")
parser.add_argument('--weights', '-w', type=str, default='weights/yolov3.weights', help='weights file') parser.add_argument('--config', '-c', type=str, default='cfg/yolo_v3.cfg', help='net configure file') parser.add_argument('--cuda', action='store_true', default=False, help='if specified, gpu will be used') parser.add_argument('--detect', action='store_true', default=False, help='if specified, frames with detecting bounding box will be outputed') parser.add_argument('--save', '-s', type=str, default='video_frames', help='the path to save detection results') parser.add_argument('--conf_thresh', '-ct', type=float, default=0.3, help='confidence thresh') parser.add_argument('--nms_thresh', '-nt', type=float, default=0.4, help='nms thresh') parser.add_argument('--class_names', '-n', type = str, default='data/coco.names', help = 'specify the file which contains the class names') parser.add_argument('--size', type=int, default = 416, help = 'the size of image, must be the times of 32') args, _ = parser.parse_known_args() send_end_signal = Value('i', 0) send_end = Value('i', 0) pro_end = Value('i', 0) ori_q = queue.Queue() det_q = queue.Queue() bm.register('get_ori', callable = lambda: ori_q) bm.register('get_det', callable = lambda: det_q) bm.register('add_send_end', callable = add_send_end) bm.register('get_send_end', callable = get_send_end) bm.register('add_pro_end', callable = add_pro_end) bm.register('get_pro_end', callable = get_pro_end) m = bm(address=('10.66.30.45',10000),authkey = b'abc') m.start() p1 = Process(target = process_img, args = (args, )) p2 = Process(target = super_send_end) p1.start() p2.start() p1.join() p2.join()
parser.add_argument('--save_path', '-sp', type=str, default=None, help='the path to save your detection video results') args, _ = parser.parse_known_args() pro_end_signal = Value('i', 0) bm.register('get_ori') bm.register('get_det') bm.register('add_send_end') bm.register('get_send_end') bm.register('add_pro_end') bm.register('get_pro_end') m = bm(address=('geeekvr.com', 8014), authkey=b'abc') m.connect() if args.video: p1 = Process(target=send_frames_video, args=(args.video_file_path, args.frame_size)) else: p1 = Process(target=send_frames, args=(args.frame_path, args.frame_size)) p2 = Process(target=rcv_frames, args=(args.write_video, args.save_path, args.frame_size)) p3 = Process(target=super_pro_end) p1.start() p2.start() p3.start() p1.join()
import psutil import gc import numpy as np """ pipeline ResNet script for Tianhe-2 with gpu cluster """ if __name__ == "__main__": parser = argparse.ArgumentParser() parser.add_argument('-flag', type=int, help='the size of queue', default=2) args = parser.parse_args() bm.register('get_queue') m = bm(address=('127.0.0.1', 5000), authkey=b'xpipe') m.connect() queue = m.get_queue() if args.flag == 0: for i in range(10): #value = np.random.rand(2,2) value = torch.randn([128, 6, 6, 64]) #print(value) print("----") queue.put(value) time.sleep(1) else: for i in range(10): value = queue.get() #print(value) print("----")