def main(): print_config() dataset = load_dataset(CONFIG['dataset'], CONFIG['dataset_path']) env = TextLocEnv(dataset.image_paths, dataset.bounding_boxes) m = CustomModel(10) vs = [m(env.reset())] g = c.build_computational_graph(vs) with open('graph.dot', 'w') as o: o.write(g.dump())
def main(): print_config() relative_paths = np.loadtxt(CONFIG['imagefile_path'], dtype=str) images_base_path = os.path.dirname(CONFIG['imagefile_path']) absolute_paths = [images_base_path + i.strip('.') for i in relative_paths] bboxes = np.load(CONFIG['boxfile_path'], allow_pickle=True) env = TextLocEnv(absolute_paths, bboxes, -1) m = CustomModel(10) vs = [m(env.reset())] g = c.build_computational_graph(vs) with open('graph.dot', 'w') as o: o.write(g.dump())
def main(): print_config() relative_paths = np.loadtxt(CONFIG['imagefile_path'], dtype=str) images_base_path = os.path.dirname(CONFIG['imagefile_path']) absolute_paths = [images_base_path + i.strip('.') for i in relative_paths] bboxes = np.load(CONFIG['boxfile_path'], allow_pickle=True) env = TextLocEnv(absolute_paths, bboxes, -1) q_func = chainerrl.q_functions.SingleModelStateQFunctionWithDiscreteAction( CustomModel(9)) optimizer = chainer.optimizers.Adam(eps=1e-2) optimizer.setup(q_func) replay_buffer = chainerrl.replay_buffer.ReplayBuffer( capacity=CONFIG['replay_buffer_capacity']) explorer = chainerrl.explorers.ConstantEpsilonGreedy( epsilon=0, random_action_func=env.action_space.sample) agent = chainerrl.agents.DQN( q_func, optimizer, replay_buffer, CONFIG['gamma'], explorer, gpu=CONFIG['gpu_id'], replay_start_size=CONFIG['replay_start_size'], update_interval=CONFIG['update_interval'], target_update_interval=CONFIG['target_update_interval']) agent.load(CONFIG['resultdir_path'] + '/best') actions = defaultdict(int) with open('iou.txt', 'w') as f: i = 0 for j in range(100): obs = env.reset() done = False while (not done) and i < 100: #print(i,j) action = agent.act(obs) actions[ACTION_MEANINGS[action]] += 1 obs, reward, done, info = env.step(action) print(ACTION_MEANINGS[action], reward, done, info) if done: f.write(f'{env.iou}\n') #input() i += 1