-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathutils.py
More file actions
41 lines (32 loc) · 1.18 KB
/
Copy pathutils.py
File metadata and controls
41 lines (32 loc) · 1.18 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#encoding=utf-8
#author: liang xinyan
#email: liangxinyan48@163.com
import tensorflow as tf
import os
import config
paras = config.get_configs()
data_name = paras['data_name']
def get_nb_view_by_individal_code(code):
nb_view = (len(code) + 1) // 2 # 视图个数
return nb_view
def write_result_file(str, fn='result.csv'):
with open(fn, 'a+') as f:
f.write(str)
f.write('\n')
f.flush()
def load_result(result_fn=os.path.join(data_name+'_view_result', paras['result_save_dir'], 'result.csv')):
shared_code_acc = {}
shared_code_acc_set = set()
with open(result_fn) as f:
for item in f.readlines():
items = item.strip().split(',')
if items[0] not in shared_code_acc_set:
shared_code_acc[items[0]] = float(items[1])
return shared_code_acc
def list2str(list1):
return '-'.join([str(i) for i in list1])
def sign_sqrt(x):
# mfb_sign_sqrt = torch.sqrt(F.relu(mfb_out)) - torch.sqrt(F.relu(-mfb_out))
return tf.keras.backend.sign(x) * tf.keras.backend.sqrt(tf.keras.backend.abs(x) + 1e-10)
def l2_norm(x):
return tf.keras.backend.l2_normalize(x, axis=-1)