RuntimeError: get_session is not available.[keras中K.get_session()无法使用]【tensorflow2.0】

本文详细介绍了在TensorFlow2.0环境下,由于get_session()函数不可用,如何通过tf.compat.v1.Session()进行替代,以实现变量初始化等操作,确保代码在新版本中正常运行。

RuntimeError: get_session is not available when using TensorFlow 2.0.

import tensorflow as tf
from keras import backend as K

在tensorflow2.0中无法使用get_session()函数
若直接运行以下代码会报错

 K.get_session().run(tf.variables_initializer([max_boxes_tensor])) #初始化变量max_boxes_tensor

解决办法

在tensorflow2.0中用 tf.compat.v1.Session()代替
上述代码改成以下方式即可

tf.compat.v1.Session().run(tf.compat.v1.variables_initializer([max_boxes_tensor]))
2025-09-17 20:01:58.401840: W tensorflow/compiler/mlir/tools/kernel_gen/tf_gpu_runtime_wrappers.cc:40] &#39;cuModuleLoadData(&module, data)&#39; failed with &#39;CUDA_ERROR_INVALID_PTX&#39; 2025-09-17 20:01:58.401897: W tensorflow/compiler/mlir/tools/kernel_gen/tf_gpu_runtime_wrappers.cc:40] &#39;cuModuleGetFunction(&function, module, kernel_name)&#39; failed with &#39;CUDA_ERROR_INVALID_HANDLE&#39; 2025-09-17 20:01:58.401939: W tensorflow/core/framework/op_kernel.cc:1827] INTERNAL: &#39;cuLaunchKernel(function, gridX, gridY, gridZ, blockX, blockY, blockZ, 0, reinterpret_cast<CUstream>(stream), params, nullptr)&#39; failed with &#39;CUDA_ERROR_INVALID_HANDLE&#39; 2025-09-17 20:01:58.401976: W tensorflow/core/framework/local_rendezvous.cc:404] Local rendezvous is aborting with status: INTERNAL: &#39;cuLaunchKernel(function, gridX, gridY, gridZ, blockX, blockY, blockZ, 0, reinterpret_cast<CUstream>(stream), params, nullptr)&#39; failed with &#39;CUDA_ERROR_INVALID_HANDLE&#39; [2025-09-17 20:01:58,402][pinnstf2.utils.utils][ERROR] - Traceback (most recent call last): File "/home/jfq/anaconda3/envs/pinn/lib/python3.10/site-packages/pinnstf2/utils/utils.py", line 72, in wrap metric_dict, object_dict = task_func( File "/home/jfq/anaconda3/envs/pinn/lib/python3.10/site-packages/pinnstf2/train.py", line 122, in train model: PINNModule = hydra.utils.instantiate(cfg.model)( File "/home/jfq/anaconda3/envs/pinn/lib/python3.10/site-packages/pinnstf2/models/pinn_module.py", line 56, in __init__ self.opt = optimizer() File "/home/jfq/anaconda3/envs/pinn/lib/python3.10/site-packages/keras/src/optimizers/adam.py", line 62, in __init__ super().__init__( File "/home/jfq/anaconda3/envs/pinn/lib/python3.10/site-packages/keras/src/backend/tensorflow/optimizer.py", line 21, in __init__ super().__init__(*args, **kwargs) File "/home/jfq/anaconda3/envs/pinn/lib/python3.10/site-packages/keras/src/optimizers/base_optimizer.py", line 158, in __init__ iterations = backend.Variable( File "/home/jfq/anaconda3/envs/pinn/lib/python3.10/site-packages/keras/src/backend/common/variables.py", line 153, in __init__ initializer = self._convert_to_tensor(initializer, dtype=dtype) File "/home/jfq/anaconda3/envs/pinn/lib/python3.10/site-packages/keras/src/backend/tensorflow/core.py", line 69, in _convert_to_tensor return convert_to_tensor(value, dtype=dtype) File "/home/jfq/anaconda3/envs/pinn/lib/python3.10/site-packages/keras/src/backend/tensorflow/core.py", line 139, in convert_to_tensor return tf.cast(x, dtype) File "/home/jfq/anaconda3/envs/pinn/lib/python3.10/site-packages/tensorflow/python/util/traceback_utils.py", line 153, in error_handler raise e.with_traceback(filtered_tb) from None File "/home/jfq/anaconda3/envs/pinn/lib/python3.10/site-packages/tensorflow/python/framework/ops.py", line 5983, in raise_from_not_ok_status raise core._status_to_exception(e) from None # pylint: disable=protected-access tensorflow.python.framework.errors_impl.InternalError: {{function_node __wrapped__Cast_device_/job:localhost/replica:0/task:0/device:GPU:0}} &#39;cuLaunchKernel(function, gridX, gridY, gridZ, blockX, blockY, blockZ, 0, reinterpret_cast<CUstream>(stream), params, nullptr)&#39; failed with &#39;CUDA_ERROR_INVALID_HANDLE&#39; [Op:Cast] name: [2025-09-17 20:01:58,407][pinnstf2.utils.utils][INFO] - Output dir: /home/jfq/pinns-tf2-main/pinns-tf2-main/examples/yuanzhu/examples/yuanzhu/outputs/20-01-53 Error executing job with overrides: [] Traceback (most recent call last): File "/home/jfq/pinns-tf2-main/pinns-tf2-main/examples/yuanzhu/train.py", line 162, in main metric_dict, _ = pinnstf2.train( File "/home/jfq/anaconda3/envs/pinn/lib/python3.10/site-packages/pinnstf2/utils/utils.py", line 84, in wrap raise ex File "/home/jfq/anaconda3/envs/pinn/lib/python3.10/site-packages/pinnstf2/utils/utils.py", line 72, in wrap metric_dict, object_dict = task_func( File "/home/jfq/anaconda3/envs/pinn/lib/python3.10/site-packages/pinnstf2/train.py", line 122, in train model: PINNModule = hydra.utils.instantiate(cfg.model)( File "/home/jfq/anaconda3/envs/pinn/lib/python3.10/site-packages/pinnstf2/models/pinn_module.py", line 56, in __init__ self.opt = optimizer() File "/home/jfq/anaconda3/envs/pinn/lib/python3.10/site-packages/keras/src/optimizers/adam.py", line 62, in __init__ super().__init__( File "/home/jfq/anaconda3/envs/pinn/lib/python3.10/site-packages/keras/src/backend/tensorflow/optimizer.py", line 21, in __init__ super().__init__(*args, **kwargs) File "/home/jfq/anaconda3/envs/pinn/lib/python3.10/site-packages/keras/src/optimizers/base_optimizer.py", line 158, in __init__ iterations = backend.Variable( File "/home/jfq/anaconda3/envs/pinn/lib/python3.10/site-packages/keras/src/backend/common/variables.py", line 153, in __init__ initializer = self._convert_to_tensor(initializer, dtype=dtype) File "/home/jfq/anaconda3/envs/pinn/lib/python3.10/site-packages/keras/src/backend/tensorflow/core.py", line 69, in _convert_to_tensor return convert_to_tensor(value, dtype=dtype) File "/home/jfq/anaconda3/envs/pinn/lib/python3.10/site-packages/keras/src/backend/tensorflow/core.py", line 139, in convert_to_tensor return tf.cast(x, dtype) File "/home/jfq/anaconda3/envs/pinn/lib/python3.10/site-packages/tensorflow/python/util/traceback_utils.py", line 153, in error_handler raise e.with_traceback(filtered_tb) from None File "/home/jfq/anaconda3/envs/pinn/lib/python3.10/site-packages/tensorflow/python/framework/ops.py", line 5983, in raise_from_not_ok_status raise core._status_to_exception(e) from None # pylint: disable=protected-access tensorflow.python.framework.errors_impl.InternalError: {{function_node __wrapped__Cast_device_/job:localhost/replica:0/task:0/device:GPU:0}} &#39;cuLaunchKernel(function, gridX, gridY, gridZ, blockX, blockY, blockZ, 0, reinterpret_cast<CUstream>(stream), params, nullptr)&#39; failed with &#39;CUDA_ERROR_INVALID_HANDLE&#39; [Op:Cast] name: Set the environment variable HYDRA_FULL_ERROR=1 for a complete stack trace.
最新发布
09-18
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值