Python features.extract_features() Examples
The following are 30
code examples of features.extract_features().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
features
, or try the search function
.
Example #1
Source File: dual_net.py From training_results_v0.5 with Apache License 2.0 | 6 votes |
def run_many(self, positions, use_random_symmetry=True): processed = list(map(features.extract_features, positions)) if use_random_symmetry: syms_used, processed = symmetries.randomize_symmetries_feat( processed) outputs = self.sess.run(self.inference_output, feed_dict={self.inference_input: processed}) if not self.inference: probabilities, value = outputs['policy_output'], outputs['value_output'] else: probabilities, value = outputs[0], outputs[1] if use_random_symmetry: probabilities = symmetries.invert_symmetries_pi( syms_used, probabilities) return probabilities, value
Example #2
Source File: preprocessing_test.py From multilabel-image-classification-tensorflow with MIT License | 6 votes |
def test_make_dataset_from_sgf(self): with tempfile.NamedTemporaryFile() as sgf_file, \ tempfile.NamedTemporaryFile() as record_file: sgf_file.write(TEST_SGF.encode('utf8')) sgf_file.seek(0) preprocessing.make_dataset_from_sgf( utils_test.BOARD_SIZE, sgf_file.name, record_file.name) recovered_data = self.extract_data(record_file.name) start_pos = go.Position(utils_test.BOARD_SIZE) first_move = coords.from_sgf('fd') next_pos = start_pos.play_move(first_move) second_move = coords.from_sgf('cf') expected_data = [ ( features.extract_features(utils_test.BOARD_SIZE, start_pos), preprocessing._one_hot(utils_test.BOARD_SIZE, coords.to_flat( utils_test.BOARD_SIZE, first_move)), -1 ), ( features.extract_features(utils_test.BOARD_SIZE, next_pos), preprocessing._one_hot(utils_test.BOARD_SIZE, coords.to_flat( utils_test.BOARD_SIZE, second_move)), -1 ) ] self.assertEqualData(expected_data, recovered_data)
Example #3
Source File: preprocessing_test.py From g-tensorflow-models with Apache License 2.0 | 6 votes |
def test_make_dataset_from_sgf(self): with tempfile.NamedTemporaryFile() as sgf_file, \ tempfile.NamedTemporaryFile() as record_file: sgf_file.write(TEST_SGF.encode('utf8')) sgf_file.seek(0) preprocessing.make_dataset_from_sgf( utils_test.BOARD_SIZE, sgf_file.name, record_file.name) recovered_data = self.extract_data(record_file.name) start_pos = go.Position(utils_test.BOARD_SIZE) first_move = coords.from_sgf('fd') next_pos = start_pos.play_move(first_move) second_move = coords.from_sgf('cf') expected_data = [ ( features.extract_features(utils_test.BOARD_SIZE, start_pos), preprocessing._one_hot(utils_test.BOARD_SIZE, coords.to_flat( utils_test.BOARD_SIZE, first_move)), -1 ), ( features.extract_features(utils_test.BOARD_SIZE, next_pos), preprocessing._one_hot(utils_test.BOARD_SIZE, coords.to_flat( utils_test.BOARD_SIZE, second_move)), -1 ) ] self.assertEqualData(expected_data, recovered_data)
Example #4
Source File: dual_net_edge_tpu.py From training with Apache License 2.0 | 6 votes |
def run_many(self, positions): """Runs inference on a list of position.""" processed = list(map(features_lib.extract_features, positions)) probabilities = [] values = [] for state in processed: assert state.shape == (self.board_size, self.board_size, 17), str(state.shape) result = self.engine.RunInference(state.flatten()) # If needed you can get the raw inference time from the result object. # inference_time = result[0] # ms policy_output = result[1][0:self.output_policy_size] value_output = result[1][-1] probabilities.append(policy_output) values.append(value_output) return probabilities, values
Example #5
Source File: preprocessing_test.py From Gun-Detector with Apache License 2.0 | 6 votes |
def test_make_dataset_from_sgf(self): with tempfile.NamedTemporaryFile() as sgf_file, \ tempfile.NamedTemporaryFile() as record_file: sgf_file.write(TEST_SGF.encode('utf8')) sgf_file.seek(0) preprocessing.make_dataset_from_sgf( utils_test.BOARD_SIZE, sgf_file.name, record_file.name) recovered_data = self.extract_data(record_file.name) start_pos = go.Position(utils_test.BOARD_SIZE) first_move = coords.from_sgf('fd') next_pos = start_pos.play_move(first_move) second_move = coords.from_sgf('cf') expected_data = [ ( features.extract_features(utils_test.BOARD_SIZE, start_pos), preprocessing._one_hot(utils_test.BOARD_SIZE, coords.to_flat( utils_test.BOARD_SIZE, first_move)), -1 ), ( features.extract_features(utils_test.BOARD_SIZE, next_pos), preprocessing._one_hot(utils_test.BOARD_SIZE, coords.to_flat( utils_test.BOARD_SIZE, second_move)), -1 ) ] self.assertEqualData(expected_data, recovered_data)
Example #6
Source File: test_preprocessing.py From training_results_v0.5 with Apache License 2.0 | 6 votes |
def test_make_dataset_from_sgf(self): with tempfile.NamedTemporaryFile() as sgf_file, \ tempfile.NamedTemporaryFile() as record_file: sgf_file.write(TEST_SGF.encode('utf8')) sgf_file.seek(0) preprocessing.make_dataset_from_sgf( sgf_file.name, record_file.name) recovered_data = self.extract_data(record_file.name) start_pos = go.Position() first_move = coords.from_sgf('fd') next_pos = start_pos.play_move(first_move) second_move = coords.from_sgf('cf') expected_data = [ ( features.extract_features(start_pos), preprocessing._one_hot(coords.to_flat(first_move)), -1 ), ( features.extract_features(next_pos), preprocessing._one_hot(coords.to_flat(second_move)), -1 )] self.assertEqualData(expected_data, recovered_data)
Example #7
Source File: test_preprocessing.py From training_results_v0.5 with Apache License 2.0 | 6 votes |
def test_make_dataset_from_sgf(self): with tempfile.NamedTemporaryFile() as sgf_file, \ tempfile.NamedTemporaryFile() as record_file: sgf_file.write(TEST_SGF.encode('utf8')) sgf_file.seek(0) preprocessing.make_dataset_from_sgf( sgf_file.name, record_file.name) recovered_data = self.extract_data(record_file.name) start_pos = go.Position() first_move = coords.from_sgf('fd') next_pos = start_pos.play_move(first_move) second_move = coords.from_sgf('cf') expected_data = [ ( features.extract_features(start_pos), preprocessing._one_hot(coords.to_flat(first_move)), -1 ), ( features.extract_features(next_pos), preprocessing._one_hot(coords.to_flat(second_move)), -1 )] self.assertEqualData(expected_data, recovered_data)
Example #8
Source File: inspect_game.py From training_results_v0.5 with Apache License 2.0 | 6 votes |
def analyze_symmetries(sgf_file, load_file): with open(sgf_file) as f: sgf_contents = f.read() iterator = sgf_wrapper.replay_sgf(sgf_contents) net = dual_net.DualNetwork(load_file) for i, pwc in enumerate(iterator): if i < 200: continue feats = features.extract_features(pwc.position) variants = [symmetries.apply_symmetry_feat(s, feats) for s in symmetries.SYMMETRIES] values = net.sess.run( net.inference_output['value_output'], feed_dict={net.inference_input['pos_tensor']: variants}) mean = np.mean(values) stdev = np.std(values) all_vals = sorted(zip(values, symmetries.SYMMETRIES)) print("{:3d} {:.3f} +/- {:.3f} min {:.3f} {} max {:.3f} {}".format( i, mean, stdev, *all_vals[0], *all_vals[-1]))
Example #9
Source File: inspect_game.py From training_results_v0.5 with Apache License 2.0 | 6 votes |
def analyze_symmetries(sgf_file, load_file): with open(sgf_file) as f: sgf_contents = f.read() iterator = sgf_wrapper.replay_sgf(sgf_contents) net = dual_net.DualNetwork(load_file) for i, pwc in enumerate(iterator): if i < 200: continue feats = features.extract_features(pwc.position) variants = [symmetries.apply_symmetry_feat(s, feats) for s in symmetries.SYMMETRIES] values = net.sess.run( net.inference_output['value_output'], feed_dict={net.inference_input['pos_tensor']: variants}) mean = np.mean(values) stdev = np.std(values) all_vals = sorted(zip(values, symmetries.SYMMETRIES)) print("{:3d} {:.3f} +/- {:.3f} min {:.3f} {} max {:.3f} {}".format( i, mean, stdev, *all_vals[0], *all_vals[-1]))
Example #10
Source File: symmetry_analysis.py From training with Apache License 2.0 | 5 votes |
def analyze_symmetries(sgf_file, dual_network): with open(sgf_file) as f: sgf_contents = f.read() iterator = sgf_wrapper.replay_sgf(sgf_contents) differences = [] stddevs = [] # For every move in the game, get the corresponding network values for all # eight symmetries. for i, pwc in enumerate(iterator): feats = features.extract_features(pwc.position) variants = [symmetries.apply_symmetry_feat(s, feats) for s in symmetries.SYMMETRIES] values = dual_network.sess.run( dual_network.inference_output['value_output'], feed_dict={dual_network.inference_input: variants}) # Get the difference between the maximum and minimum outputs of the # value network over all eight symmetries; also get the standard # deviation of the eight values. differences.append(max(values) - min(values)) stddevs.append(np.std(values)) differences.sort() percentiles = [differences[i * len(differences) // 100] for i in range(100)] worst = differences[-1] avg_stddev = np.mean(stddevs) return (percentiles, worst, avg_stddev)
Example #11
Source File: preprocessing.py From multilabel-image-classification-tensorflow with MIT License | 5 votes |
def make_dataset_from_selfplay(data_extracts, params): """Make an iterable of tf.Examples. Args: data_extracts: An iterable of (position, pi, result) tuples params: An object of hyperparameters Returns: An iterable of tf.Examples. """ board_size = params.board_size tf_examples = (make_tf_example(features_lib.extract_features( board_size, pos), pi, result) for pos, pi, result in data_extracts) return tf_examples
Example #12
Source File: dualnet.py From multilabel-image-classification-tensorflow with MIT License | 5 votes |
def run_many(self, positions, use_random_symmetry=True): """Compute the policy and value output for given positions. Args: positions: A list of positions for go board status use_random_symmetry: Apply random symmetry (defined in symmetries.py) to the extracted features (defined in features.py) of the given positions Returns: probabilities, value: The policy and value outputs (defined in dualnet_model.py) """ def _extract_features(positions): return features.extract_features(self.hparams.board_size, positions) processed = list(map(_extract_features, positions)) # processed = [ # features.extract_features(self.hparams.board_size, p) for p in positions] if use_random_symmetry: syms_used, processed = symmetries.randomize_symmetries_feat(processed) # feed_dict is a dict object to provide the input examples for the step of # inference. sess.run() returns the inference predictions (indicated by # self.inference_output) of the given input as outputs outputs = self.sess.run( self.inference_output, feed_dict={self.inference_input: processed}) probabilities, value = outputs['policy_output'], outputs['value_output'] if use_random_symmetry: probabilities = symmetries.invert_symmetries_pi( self.hparams.board_size, syms_used, probabilities) return probabilities, value
Example #13
Source File: preprocessing.py From g-tensorflow-models with Apache License 2.0 | 5 votes |
def _make_tf_example_from_pwc(board_size, position_w_context): features = features_lib.extract_features( board_size, position_w_context.position) pi = _one_hot(board_size, coords.to_flat( board_size, position_w_context.next_move)) value = position_w_context.result return make_tf_example(features, pi, value)
Example #14
Source File: preprocessing.py From g-tensorflow-models with Apache License 2.0 | 5 votes |
def make_dataset_from_selfplay(data_extracts, params): """Make an iterable of tf.Examples. Args: data_extracts: An iterable of (position, pi, result) tuples params: An object of hyperparameters Returns: An iterable of tf.Examples. """ board_size = params.board_size tf_examples = (make_tf_example(features_lib.extract_features( board_size, pos), pi, result) for pos, pi, result in data_extracts) return tf_examples
Example #15
Source File: dualnet.py From g-tensorflow-models with Apache License 2.0 | 5 votes |
def run_many(self, positions, use_random_symmetry=True): """Compute the policy and value output for given positions. Args: positions: A list of positions for go board status use_random_symmetry: Apply random symmetry (defined in symmetries.py) to the extracted features (defined in features.py) of the given positions Returns: probabilities, value: The policy and value outputs (defined in dualnet_model.py) """ def _extract_features(positions): return features.extract_features(self.hparams.board_size, positions) processed = list(map(_extract_features, positions)) # processed = [ # features.extract_features(self.hparams.board_size, p) for p in positions] if use_random_symmetry: syms_used, processed = symmetries.randomize_symmetries_feat(processed) # feed_dict is a dict object to provide the input examples for the step of # inference. sess.run() returns the inference predictions (indicated by # self.inference_output) of the given input as outputs outputs = self.sess.run( self.inference_output, feed_dict={self.inference_input: processed}) probabilities, value = outputs['policy_output'], outputs['value_output'] if use_random_symmetry: probabilities = symmetries.invert_symmetries_pi( self.hparams.board_size, syms_used, probabilities) return probabilities, value
Example #16
Source File: policy.py From AlphaGOZero-python-tensorflow with MIT License | 5 votes |
def run(self, position): 'Return a sorted list of (probability, move) tuples' processed_position = features.extract_features(position) probabilities = self.session.run(self.output, feed_dict={self.x: processed_position[None, :]})[0] return probabilities.reshape([go.N, go.N])
Example #17
Source File: preprocessing.py From multilabel-image-classification-tensorflow with MIT License | 5 votes |
def _make_tf_example_from_pwc(board_size, position_w_context): features = features_lib.extract_features( board_size, position_w_context.position) pi = _one_hot(board_size, coords.to_flat( board_size, position_w_context.next_move)) value = position_w_context.result return make_tf_example(features, pi, value)
Example #18
Source File: preprocessing.py From training_results_v0.5 with Apache License 2.0 | 5 votes |
def make_dataset_from_selfplay(data_extracts): ''' Returns an iterable of tf.Examples. Args: data_extracts: An iterable of (position, pi, result) tuples ''' tf_examples = (make_tf_example(features_lib.extract_features(pos), pi, result) for pos, pi, result in data_extracts) return tf_examples
Example #19
Source File: preprocessing.py From training with Apache License 2.0 | 5 votes |
def _make_tf_example_from_pwc(position_w_context): f = dual_net.get_features() features = features_lib.extract_features(position_w_context.position, f) pi = _one_hot(coords.to_flat(position_w_context.next_move)) value = position_w_context.result return make_tf_example(features, pi, value)
Example #20
Source File: preprocessing.py From training with Apache License 2.0 | 5 votes |
def make_dataset_from_selfplay(data_extracts): """ Returns an iterable of tf.Examples. Args: data_extracts: An iterable of (position, pi, result) tuples """ f = dual_net.get_features() tf_examples = (make_tf_example(features_lib.extract_features(pos, f), pi, result) for pos, pi, result in data_extracts) return tf_examples
Example #21
Source File: dual_net.py From training with Apache License 2.0 | 5 votes |
def run_many(self, positions): f = get_features() processed = [features_lib.extract_features(p, f) for p in positions] if FLAGS.use_random_symmetry: syms_used, processed = symmetries.randomize_symmetries_feat( processed) outputs = self.sess.run(self.inference_output, feed_dict={self.inference_input: processed}) probabilities, value = outputs['policy_output'], outputs['value_output'] if FLAGS.use_random_symmetry: probabilities = symmetries.invert_symmetries_pi( syms_used, probabilities) return probabilities, value
Example #22
Source File: policy.py From MuGo with Apache License 2.0 | 5 votes |
def run(self, position): 'Return a sorted list of (probability, move) tuples' processed_position = features.extract_features(position, features=self.features) probabilities = self.session.run(self.output, feed_dict={self.x: processed_position[None, :]})[0] return probabilities.reshape([go.N, go.N])
Example #23
Source File: preprocessing.py From Python-Reinforcement-Learning-Projects with MIT License | 5 votes |
def create_dataset_from_selfplay(data_extracts): return (create_tf_train_example(extract_features(board_state), pi, result) for board_state, pi, result in data_extracts)
Example #24
Source File: network.py From Python-Reinforcement-Learning-Projects with MIT License | 5 votes |
def predict_on_multiple_board_states(self, positions): symmetries, processed = utils.shuffle_feature_symmetries(list(map(features.extract_features, positions))) network_outputs = self.sess.run(self.inference_output, feed_dict={self.inference_input: processed}) action_probs, value_pred = network_outputs['policy_output'], network_outputs['value_output'] action_probs = utils.invert_policy_symmetries(symmetries, action_probs) return action_probs, value_pred
Example #25
Source File: preprocessing.py From training_results_v0.5 with Apache License 2.0 | 5 votes |
def _make_tf_example_from_pwc(position_w_context): features = features_lib.extract_features(position_w_context.position) pi = _one_hot(coords.to_flat(position_w_context.next_move)) value = position_w_context.result return make_tf_example(features, pi, value)
Example #26
Source File: preprocessing.py From Gun-Detector with Apache License 2.0 | 5 votes |
def _make_tf_example_from_pwc(board_size, position_w_context): features = features_lib.extract_features( board_size, position_w_context.position) pi = _one_hot(board_size, coords.to_flat( board_size, position_w_context.next_move)) value = position_w_context.result return make_tf_example(features, pi, value)
Example #27
Source File: preprocessing.py From Gun-Detector with Apache License 2.0 | 5 votes |
def make_dataset_from_selfplay(data_extracts, params): """Make an iterable of tf.Examples. Args: data_extracts: An iterable of (position, pi, result) tuples params: An object of hyperparameters Returns: An iterable of tf.Examples. """ board_size = params.board_size tf_examples = (make_tf_example(features_lib.extract_features( board_size, pos), pi, result) for pos, pi, result in data_extracts) return tf_examples
Example #28
Source File: dualnet.py From Gun-Detector with Apache License 2.0 | 5 votes |
def run_many(self, positions, use_random_symmetry=True): """Compute the policy and value output for given positions. Args: positions: A list of positions for go board status use_random_symmetry: Apply random symmetry (defined in symmetries.py) to the extracted features (defined in features.py) of the given positions Returns: probabilities, value: The policy and value outputs (defined in dualnet_model.py) """ def _extract_features(positions): return features.extract_features(self.hparams.board_size, positions) processed = list(map(_extract_features, positions)) # processed = [ # features.extract_features(self.hparams.board_size, p) for p in positions] if use_random_symmetry: syms_used, processed = symmetries.randomize_symmetries_feat(processed) # feed_dict is a dict object to provide the input examples for the step of # inference. sess.run() returns the inference predictions (indicated by # self.inference_output) of the given input as outputs outputs = self.sess.run( self.inference_output, feed_dict={self.inference_input: processed}) probabilities, value = outputs['policy_output'], outputs['value_output'] if use_random_symmetry: probabilities = symmetries.invert_symmetries_pi( self.hparams.board_size, syms_used, probabilities) return probabilities, value
Example #29
Source File: policy.py From alphago_demo with Apache License 2.0 | 5 votes |
def run(self, position): 'Return a sorted list of (probability, move) tuples' processed_position = features.extract_features(position) probabilities = self.session.run(self.output, feed_dict={self.x: processed_position[None, :]})[0] return probabilities.reshape([go.N, go.N])
Example #30
Source File: preprocessing.py From training_results_v0.5 with Apache License 2.0 | 5 votes |
def _make_tf_example_from_pwc(position_w_context): features = features_lib.extract_features(position_w_context.position) pi = _one_hot(coords.to_flat(position_w_context.next_move)) value = position_w_context.result return make_tf_example(features, pi, value)