def experiment_one_b(write_dir='data/exp1b'): eparams = { 'num_epochs': 4, 'batch_size': 8, 'generator_mode': 'g', 'num_data': 100000, 'eval_steps': 50, 'stop_loss': 0.02 } hparams = { 'hidden_size': 12, 'num_layers': 2, 'max_len': 20, 'num_classes': 2, 'dropout': 1.0, 'quantifiers': [quantifiers.at_most_n(3), quantifiers.at_least_n_or_at_most_m(6, 2)] } num_trials = 30 for idx in range(num_trials): run_trial(eparams, hparams, idx, write_dir)
def transfer_test(): params = { 'checkpoint_path': 'data/exp1a/trial_0/', 'old_scope': '/', 'hidden_size': 12, 'num_layers': 2, 'max_len': 20, 'num_classes': 2, 'dropout': 1.0, 'quantifiers': [quantifiers.at_least_n(4), quantifiers.at_least_n_or_at_most_m(6, 2)] } # print(params['quantifiers'][0]._name) model = tf.estimator.Estimator(model_fn=transfer_lstm_model_fn, params=params) generator = data_gen.DataGenerator(params['max_len'], params['quantifiers'], num_data_points=1000) some_data = generator.get_training_data() # must train before predict, so we'll give it one example model.train(input_fn=tf.estimator.inputs.numpy_input_fn( x={quant_verify.INPUT_FEATURE: np.array([some_data[0][0]])}, y=np.array([some_data[0][1]]), shuffle=False)) some_inputs = np.array([datum[0] for datum in some_data]) predict_input_fn = tf.estimator.inputs.numpy_input_fn( x={quant_verify.INPUT_FEATURE: some_inputs}, shuffle=False) predictions = list(model.predict(input_fn=predict_input_fn)) for idx in range(5): print('input: {}\nprobs: {}\n'.format(some_inputs[idx], predictions[idx]['probs']))