質問編集履歴
1
もう少し詳しく書き直しました
test
CHANGED
File without changes
|
test
CHANGED
@@ -13,3 +13,69 @@
|
|
13
13
|
|
14
14
|
|
15
15
|
ここからは憶測で,まだ試していないのですが,もしかして単純に変数に保管せず,外部のファイルに保存し,あとで呼び出せば良かったりしますか?
|
16
|
+
|
17
|
+
|
18
|
+
|
19
|
+
[追記]
|
20
|
+
|
21
|
+
|
22
|
+
|
23
|
+
![イメージ説明](54dd544ede7e1904f3e6c2ff4d7b5708.png)
|
24
|
+
|
25
|
+
---
|
26
|
+
|
27
|
+
リスト内の要素数が上の数式に従います.
|
28
|
+
|
29
|
+
例えば,n=13では8192となります.
|
30
|
+
|
31
|
+
n=23(要素数:8388608)ではリスト内の要素数が膨大となり,メモリエラーを吐いてしまいます.
|
32
|
+
|
33
|
+
|
34
|
+
|
35
|
+
```Python3
|
36
|
+
|
37
|
+
def ps_j(folder_path,target_layer):
|
38
|
+
|
39
|
+
# import文省略
|
40
|
+
|
41
|
+
g_pearson = {}
|
42
|
+
|
43
|
+
g_spearman = {}
|
44
|
+
|
45
|
+
|
46
|
+
|
47
|
+
for i in range(len(target_layer)):
|
48
|
+
|
49
|
+
for layers in list(itertools.combinations(target_layer,i+1)):
|
50
|
+
|
51
|
+
layers = list(layers)
|
52
|
+
|
53
|
+
double_calc(folder_path, "temp_layer", layers)
|
54
|
+
|
55
|
+
g_pearson["{}".format(','.join(layers))],g_spearman["{}".format(','.join(layers))] = all_calc(folder_path,"temp_layer",["./{}/experiment/幾何平均/{}.json".format(folder_path,"temp_layer")],["{}.json".format("temp_layer")])
|
56
|
+
|
57
|
+
return g_pearson, g_spearman
|
58
|
+
|
59
|
+
|
60
|
+
|
61
|
+
|
62
|
+
|
63
|
+
target_layer = ['conv_1','conv_2', ..., 'conv_n']
|
64
|
+
|
65
|
+
folder_path = "mobilenet/202010221843"
|
66
|
+
|
67
|
+
ps, ss = ps_j(folder_path, target_layer)
|
68
|
+
|
69
|
+
|
70
|
+
|
71
|
+
```
|
72
|
+
|
73
|
+
【関数の概要】
|
74
|
+
|
75
|
+
double_calc:数値が羅列されたjsonファイルが作られる.戻り値はなし.
|
76
|
+
|
77
|
+
all_calc:戻り値はjsonファイルをもとにtarget_layerで指定された層の計算結果.
|
78
|
+
|
79
|
+
|
80
|
+
|
81
|
+
target_layer内のnが大きいほど,ps_j()内にあるg_pearson,g_spearmanの要素数が大きくなり,メモリエラーとなってしまいます.なにか解決方法がございましたらご教授お願いします.
|