擷取keras已經建立的session:
from keras import backend as K
sess = K.get_session()
給keras設定傳遞一個建立好的session:
K.set_session(sess)
參考:
https://stackoverflow.com/questions/53653303/where-is-the-tensorflow-session-in-keras
正常使用keras建立好的session:
傳遞給compile的**kwargs将會被傳遞給session:
from tensorflow.core.protobuf import config_pb2
with session.Session() as sess:
sess.run(c, options=config_pb2.RunOptions(
report_tensor_allocations_upon_oom=True))
可以被寫成:
import tensorflow as tf
run_opts = tf.RunOptions(report_tensor_allocations_upon_oom = True)
model.compile(loss = "...", optimizer = "...", metrics = "..", options = run_opts)
參考:https://github.com/tensorflow/tensorflow/issues/17076
https://stackoverflow.com/questions/49665757/how-to-add-report-tensor-allocations-upon-oom-to-runoptions-in-keras