'gpu_rss_mb': detector.gpu_mem / len(img_list), 'gpu_util': detector.gpu_util * 100 / len(img_list) } perf_info = detector.det_times.report(average=True) model_dir = FLAGS.model_dir mode = FLAGS.run_mode model_info = { 'model_name': model_dir.strip('/').split('/')[-1], 'precision': mode.split('_')[-1] } data_info = { 'batch_size': FLAGS.batch_size, 'shape': "dynamic_shape", 'data_num': perf_info['img_num'] } det_log = PaddleInferBenchmark(detector.config, model_info, data_info, perf_info, mems) det_log('Det') if __name__ == '__main__': paddle.enable_static() parser = argsparser() FLAGS = parser.parse_args() print_arguments(FLAGS) FLAGS.device = FLAGS.device.upper() assert FLAGS.device in ['CPU', 'GPU', 'XPU'], "device should be CPU, GPU or XPU" main()
q_vals = session.run(target_dqn.q_values, feed_dict={target_dqn.input: new_states}) double_q = q_vals[range(batch_size), arg_q_max] # Bellman equation. Multiplication with (1-terminal_flags) makes sure that # if the game is over, targetQ=rewards target_q = rewards + (gamma * double_q * (1 - terminal_flags)) # Gradient descend step to update the parameters of the main network loss, _ = session.run( [main_dqn.loss, main_dqn.update], feed_dict={ main_dqn.input: states, main_dqn.target_q: target_q, main_dqn.action: actions }) return loss args = utils.argsparser() tf.random.set_random_seed(args.seed) np.random.seed(args.seed) tf.reset_default_graph() # Control parameters if args.task == "train": utils.train(args, DQN, learn, "dist_dqn") elif args.task == "evaluate": utils.sample(args, DQN, "dist_dqn", save=False) elif args.task == "log": utils.generate_figures("dist_dqn") else: utils.sample(args, DQN, "dist_dqn")