From 05ee34e3556c2c0336e672cc309e28fd2630232c Mon Sep 17 00:00:00 2001
From: mhz <cxyoz@outlook.com>
Date: Wed, 21 Aug 2024 10:40:00 +0200
Subject: [PATCH] update the script to use nasbench-201 api

---
 graph_dit/exp_201/barplog.png | Bin 0 -> 31136 bytes
 graph_dit/exp_201/main.py     |  77 ++++++++++++++++++----------------
 2 files changed, 40 insertions(+), 37 deletions(-)
 create mode 100644 graph_dit/exp_201/barplog.png

diff --git a/graph_dit/exp_201/barplog.png b/graph_dit/exp_201/barplog.png
new file mode 100644
index 0000000000000000000000000000000000000000..f59f79a4c5cb8d9c4e86997a7a4981e3b03b69fc
GIT binary patch
literal 31136
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
a*H!vvR6?UpE=<thnTOmCR{lBg?0*2#qQV;h

literal 0
HcmV?d00001

diff --git a/graph_dit/exp_201/main.py b/graph_dit/exp_201/main.py
index 2cad786..378f752 100644
--- a/graph_dit/exp_201/main.py
+++ b/graph_dit/exp_201/main.py
@@ -2,44 +2,45 @@
 import matplotlib.pyplot as plt
 import pandas as pd
 from nas_201_api import NASBench201API as API
-from naswot.score_networks import get_nasbench201_idx_score
-from naswot import datasets as dt
-from naswot import nasspace
+# from naswot.score_networks import get_nasbench201_idx_score
+# from naswot import datasets as dt
+# from naswot import nasspace
 
-class Args():
-    pass
-args = Args()
-args.trainval = True
-args.augtype = 'none'
-args.repeat = 1
-args.score = 'hook_logdet'
-args.sigma = 0.05
-args.nasspace = 'nasbench201'
-args.batch_size = 128
-args.GPU = '0'
-args.dataset = 'cifar10'
-args.api_loc = '/nfs/data3/hanzhang/nasbenchDiT/graph_dit/NAS-Bench-201-v1_1-096897.pth'
-args.data_loc = '../cifardata/'
-args.seed = 777
-args.init = ''
-args.save_loc = 'results'
-args.save_string = 'naswot'
-args.dropout = False
-args.maxofn = 1
-args.n_samples = 100
-args.n_runs = 500
-args.stem_out_channels = 16
-args.num_stacks = 3
-args.num_modules_per_stack = 3
-args.num_labels = 1
-searchspace = nasspace.get_search_space(args)
-train_loader = dt.get_data(args.dataset, args.data_loc, args.trainval, args.batch_size, args.augtype, args.repeat, args)
-device = torch.device('cuda:2')
+# class Args():
+#     pass
+# args = Args()
+# args.trainval = True
+# args.augtype = 'none'
+# args.repeat = 1
+# args.score = 'hook_logdet'
+# args.sigma = 0.05
+# args.nasspace = 'nasbench201'
+# args.batch_size = 128
+# args.GPU = '0'
+# args.dataset = 'cifar10'
+# args.api_loc = '/nfs/data3/hanzhang/nasbenchDiT/graph_dit/NAS-Bench-201-v1_1-096897.pth'
+# args.data_loc = '../cifardata/'
+# args.seed = 777
+# args.init = ''
+# args.save_loc = 'results'
+# args.save_string = 'naswot'
+# args.dropout = False
+# args.maxofn = 1
+# args.n_samples = 100
+# args.n_runs = 500
+# args.stem_out_channels = 16
+# args.num_stacks = 3
+# args.num_modules_per_stack = 3
+# args.num_labels = 1
+# searchspace = nasspace.get_search_space(args)
+# train_loader = dt.get_data(args.dataset, args.data_loc, args.trainval, args.batch_size, args.augtype, args.repeat, args)
+# device = torch.device('cuda:2')
+
+
+source = '/nfs/data3/hanzhang/nasbenchDiT/graph_dit/NAS-Bench-201-v1_1-096897.pth'
+api = API(source)
 
 
-         
-# source = '/nfs/data3/hanzhang/nasbenchDiT/graph_dit/NAS-Bench-201-v1_1-096897.pth'
-# api = API(source)
 
 
 
@@ -50,8 +51,10 @@ percentages = []
 len_201 = 15625
 
 for i in range(len_201):
-    percentage = get_nasbench201_idx_score(i, train_loader, searchspace, args, device)
-    percentages.append(percentage)
+    # percentage = get_nasbench201_idx_score(i, train_loader, searchspace, args, device)
+    results = api.query_by_index(i, 'cifar10')
+    result = results[111].get_eval('ori-test')
+    percentages.append(result)
 
 # 定义10%区间
 bins = [i for i in range(0, 101, 10)]