如何强制 keras 使用 tensorflow GPU 后端

     2023-02-23     274

关键词:

【中文标题】如何强制 keras 使用 tensorflow GPU 后端【英文标题】:How to force keras to use tensorflow GPU backend 【发布时间】:2021-11-28 04:09:22 【问题描述】:

我知道这是热门问题之一,但到目前为止,没有一个解决方案对我有用。

我正在运行用tensorflow v1.13.1keras v2.2.4 编写的旧代码。我无法修改代码以运行最新的 tensorflow 版本。由于 keras 现在已合并到 tensorflow 中,因此我在通过 pip 安装特定版本的 tensorflow 和 keras 时遇到了问题。我发现 anaconda 可以选择使用上述版本安装 keras 和 tensorflow。所以,我安装了它

conda install -c conda-forge keras-gpu=2.2.4 tensorflow-gpu=1.13.1

它安装了版本并且一切正常。但它不使用 GPU,而是在 CPU 上运行。我注意到 anaconda 安装了 tensorflow 的 CPU 和 GPU 版本,我想这就是它默认为 CPU 版本的原因。所以,我的问题是,我怎样才能强制它使用 GPU 版本?

PS:有很多答案建议删除 tensorflow 的 CPU 版本。但是当我尝试删除 CPU 版本时,conda 会卸载包括 keras 在内的所有内容。所以,我认为应该有一种方法可以在安装 tensorflow-gpu 时使用它们。感谢您提供这方面的任何帮助!

【问题讨论】:

程序运行时是否出现无法加载xxx库之类的错误? 是的,我愿意。我尝试在 SO 中搜索这些错误,但没有一个解决方案有效。机器中已经安装了 Cuda 10.0。设置 LD_LIBRARY_PATH 也没有帮助 你能告诉我们究竟是什么错误吗? 请发布所有错误,没有它们我们无法真正帮助您。 【参考方案1】:

先安装 tensorflow,再安装 keras!

conda install tensorflow-gpu=1.13.1
conda install keras-gpu=2.2.4

【讨论】:

【参考方案2】:

让我先假设您使用的是 NVIDIA GPU。这很可能是由于您没有安装 CUDA 或版本错误。不过,请仔细检查以确保您还拥有最新的 NVIDIA 驱动程序。如果您查看this list,您可以看到 tensorflow_gpu-1.13.1 使用 CUDA 版本 10.0 和 CudNN 7.4。要通过 anaconda 安装它们,请使用以下命令。

conda install cudatoolkit==10.0.130

至于 cudnn 7.4,请查看 archive

【讨论】:

我在 conda 环境中安装了 cudatoolkit (10.0.130) 和 cudnn (7.6.5.32)。这还不够吗?我必须从 NVIDIA 网站单独下载 cudnn 吗?无论如何,在 conda 环境中也安装了这两个后,没有检测到 GPU。 @NagabhushanSN 通常 tf 对版本非常挑剔(到次要版本)所以让我们说如果您安装了 cuda 10.1.XXX 那么该版本的 tf 将无法工作,因为它需要 10.0.XXX .我认为 cudnn 也是如此,但我不确定。很高兴你知道了!

如何减少 Tensorflow/Keras 使用的 CPU 数量?

】如何减少Tensorflow/Keras使用的CPU数量?【英文标题】:HowcanIreducethenumberofCPUsusedbyTensorlfow/Keras?【发布时间】:2020-01-1509:56:59【问题描述】:我使用的是Tensorflow2.0的Kerasapi。在我的Keras模型上调用fit时,它使用所有可用的CPU。我想... 查看详情

keras 后端 theano/tensorflow

】keras后端theano/tensorflow【英文标题】:kerasbackendtheano/tensorflow【发布时间】:2018-04-2601:22:18【问题描述】:我在使用keras后端时遇到问题。我将tensorflow设置为后端。我检查了./keras/keras.json、activate.d和activate.sh以将tensorflow作为后... 查看详情

如何使用 Tensorflow 张量设置 Keras 层的输入?

】如何使用Tensorflow张量设置Keras层的输入?【英文标题】:HowtosettheinputofaKeraslayerwithaTensorflowtensor?【发布时间】:2017-07-1510:48:26【问题描述】:在我的previousquestion中,我使用Keras的Layer.set_input()将我的Tensorflow预处理输出张量连接... 查看详情

如何使用 tensorflow 在 keras 中禁用 GPU?

】如何使用tensorflow在keras中禁用GPU?【英文标题】:HowtodisableGPUinkeraswithtensorflow?【发布时间】:2017-08-2114:05:05【问题描述】:我想比较使用和不使用gpu的代码的处理时间。我的keras后端是Tensorflow。所以它会自动使用GPU。我使用ke... 查看详情

如何让 Keras 在 Anaconda 中使用 Tensorflow 后端?

】如何让Keras在Anaconda中使用Tensorflow后端?【英文标题】:HowtomakeKerasuseTensorflowbackendinAnaconda?【发布时间】:2017-09-0518:01:14【问题描述】:我已经在我的Anaconda环境中安装了tensorflow-gpu。他们都运作良好。现在我正在尝试使用Tensor... 查看详情

如何检查 keras 是不是使用 gpu 版本的 tensorflow?

