import argparse parser = argparse.ArgumentParser() parser.add_argument( '--verbose', '-v', help="Increase verbosity. Add multiple times to increase further.", action='count', default=0 ) parser.add_argument( '--remote-log-addr', help="Connect to a remote logger like cutelog. Specify the ip", type=str, ) parser.add_argument( '--remote-log-port', help="Connect to a remote logger like cutelog. Specify the port", type=int, default=19996 ) # parser.add_argument('--foo') inference_parser = parser.add_argument_group('inference server') connection_parser = parser.add_argument_group('connection') inference_parser.add_argument("--model_dir", help="directory with the model to use for inference", type=str, # TODO: make into Path default='./experiments/pedestrians/models/models_04_Oct_2023_21_04_48_eth_vel_ar3') inference_parser.add_argument("--conf", help="path to json config file for hyperparameters, relative to model_dir", type=str, default='config.json') # Model Parameters (hyperparameters) inference_parser.add_argument("--offline_scene_graph", help="whether to precompute the scene graphs offline, options are 'no' and 'yes'", type=str, default='yes') inference_parser.add_argument("--dynamic_edges", help="whether to use dynamic edges or not, options are 'no' and 'yes'", type=str, default='yes') inference_parser.add_argument("--edge_state_combine_method", help="the method to use for combining edges of the same type", type=str, default='sum') inference_parser.add_argument("--edge_influence_combine_method", help="the method to use for combining edge influences", type=str, default='attention') inference_parser.add_argument('--edge_addition_filter', nargs='+', help="what scaling to use for edges as they're created", type=float, default=[0.25, 0.5, 0.75, 1.0]) # We don't automatically pad left with 0.0, if you want a sharp # and short edge addition, then you need to have a 0.0 at the # beginning, e.g. [0.0, 1.0]. inference_parser.add_argument('--edge_removal_filter', nargs='+', help="what scaling to use for edges as they're removed", type=float, default=[1.0, 0.0]) # We don't automatically pad right with 0.0, if you want a sharp drop off like # the default, then you need to have a 0.0 at the end. inference_parser.add_argument('--incl_robot_node', help="whether to include a robot node in the graph or simply model all agents", action='store_true') inference_parser.add_argument('--map_encoding', help="Whether to use map encoding or not", action='store_true') inference_parser.add_argument('--no_edge_encoding', help="Whether to use neighbors edge encoding", action='store_true') inference_parser.add_argument('--batch_size', help='training batch size', type=int, default=256) inference_parser.add_argument('--k_eval', help='how many samples to take during evaluation', type=int, default=25) # Data Parameters inference_parser.add_argument("--eval_data_dict", help="what file to load for evaluation data (WHEN NOT USING LIVE DATA)", type=str, default='./experiments/processed/eth_test.pkl') inference_parser.add_argument("--output_dir", help="what dir to save output (i.e., saved models, logs, etc) (WHEN NOT USING LIVE OUTPUT)", type=str, default='../experiments/pedestrians/OUT/test_inference') # inference_parser.add_argument('--device', # help='what device to perform training on', # type=str, # default='cuda:0') inference_parser.add_argument("--eval_device", help="what device to use during inference", type=str, default="cpu") inference_parser.add_argument('--seed', help='manual seed to use, default is 123', type=int, default=123) # Internal connections. connection_parser.add_argument('--zmq-trajectory-addr', help='Manually specity communication addr for the trajectory messages', type=str, default="ipc:///tmp/feeds/traj") connection_parser.add_argument('--zmq-camera-stream-addr', help='Manually specity communication addr for the camera stream messages', type=str, default="ipc:///tmp/feeds/img") connection_parser.add_argument('--zmq-prediction-addr', help='Manually specity communication addr for the prediction messages', type=str, default="ipc:///tmp/feeds/preds") connection_parser.add_argument('--ws-port', help='Port to listen for incomming websocket connections. Also serves the testing html-page.', type=int, default=8888) connection_parser.add_argument('--bypass-prediction', help='For debugging purpose: websocket input immediately to output', action='store_true')