correct += a_correct
                    total += len(p_lines)
                    print 'correct = ', correct, ' total = ', total, ' percentage = ', float(correct) / float(total)
                print 'final results:'
                print 'correct = ', correct, ' total = ', total, ' percentage = ', float(correct)/float(total)

    elif train_or_test == 'train':
        with open(data_filename) as data_file:
            with tf.Session() as session:
                session.run(init_op)
                av = Averager(50)
                for batch_index in range(number_of_batches):
                    lines = helper.read_file_in_loop(data_file, batch_size)
                    input_header_text_vectors = helper.convert_lines_to_matrix(lines, word_to_index, header_text_length, 'h')
                    input_content_text_vectors = helper.convert_lines_to_matrix(lines, word_to_index, content_text_length, 'c')
                    input_label_vector = helper.convert_lines_to_labels(lines)

                    feed_dict = {input_header_text: input_header_text_vectors, input_content_text: input_content_text_vectors, input_labels: input_label_vector}
                    (_loss, _, _predicted) = session.run([loss, train_op, predicted_as_vector], feed_dict=feed_dict)
                    assessment = helper.prediction_assessment(input_label_vector, _predicted)
                    (_, _percent) = assessment
                    av.add(_percent)
                    if (batch_index % 50) == 0 or batch_index == (number_of_batches-1):
                        print 'batch: ', batch_index, ' loss: ', _loss
                        print 'assessment: ', assessment
                        print 'Last 50 iterations average: ', av.average()
                        print ''
                saver.save(session, save_file)
    else:
        raise ValueError('Bad argument: ' + train_or_test)
Exemplo n.º 2
0
                                     deltaE2=deltaE2_hdr))
 print_options(magn_file, options)
 domain_file.write('T domain_sizes\n')
 print_options(domain_file, options)
 for T in (float(T_str) for T_str in options.T.split(',')):
     if options.verbose > 0:
         sys.stderr.write('# computing T = {0:.4f}\n'.format(T))
     ising = ising_module.IsingSystem(options.N, options.J, options.H, T)
     ising.init_random(seed)
     runner = DomainSizeRunner(ising=None, steps=options.steps,
                               is_verbose=options.verbose - 2,
                               burn_in=options.burn_in,
                               sample_period=options.sample_period,
                               window=options.window)
     averager = Averager(runner, ising, is_verbose=options.verbose - 1)
     averager.average(options.runs)
     M_values = averager.get('M mean')
     M_str = val_fmt.format(**M_values)
     E_values = averager.get('E mean')
     E_str = val_fmt.format(**E_values)
     deltaE2_values = averager.get('deltaE^2')
     deltaE2_str = val_fmt.format(**deltaE2_values)
     magn_file.write(val_line_fmt.format(T=T, M=M_str, E=E_str,
                                         deltaE2=deltaE2_str))
     magn_file.flush()
     domains = averager.get('domains')
     distrubtion = ','.join(['{0:d}:{1:.8e}'.format(k, v)
                                 for k, v in domains.items()])
     domain_file.write('{0:.4f} {1:s}\n'.format(T, distrubtion))
     domain_file.flush()
 magn_file.close()
Exemplo n.º 3
0
                                     deltaE2=deltaE2_hdr))
 print_options(magn_file, options)
 domain_file.write('T domain_sizes\n')
 print_options(domain_file, options)
 for T in (float(T_str) for T_str in options.T.split(',')):
     if options.verbose > 0:
         sys.stderr.write('# computing T = {0:.4f}\n'.format(T))
     ising = ising_module.IsingSystem(options.N, options.J, options.H, T)
     ising.init_random(seed)
     runner = DomainSizeRunner(ising=None, steps=options.steps,
                               is_verbose=options.verbose - 2,
                               burn_in=options.burn_in,
                               sample_period=options.sample_period,
                               window=options.window)
     averager = Averager(runner, ising, is_verbose=options.verbose - 1)
     averager.average(options.runs)
     M_values = averager.get('M mean')
     M_str = val_fmt.format(**M_values)
     E_values = averager.get('E mean')
     E_str = val_fmt.format(**E_values)
     deltaE2_values = averager.get('deltaE^2')
     deltaE2_str = val_fmt.format(**deltaE2_values)
     magn_file.write(val_line_fmt.format(T=T, M=M_str, E=E_str,
                                         deltaE2=deltaE2_str))
     magn_file.flush()
     domains = averager.get('domains')
     distrubtion = ','.join(['{0:d}:{1:.8e}'.format(k, v)
                             for k, v in domains.items()])
     domain_file.write('{0:.4f} {1:s}\n'.format(T, distrubtion))
     domain_file.flush()
 magn_file.close()