】如何检查keras是不是使用gpu版本的tensorflow?【英文标题】:HowdoIcheckifkerasisusinggpuversionoftensorflow?如何检查keras是否使用gpu版本的tensorflow?【发布时间】:2017-11-1614:31:54【问题描述】:当我运行keras脚本时,我得到以下输出:Usin... 查看详情

如何使用 TensorFlow 后端屏蔽 Keras 中的损失函数?

】如何使用TensorFlow后端屏蔽Keras中的损失函数?【英文标题】:HowdoImaskalossfunctioninKeraswiththeTensorFlowbackend?【发布时间】:2018-04-1322:02:29【问题描述】:我正在尝试使用Keras的LSTM和TensorFlow后端来实现序列到序列的任务。输入是长... 查看详情

如何使用 TFRecord 数据集使 TensorFlow + Keras 快速运行?

】如何使用TFRecord数据集使TensorFlow+Keras快速运行?【英文标题】:HowdoyoumakeTensorFlow+KerasfastwithaTFRecorddataset?【发布时间】:2017-06-3007:20:09【问题描述】:什么是如何将TensorFlowTFRecord与Keras模型和tf.session.run()一起使用的示例,同时... 查看详情

如何确保 Keras 使用 GPU 和 tensorflow 后端?

】如何确保Keras使用GPU和tensorflow后端?【英文标题】:HowensurethatKerasisusingGPUwithtensorflowbackend?【发布时间】:2018-10-0200:17:01【问题描述】:我在Paperspace云基础架构上创建了虚拟笔记本,后端使用了TensorflowGPUP5000虚拟实例。当我开... 查看详情

如何使用 gpu 并行训练 tensorflow.keras 模型? TensorFlow 版本 2.5.0

】如何使用gpu并行训练tensorflow.keras模型?TensorFlow版本2.5.0【英文标题】:Howtotraintensorflow.kerasmodelsinparallelusinggpu?Tensorflowversion2.5.0【发布时间】:2021-09-2409:04:17【问题描述】:我有以下代码运行我在不同模块中拥有的自定义模型... 查看详情

如何检查 Keras 后端是 tensorflow 还是 theano

】如何检查Keras后端是tensorflow还是theano【英文标题】:HowtocheckifKerasbackendistensorflowortheano【发布时间】:2021-06-1512:33:57【问题描述】:我想检查后端keras正在使用的代码。是tensorflow还是theano?我怎样才能得到这个?代码here使用K._... 查看详情

如何在 Keras 模型中使用 TensorFlow 的采样 softmax 损失函数?

】如何在Keras模型中使用TensorFlow的采样softmax损失函数?【英文标题】:HowcanIuseTensorFlow\'ssampledsoftmaxlossfunctioninaKerasmodel?【发布时间】:2018-06-0204:59:06【问题描述】:我正在Keras中训练一个语言模型,并希望通过使用采样的softmax... 查看详情

如何在 keras 中使用 tensorflow ctc_batch_cost 函数?

】如何在keras中使用tensorflowctc_batch_cost函数?【英文标题】:Howdoyouusetensorflowctc_batch_costfunctionwithkeras?【发布时间】:2020-07-0201:23:21【问题描述】:我这几天一直在尝试在keras中实现CTC损失函数。不幸的是,我还没有找到一种适合... 查看详情

如何在 Windows 上降级 keras 和 tensorflow 版本?

】如何在Windows上降级keras和tensorflow版本?【英文标题】:Howtodowngradekerasandtensorflowversiononwindows?【发布时间】:2018-11-0318:04:24【问题描述】:我正在尝试运行我在互联网上找到的名为FgSegNet的代码,代码作者提到他使用Python3.6.3、... 查看详情

使用 TensorFlow 作为后端的 keras 出错

】使用TensorFlow作为后端的keras出错【英文标题】:ErrorwithkerasusingTensorFlowasbackend【发布时间】:2020-05-0711:21:44【问题描述】:我的项目刚开始,我刚刚导入了我需要的包:fromkeras.modelsimportSequentialfromkeras.layersimportDense显然TensorFlow... 查看详情

如何使用 tensorflow 或 keras 重新训练具有新子集的线性回归模型?

】如何使用tensorflow或keras重新训练具有新子集的线性回归模型?【英文标题】:Howtodoretrainalinearregressionmodelwithanewsubsetusingtensorfloworkeras?【发布时间】:2021-03-2421:14:59【问题描述】:我有100Gb的数据并将其分成小的子集。我想使用... 查看详情

如何在 Tensorflow 2.0 + Keras 中进行并行 GPU 推理?

】如何在Tensorflow2.0+Keras中进行并行GPU推理?【英文标题】:HowtodoparallelGPUinferencinginTensorflow2.0+Keras?【发布时间】:2020-03-1523:49:56【问题描述】:让我们从我刚开始接触TensorFlow和一般深度学习的前提开始。我有使用tf.Model.train()、... 查看详情

如何在 Keras / Tensorflow 中将(无,)批量维度重新引入张量?

】如何在Keras/Tensorflow中将(无,)批量维度重新引入张量?【英文标题】:Howtoreintroduce(None,)batchdimensiontotensorinKeras/Tensorflow?【发布时间】:2019-08-1722:18:19【问题描述】:我正在尝试使用与Google机器学习引擎兼容的Keras创建tensorfl... 查看详情