Source code for common.graph.nn_graph_manager
import os
import datetime
[docs]class NeuralNetModel :
variable = {}
dict = {}
graph = {}
sess = {}
tf = {}
init = {}
saver = {}
[docs] def check_duplicate(key, data, target, extra=None):
"""
check duplicate nn_id for none necessary memory use
:param key: insert key
:param data: inert data
:param target: target variable to update
:param extra: if there is extra action to do
:return boolean : always return True
"""
try :
dicts = list(map(lambda x : x.split('__')[0] ,list(target.keys())))
for dict in dicts :
if key.split('__')[0] == dict :
if (extra == 'sess') :
target[key].close()
del target[key]
except Exception as e :
pass
finally :
target[key] = data
return True
[docs] def set_variable(key, data):
NeuralNetModel.check_duplicate(key, data, NeuralNetModel.variable)
[docs] def set_dict(key, data):
NeuralNetModel.check_duplicate(key, data, NeuralNetModel.dict)
[docs] def set_graph(key, data):
NeuralNetModel.check_duplicate(key, data, NeuralNetModel.graph)
[docs] def set_sess(key, data):
NeuralNetModel.check_duplicate(key, data, NeuralNetModel.sess, extra='sess')
[docs] def set_tf(key, data):
NeuralNetModel.check_duplicate(key, data, NeuralNetModel.tf)
[docs] def set_init(key, data):
NeuralNetModel.check_duplicate(key, data, NeuralNetModel.init)
[docs] def set_saver(key, data):
NeuralNetModel.check_duplicate(key, data, NeuralNetModel.saver)