def generate_training_result(): """ It should be very careful to use this method, since it will replace all the result files. """ arg_exp = 20 dataset_matrix_hash = data_file_helper.get_dataset_matrix_hash( data_file_helper.FONT_TRAINING_PATH, range(1, 10) ) mb = MultipleSvm.train_and_save_variables( Smo, dataset_matrix_hash, 200, 0.0001, 1000, arg_exp, data_file_helper.SUPPLEMENT_RESULT_PATH )
if __name__ == "__main__": from minitest import * import data_file_helper from picture_sudoku.helpers import numpy_helper from picture_sudoku.cv2_helpers.display import Display from picture_sudoku.cv2_helpers.image import Image from picture_sudoku.helpers.common import Resource from picture_sudoku import main_sudoku def show_number_matrix(number_matrix): binary_number_image = number_matrix.reshape((data_file_helper.IMG_SIZE, data_file_helper.IMG_SIZE)) number_image = numpy_helper.transfer_values_quickly(binary_number_image, {1: 255}) number_image = numpy.array(number_image, dtype=numpy.uint8) # Image.save_to_txt(number_image,'test1.dataset') Display.image(number_image) """ how to use training, please see the generator.py""" with test(MultipleSvm.dag_classify): dataset_matrix_hash = data_file_helper.get_dataset_matrix_hash(data_file_helper.FONT_TRAINING_PATH, (9,)) mb = MultipleSvm.load_variables(Smo, data_file_helper.FONT_RESULT_PATH) mb.dag_classify(dataset_matrix_hash[9][0]).must_equal(9) with test("special number"): file_name = "sample_18_01_26_resized.dataset" issue_ragion = Image.load_from_txt(Resource.get_path("test", file_name)) transfered_ragion = main_sudoku.transfer_to_digit_matrix(issue_ragion) mb = MultipleSvm.load_variables(Smo, data_file_helper.FONT_RESULT_PATH) mb.dag_classify(transfered_ragion).must_equal(1) # Display.binary_image(main_sudoku.resize_to_cell_size(issue_ragion))