ahc_settings¶
ソースコード¶
from titan_pylib.ahc.ahc_settings import AHCSettings
展開済みコード¶
1# 展開に失敗しました
2import optuna
3
4"""example
5python3 ./parallel_tester.py -c -v -njobs 127
6
7python3 ./oprimizer.py
8g++ ./main.cpp -O2 -std=c++20 -o a.out -I./../../../Library_cpp
9"""
10
11
12class AHCSettings:
13 """
14 AHCテスターの設定ファイル
15
16 https://github.com/titan-23/Library_py/tree/main/titan_pylib/ahc/readme.md
17 """
18
19 # parallel_tester -------------------- #
20 compile_command = "g++ ./main.cpp -O2 -std=c++20 -o a.out -I./../../../Library_cpp"
21 execute_command = "./a.out"
22 input_file_names = [f"./in/{str(i).zfill(4)}.txt" for i in range(100)]
23 timeout = None
24
25 def get_score(scores: list[float]) -> float:
26 return sum(scores) / len(scores) * 100
27
28 # ------------------------------------ #
29
30 # optimizer -------------------------- #
31 # study_name
32 study_name = "test"
33
34 # direction: minimize / maximize
35 direction = "minimize"
36
37 # parallel_tester の cpu_count
38 n_jobs_parallel_tester = 127
39
40 # optuna の試行回数
41 n_trials = 50
42
43 # optuna の cpu_count
44 n_jobs_optuna = 1
45
46 def objective(trial: optuna.trial.Trial) -> tuple:
47 # 返り値のタプルはコマンドライン引数として渡す順番にする
48 start_temp = trial.suggest_float("start_temp", 1, 100, log=True)
49 k = trial.suggest_float("k", 0.0001, 1, log=True)
50 end_temp = start_temp * k
51 return (start_temp, end_temp)
52
53 # ------------------------------------ #
仕様¶
- class AHCSettings[source]¶
Bases:
object
AHCテスターの設定ファイル
https://github.com/titan-23/Library_py/tree/main/titan_pylib/ahc/readme.md
- compile_command = 'g++ ./main.cpp -O2 -std=c++20 -o a.out -I./../../../Library_cpp'¶
- direction = 'minimize'¶
- execute_command = './a.out'¶
- input_file_names = ['./in/0000.txt', './in/0001.txt', './in/0002.txt', './in/0003.txt', './in/0004.txt', './in/0005.txt', './in/0006.txt', './in/0007.txt', './in/0008.txt', './in/0009.txt', './in/0010.txt', './in/0011.txt', './in/0012.txt', './in/0013.txt', './in/0014.txt', './in/0015.txt', './in/0016.txt', './in/0017.txt', './in/0018.txt', './in/0019.txt', './in/0020.txt', './in/0021.txt', './in/0022.txt', './in/0023.txt', './in/0024.txt', './in/0025.txt', './in/0026.txt', './in/0027.txt', './in/0028.txt', './in/0029.txt', './in/0030.txt', './in/0031.txt', './in/0032.txt', './in/0033.txt', './in/0034.txt', './in/0035.txt', './in/0036.txt', './in/0037.txt', './in/0038.txt', './in/0039.txt', './in/0040.txt', './in/0041.txt', './in/0042.txt', './in/0043.txt', './in/0044.txt', './in/0045.txt', './in/0046.txt', './in/0047.txt', './in/0048.txt', './in/0049.txt', './in/0050.txt', './in/0051.txt', './in/0052.txt', './in/0053.txt', './in/0054.txt', './in/0055.txt', './in/0056.txt', './in/0057.txt', './in/0058.txt', './in/0059.txt', './in/0060.txt', './in/0061.txt', './in/0062.txt', './in/0063.txt', './in/0064.txt', './in/0065.txt', './in/0066.txt', './in/0067.txt', './in/0068.txt', './in/0069.txt', './in/0070.txt', './in/0071.txt', './in/0072.txt', './in/0073.txt', './in/0074.txt', './in/0075.txt', './in/0076.txt', './in/0077.txt', './in/0078.txt', './in/0079.txt', './in/0080.txt', './in/0081.txt', './in/0082.txt', './in/0083.txt', './in/0084.txt', './in/0085.txt', './in/0086.txt', './in/0087.txt', './in/0088.txt', './in/0089.txt', './in/0090.txt', './in/0091.txt', './in/0092.txt', './in/0093.txt', './in/0094.txt', './in/0095.txt', './in/0096.txt', './in/0097.txt', './in/0098.txt', './in/0099.txt']¶
- n_jobs_optuna = 1¶
- n_jobs_parallel_tester = 127¶
- n_trials = 50¶
- study_name = 'test'¶
- timeout = None¶