test_generator = DataReader(test_dir, [input_height, input_width], False, input_channels, num_classes).get_generator() print('Size of training set: {}'.format( train_generator.get_data_size())) # вес тренировочных изображений print('Size of testing set: {}'.format( test_generator.get_data_size())) # вес тесовых изображенй изображений print("{} Start training...".format(datetime.now())) # время начала обучения # функция ,которая для каждой итерации считает ошибочность распознавания в обучении for epoch in range(num_epochs): print("{} Epoch number: {}".format(datetime.now(), epoch + 1)) loss = 0 for m in range(train_generator.get_data_size()): # переборка векторов x, d = train_generator.next() loss += one_layer_net.train(Vector(x, d), learning_rate) # подсчет ошибок print("loss = {}".format(loss / train_generator.get_data_size())) train_generator.reset_pointer() train_generator.shuffle_data() passed = 0 #показывается насколько ожидаемый результат совпадает с реально распознанным числом for i in range(test_generator.get_data_size()): x, d = test_generator.next() y = one_layer_net.test(Vector(x, d)) d_max_idx = get_max_neuron_idx(d) y_max_idx = get_max_neuron_idx(y)
writer_1.add_graph(sess.graph) print("{} Start training...".format(datetime.now())) print("{} Open Tensorboard by command: tensorboard --logdir {}".format( datetime.now(), log_path)) # # Цикл по количеству эпох for epoch in range(num_epochs): print("{} Epoch number: {}".format(datetime.now(), epoch + 1)) step = 1 while step < train_patterns_per_epoch: xs, ds = train_generator.next() vector = Vector(xs, ds) xs = vector.get_x() ds = vector.get_desire_outputs() # И запустить учебный оп sess.run(train_op, feed_dict={ x: xs, y: ds, learning_val: learning_rate }) # # Создать сводку с текущей партией данных и записать в файл if step % display_step == 0: