-
Notifications
You must be signed in to change notification settings - Fork 0
/
utils.py
67 lines (49 loc) · 1.87 KB
/
utils.py
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
import json
from tensorflow.python.keras.models import model_from_json
###########################################
########## SAVE/LOAD MODEL ##########
###########################################
# FUNCTIONS:
# 1- save_modeljson(model)
# 2- load_modeljson(filename, weights)
# Save model configuration and weights
def save_modeljson(model):
model_json = model.to_json()
with open("model_config.json", "w") as f:
f.write(model_json)
model.save_weights("model_weights.h5")
print("Saved model config and weights to disk")
# Loading the model configuration and its weights
def load_modeljson(filename, weights):
with open(filename) as f:
model = model_from_json(f.read())
model.load_weights(weights)
return model
###########################################
######### READ/VALIDATE JSON FILE #########
###########################################
# FUNCTIONS:
# 1- valid_json(file, new_file)
# 2- read_json(file)
# ------------------------------------------
# Le dataset récupéré avec miner.py n'a pas un format json valide,
# le fichier est une suite de listes contenant des chaînes.
# valid_json va transformer ce fichier en fichier json valide.
def valid_json(file):
new_file = "valid_" + file
try:
with open(file) as f, open(new_file, 'w', encoding='utf-8') as valid_file:
data = json.loads("[" + f.read().replace("}{", "},\n{") + "]") # magie
json.dump(data, valid_file, ensure_ascii=False, indent=4)
print("%s created." % new_file)
except IOError as e:
print(f"File not found: {e}")
return None
# Chargement du fichier json à partir de l'ordi
def read_json(file):
with open(file, 'r', encoding='utf-8') as f:
try:
return json.load(f)
except ValueError as e:
print(f"Invalid JSON file: {e}")
return None