def run_simulation(self): num_client = int(self.num_client.text()) num_severs = int(self.num_server.text()) iterations = int(self.num_iterations.text()) ml_algo_index = self.selectMLAlgorithm.currentIndex() method = 'log_reg' # default if ml_algo_index == 0: method = 'log_reg' elif ml_algo_index == 1: method = 'perceptron' else: method = 'mlp' random.seed(0) np.random.seed(0) initializer = Initializer( num_clients=num_client, iterations=iterations, num_servers=num_severs, method=method, simulation_output_view=self.simulation_output) # can use any amount of iterations less than config.ITERATIONS but the # initializer has only given each client config.ITERATIONS datasets for training. a = datetime.datetime.now() initializer.run_simulation(iterations, self.simulation_output, server_agent_name='server_agent0') b = datetime.datetime.now()
def instance(cls): if cls._instance is None: init = Initializer() init.load_config() cls._instance = Simulator(init.get("signal-time"), init.get("script-name"), init.get("error-detection")) return cls._instance
def reset(self): self.initializer = Initializer("braak1", self.numNodes, self.params) self.concentration = self.initializer.get() self.concentrationHistory = np.copy(self.concentration) self.producer = Producer(self.types) self.diffusor = Diffusor("euclidean", self.params, EuclideanAdjacency=self.euclideanAdjacency)
def __init__(self, camera, tracker, grountruth=None): self.cam = camera self.map = Map() Frame.set_tracker(tracker) # set the static field of the class # camera info self.W, self.H = camera.width, camera.height self.K = camera.K self.Kinv = camera.Kinv self.D = camera.D # distortion coefficients [k1, k2, p1, p2, k3] self.stage = SLAMStage.NO_IMAGES_YET self.intializer = Initializer() self.cur_R = None # current rotation w.r.t. world frame self.cur_t = None # current translation w.r.t. world frame self.num_matched_kps = None # current number of matched keypoints self.num_inliers = None # current number of matched inliers self.num_vo_map_points = None # current number of valid VO map points (matched and found valid in current pose optimization) self.trueX, self.trueY, self.trueZ = None, None, None self.grountruth = grountruth self.mask_match = None self.velocity = None self.init_history = True self.poses = [] # history of poses self.t0_est = None # history of estimated translations self.t0_gt = None # history of ground truth translations (if available) self.traj3d_est = [ ] # history of estimated translations centered w.r.t. first one self.traj3d_gt = [ ] # history of estimated ground truth translations centered w.r.t. first one self.timer_verbose = kTimerVerbose # set this to True if you want to print timings self.timer_main_track = TimerFps('Track', is_verbose=self.timer_verbose) self.timer_pose_opt = TimerFps('Pose optimization', is_verbose=self.timer_verbose) self.timer_match = TimerFps('Match', is_verbose=self.timer_verbose) self.timer_pose_est = TimerFps('Pose estimation', is_verbose=self.timer_verbose) self.timer_frame = TimerFps('Frame', is_verbose=self.timer_verbose) self.timer_seach_map = TimerFps('Search Map', is_verbose=self.timer_verbose) self.timer_triangulation = TimerFps('Triangulation', is_verbose=self.timer_verbose) self.time_local_opt = TimerFps('Local optimization', is_verbose=self.timer_verbose)
def initialize_repo(self): # 初始化应用配置 support_languages = [] for k,v in self.support_languages.items(): if v.get(): for language in appConfig.languages[k]: support_languages.append(language) # 初始化项目仓库 init = Initializer() init.initialize(self.android_resources_dir.get(), self.ios_resources_dir.get(), support_languages) # 初始化完毕 result = askokcancel(title = '初始化完成', message='已完成项目仓库初始化,请重启程序') if result: self.root.quit()
def __init__(self, system): if kDebugDrawMatches: Frame.is_store_imgs = True self.system = system self.camera = system.camera self.map = system.map self.local_mapping = system.local_mapping self.intializer = Initializer() self.motion_model = MotionModel( ) # motion model for current frame pose prediction without damping #self.motion_model = MotionModelDamping() # motion model for current frame pose prediction with damping self.dyn_config = SLAMDynamicConfig() self.descriptor_distance_sigma = Parameters.kMaxDescriptorDistance self.reproj_err_frame_map_sigma = Parameters.kMaxReprojectionDistanceMap self.max_frames_between_kfs = int(system.camera.fps) self.min_frames_between_kfs = 0 self.state = SlamState.NO_IMAGES_YET self.num_matched_kps = None # current number of matched keypoints self.num_inliers = None # current number of matched points self.num_matched_map_points = None # current number of matched map points (matched and found valid in current pose optimization) self.num_kf_ref_tracked_points = None # number of tracked points in k_ref (considering a minimum number of observations) self.mask_match = None self.pose_is_ok = False self.predicted_pose = None self.velocity = None self.f_cur = None self.idxs_cur = None self.f_ref = None self.idxs_ref = None self.kf_ref = None # reference keyframe (in general, different from last keyframe depending on the used approach) self.kf_last = None # last keyframe self.kid_last_BA = -1 # last keyframe id when performed BA self.local_keyframes = [] # local keyframes self.local_points = [] # local points self.tracking_history = TrackingHistory() self.timer_verbose = kTimerVerbose # set this to True if you want to print timings self.timer_main_track = TimerFps('Track', is_verbose=self.timer_verbose) self.timer_pose_opt = TimerFps('Pose optimization', is_verbose=self.timer_verbose) self.timer_seach_frame_proj = TimerFps('Search frame by proj', is_verbose=self.timer_verbose) self.timer_match = TimerFps('Match', is_verbose=self.timer_verbose) self.timer_pose_est = TimerFps('Ess mat pose estimation', is_verbose=self.timer_verbose) self.timer_frame = TimerFps('Frame', is_verbose=self.timer_verbose) self.timer_seach_map = TimerFps('Search map', is_verbose=self.timer_verbose) self.init_history = True self.poses = [] # history of poses self.t0_est = None # history of estimated translations self.t0_gt = None # history of ground truth translations (if available) self.traj3d_est = [ ] # history of estimated translations centered w.r.t. first one self.traj3d_gt = [ ] # history of estimated ground truth translations centered w.r.t. first one self.cur_R = None # current rotation w.r.t. world frame self.cur_t = None # current translation w.r.t. world frame self.trueX, self.trueY, self.trueZ = None, None, None self.groundtruth = system.groundtruth # not actually used here; could be used for evaluating performances if kLogKFinfoToFile: self.kf_info_logger = Logging.setup_file_logger( 'kf_info_logger', 'kf_info.log', formatter=Logging.simple_log_formatter)
def __config_logging(): '''配置日志''' LOG_FORMAT = "%(asctime)s - %(levelname)s - %(message)s" DATE_FORMAT = "%m/%d/%Y %H:%M:%S %p" logging.basicConfig(filename='app.log', filemode='a', level=logging.DEBUG, format=LOG_FORMAT, datefmt=DATE_FORMAT) logging.FileHandler(filename='app.log', encoding='utf-8') if __name__ == "__main__": __config_logging() # 加载多语言资源 factory = LanguageFactory() factory.load_languages() # Tk root = Tk() root.title(factory.get_entry("app_title")) # 进行项目初始化 initializer = Initializer() if not initializer.is_repo_initialized(): # 进入项目初始化页面 RepoInitDialog(root).pack() else: # 进入正常编辑页面 MainDialog(root).pack() root.mainloop()
def init(): """交互式初始化Graia项目""" initializer = Initializer() initializer.run()
import random import warnings import datetime import config import numpy as np from initializer import Initializer if __name__ == '__main__': random.seed(0) np.random.seed(0) initializer = Initializer(num_clients=config.NUM_CLIENTS, iterations=config.ITERATIONS, num_servers=config.NUM_SERVERS) # can use any amount of iterations less than config.ITERATIONS but the # initializer has only given each client config.ITERATIONS datasets for training. a = datetime.datetime.now() initializer.run_simulation(config.ITERATIONS, server_agent_name='server_agent0') b = datetime.datetime.now()