training_generator = data.DataLoader(training_set, **dataloader_params_train) test_set = Dataset(test_dt) test_generator = data.DataLoader(test_set, **dataloader_params_test) network_params = { 'input_dim': 1, # As many as there are of columns in data 'hidden_dim': h, 'batch_size': dataloader_params_train['batch_size'], # From dataloader_parameters 'output_dim': 1, 'dropout': 0, 'num_layers': 1 } epochs = 150 folder_name = 'Training_best_one_on_GSPC' new_folder = create_folder(path + '/results', folder_name) Nice_model = Model(**network_params) Nice_loss = torch.nn.MSELoss() Nice_optimiser = torch.optim.Adam(Nice_model.parameters(), lr=0.0007255273517151122) #Nice_scheduler = torch.optim.lr_scheduler.CosineAnnealingLR(Nice_optimiser, epochs) Nice_model_trained, loss_train_mtrx, loss_test_mtrx, error = train_model( Nice_model, Nice_loss, Nice_optimiser, None, epochs, training_generator, test_generator, timesteps, dataloader_params_train['batch_size'], new_folder, False) for model in ['checkpoint', "last_model"]: path_to_checkpoint = new_folder + '/' + model + '.pth.tar' cuda = torch.cuda.is_available() if cuda: checkpoint = torch.load(path_to_checkpoint) else:
if command == 'list': get_list() elif command == 'create_file': try: name = sys.argv[2] except IndexError: print('Отсутствует название файла') else: create_file(name) elif command == 'create_folder': try: name = sys.argv[2] except IndexError: print('Отсутствует название папки') else: create_folder(name) elif command == 'delete': try: name = sys.argv[2] except IndexError: print('Отсутствует название файла') else: delete_file(name) elif command == 'copy': try: name = sys.argv[2] new_name = sys.argv[3] except IndexError: print('Нужно ввести имя файла и название копии') else: copy_file(name, new_name)
get_list(active_dir, True) if len( sys.argv) > 2 and sys.argv[2] == 'folders' else get_list( active_dir) elif command == 'create_file': name = sys.argv[2] try: text = sys.argv[3] except IndexError: create_file(os.path.join(active_dir, name)) else: create_file(os.path.join(active_dir, name), text) elif command == 'create_folder': name = sys.argv[2] create_folder(os.path.join(active_dir, name)) elif command == 'delete': name = sys.argv[2] delete_f(os.path.join(active_dir, name)) elif command == 'chdir': name = sys.argv[2] print('Рабочая папки изменена. Содержимое:') get_list(ch_dir(os.path.join(active_dir, name), def_fld)) elif command == 'copy': name = sys.argv[2] new_name = sys.argv[3] copy_f(os.path.join(active_dir, name), os.path.join(active_dir, new_name))
'del': 'Delete object', 'change-dir': 'Change folder', 'game': 'Play the game' } try: action = sys.argv[1] except IndexError: print('Enter command') c.save_log(f'{IndexError} {sys.argv}') else: if action == 'list': c.get_list() elif action == 'create-folder': try: c.create_folder(sys.argv[2]) except IndexError: print('Please, specify folder name') elif action == 'create-file': try: if len(sys.argv) == 4: c.create_file(sys.argv[2], sys.argv[3]) else: c.create_file(sys.argv[2]) except IndexError: print('Please, specify file name') elif action == 'copy': try: if len(sys.argv) == 4: c.copy_obj(sys.argv[2], sys.argv[3]) else:
path = sys.argv[3] if len(sys.argv) >= 4 else None text = sys.argv[4] if len(sys.argv) >= 5 else None except Exception as ex: print(f'Ошибка - {ex}') else: create_file(name, path, text) elif command == 'create_folder': save_info('command create_folder') try: name = sys.argv[2] if len(sys.argv) >= 3 else 'Temp' path = sys.argv[3] if len(sys.argv) >= 4 else None except Exception as ex: print(f'Ошибка - {ex}') else: create_folder(name, path) elif command == 'delete': save_info('command delete') try: name = sys.argv[2] path = sys.argv[3] if len(sys.argv) >= 4 else None except IndexError: print('Отсутствует название файла') except Exception as ex: print(f'Ошибка - {ex}') else: delete_file_or_folder(name, path) elif command == 'copy': save_info('command copy')
def train_hypopt(config): dataset = DataLoader(path=config["filename"], split=0.80, cols=['log_ret'], start_from= "1985-01-01", end = "1995-01-01", label_col='log_ret', MinMax=False) timesteps = config["timesteps"] train_dt = dataset.get_train_data(timesteps, config["window_normalisation"], config["num_forward"]) test_dt = dataset.get_test_data(timesteps, config["window_normalisation"], config["num_forward"]) # Parameters dataloader_params_train = {'batch_size': 1, 'shuffle': True, 'drop_last': True, 'num_workers': 0} # Parameters dataloader_params_test = {'batch_size': 1, 'shuffle': False, 'drop_last': True, 'num_workers': 0} # Generators training_set = Dataset(train_dt) training_generator = data.DataLoader(training_set, **dataloader_params_train) test_set = Dataset(test_dt) test_generator = data.DataLoader(test_set, **dataloader_params_test) ### Saving: folder_name = str(config["num_forward"])+'_forward_usng_' + str(config["timesteps"]) + '_timesteps_' + str(config["hidden_dim"]) + '_hiddenDim_' + str( config["num_layers"]) + '_layers_'+str(config["lr"]) + "_LR" new_folder = create_folder(config["path"], folder_name) # Model: network_params = {'input_dim': 1, 'hidden_dim': config["hidden_dim"], 'batch_size': 1, 'output_dim': 1, 'dropout': config["dropout"], 'num_layers': config["num_layers"] } model = Model(**network_params) loss = torch.nn.MSELoss() optimiser = torch.optim.Adam(model.parameters(), lr=config['lr']) scheduler = None # CUDA for PyTorch use_cuda = torch.cuda.is_available() device = torch.device("cuda:0" if use_cuda else "cpu") cudnn.benchmark = True model = model if torch.cuda.is_available(): # print("We're running on GPU") model.cuda() ####### lwst_error = 1000 while True: error, model = one_epoch_training(model, loss, optimiser, scheduler, device, training_generator, test_generator, timesteps, 1) is_best = bool(error < lwst_error) print( "error of the epoch: " + str(error) + " best accuracy before : " + str(lwst_error)) print("Best accuracy currently is: " + str(min(error, lwst_error))) lwst_error = min(error, lwst_error) save_checkpoint({ 'epoch': 'tuning', 'state_dict': model.state_dict(), 'best_accuracy': lwst_error }, is_best, new_folder) track.log(error=-error)
game() elif command == 'list_folder_only': get_list(True) elif command == 'create_file': try: name = sys.argv[2] text = sys.argv[3] path = sys.argv[4] create_file(name, text, path) except IndexError: print('Не заданно название файла') elif command == 'create_folder': try: name = sys.argv[2] dir = sys.argv[3] create_folder(name, dir) except IndexError: print('Не заданно название папки') elif command == 'delete': try: name = sys.argv[2] delete_file(name) except IndexError: print('Не заданно имя файла для удаления') elif command == 'copy': try: name = sys.argv[2] new_name = sys.argv[3] copy_file(name, new_name) except: print('Введите имя копируемого файла и создайте новое имя')